-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #137 from yfguo/team-coll
Add team-based collective
- Loading branch information
Showing
31 changed files
with
1,073 additions
and
356 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/* The following lines are automatically generated. DO NOT EDIT. */ | ||
/* TPL_BLOCK_START */ | ||
int shmem_TYPENAME_broadcast(shmem_team_t team, TYPE * dest, const TYPE * source, size_t nelems, | ||
int PE_root); | ||
int shmem_TYPENAME_collect(shmem_team_t team, TYPE * dest, const TYPE * source, size_t nelems); | ||
int shmem_TYPENAME_fcollect(shmem_team_t team, TYPE * dest, const TYPE * source, size_t nelems); | ||
int shmem_TYPENAME_alltoall(shmem_team_t team, TYPE * dest, const TYPE * source, size_t nelems); | ||
int shmem_TYPENAME_alltoalls(shmem_team_t team, TYPE * dest, const TYPE * source, ptrdiff_t dst, | ||
ptrdiff_t sst, size_t nelems); | ||
/* TPL_BLOCK_END */ | ||
|
||
/* *INDENT-OFF* */ | ||
#if OSHMPI_HAVE_C11 | ||
#define shmem_broadcast(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_broadcast, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
|
||
#define shmem_collect(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_collect, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
|
||
#define shmem_fcollect(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_fcollect, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
|
||
#define shmem_alltoall(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_alltoall, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
|
||
#define shmem_alltoalls(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_alltoalls, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
#endif /* OSHMPI_HAVE_C11 */ | ||
/* *INDENT-ON* */ |
3 changes: 2 additions & 1 deletion
3
include/shmem_reduce_bitws_typed.h.tpl → include/shmem_reduce_bitws_aset_typed.h.tpl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,10 @@ | ||
/* The following lines are automatically generated. DO NOT EDIT. */ | ||
/* TPL_BLOCK_START */ | ||
/* depreciated APIs */ | ||
void shmem_TYPENAME_and_to_all(TYPE * dest, const TYPE * source, int nreduce, int PE_start, | ||
int logPE_stride, int PE_size, TYPE * pWrk, long *pSync); | ||
void shmem_TYPENAME_or_to_all(TYPE * dest, const TYPE * source, int nreduce, int PE_start, | ||
int logPE_stride, int PE_size, TYPE * pWrk, long *pSync); | ||
void shmem_TYPENAME_xor_to_all(TYPE * dest, const TYPE * source, int nreduce, int PE_start, | ||
int logPE_stride, int PE_size, TYPE * pWrk, long *pSync); | ||
/* TPL_BLOCK_END */ | ||
/* TPL_BLOCK_END */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/* The following lines are automatically generated. DO NOT EDIT. */ | ||
/* TPL_BLOCK_START */ | ||
int shmem_TYPENAME_and_reduce(shmem_team_t team, TYPE * dest, const TYPE * source, int nreduce); | ||
int shmem_TYPENAME_or_reduce(shmem_team_t team, TYPE * dest, const TYPE * source, int nreduce); | ||
int shmem_TYPENAME_xor_reduce(shmem_team_t team, TYPE * dest, const TYPE * source, int nreduce); | ||
/* TPL_BLOCK_END */ | ||
|
||
/* *INDENT-OFF* */ | ||
#if OSHMPI_HAVE_C11 | ||
#define shmem_and_reduce(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_and_reduce, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
|
||
#define shmem_or_reduce(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_or_reduce, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
|
||
#define shmem_xor_reduce(...) \ | ||
_Generic(OSHMPI_C11_TEAM_VAL(OSHMPI_C11_ARG0(__VA_ARGS__)), \ | ||
shmem_team_t: _Generic((OSHMPI_C11_ARG1(__VA_ARGS__)), \ | ||
/* TPL_C11_BLOCK_START */ | ||
TYPE*: shmem_TYPENAME_xor_reduce, \ | ||
/* TPL_C11_BLOCK_END */ | ||
default: shmem_c11_type_ignore \ | ||
), \ | ||
default: shmem_c11_type_ignore \ | ||
)(__VA_ARGS__) | ||
#endif /* OSHMPI_HAVE_C11 */ | ||
/* *INDENT-ON* */ |
3 changes: 2 additions & 1 deletion
3
include/shmem_reduce_minmax_typed.h.tpl → include/shmem_reduce_minmax_aset_typed.h.tpl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,8 @@ | ||
/* The following lines are automatically generated. DO NOT EDIT. */ | ||
/* TPL_BLOCK_START */ | ||
/* deprecated APIs */ | ||
void shmem_TYPENAME_min_to_all(TYPE * dest, const TYPE * source, int nreduce, int PE_start, | ||
int logPE_stride, int PE_size, TYPE * pWrk, long *pSync); | ||
void shmem_TYPENAME_max_to_all(TYPE * dest, const TYPE * source, int nreduce, int PE_start, | ||
int logPE_stride, int PE_size, TYPE * pWrk, long *pSync); | ||
/* TPL_BLOCK_END */ | ||
/* TPL_BLOCK_END */ |
Oops, something went wrong.