Changes between Version 9 and Version 10 of library_barrier
- Timestamp:
- Feb 11, 2015, 6:46:01 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
library_barrier
v9 v10 13 13 14 14 The available functions are: 15 * '''barrier_init ( giet_barrier_t * barrier, unsigned int ntasks )'''16 * '''barrier_wait ( giet_barrier_t * barrier )'''15 * '''barrier_init'''( giet_barrier_t * barrier, unsigned int ntasks ) 16 * '''barrier_wait'''( giet_barrier_t * barrier ) 17 17 18 18 The ''barrier'' argument is a pointer on a ''giet_barrier_t'' object. The ''ntasks'' argument is the number of expected tasks. … … 22 22 == B) Distributed Barrier == 23 23 24 The ''giet_sbt_barrier_t'' can be used in multi-clusters architectures, and is implemented as a physically distributed Sliced-Binary-Tree (SBT). 25 The SBT topology is completely defined by the number of involved clusters, with the following constraints: 26 * The number of involved clusters must be a power of 2. 27 * The involved clusters form a mesh[X][Y] where (X = Y) or (X = 2*Y). 24 The ''giet_sbt_barrier_t'' can be used in multi-clusters architectures, and is implemented as a - physically distributed - Synchronisation-Quad-Tree (SQT). The SQT topology is completely defined by the (x_size / y_size) parameters, with the following constraints: 25 * The involved clusters form a mesh(x_size * y_size). 28 26 * The lower left involved cluster is cluster(0,0). 29 * All involved clusters must contain a heap [x][y]vseg declared in the mapping.30 * The number of involved tasks in a given cluster is the same for all clusters27 * All involved clusters must contain a heap_x_y vseg declared in the mapping. 28 * The number of involved tasks in a given cluster is the same for all involved clusters. 31 29 32 30 The available functions are: 33 * '''s bt_barrier_init( giet_sbt_barrier_t * barrier, unsigned int nclusters, unsigned int ntasks )'''34 * '''s bt_barrier_wait( giet_sbt_barrier_t * barrier )'''31 * '''sqt_barrier_init'''( giet_sbt_barrier_t * barrier, unsigned int x_size, unsigned int y_size, unsigned int ntasks ) 32 * '''sqt_barrier_wait'''( giet_sbt_barrier_t * barrier ) 35 33 36 34 The '''barrier''' argument is a pointer on a ''giet_barrier_t'' object. 37 The '''nclusters''' argument is the number of involved clusters. 35 The '''x_size''' argument is the number of clusters in a row. 36 The '''y_size''' argument is the number of clusters in a column. 38 37 The '''ntasks''' argument is the number of expected tasks in a single cluster. 39 40 The sbt_barrier_init() contains a system call, but the sbt_barrier_wait() does not.41 38 42 39 == C) Barrier Initialization ==