Skip to content

Commit 7938a40

Browse files
author
Sergey Oblomov
committed
OSHMEM/AMO: added int/uint/32/64 atomics calls
- added int/uint/32/64 atomics calls - added SHMEM_SYNC_SIZE macro Signed-off-by: Sergey Oblomov <[email protected]>
1 parent 748d8b6 commit 7938a40

File tree

13 files changed

+464
-67
lines changed

13 files changed

+464
-67
lines changed

oshmem/include/pshmem.h

Lines changed: 149 additions & 49 deletions
Large diffs are not rendered by default.

oshmem/include/pshmemx.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,6 @@ OSHMEM_DECLSPEC void pshmemx_int64_prod_to_all(int64_t *target, const int64_t *s
218218

219219
#define pshmem_int32_wait pshmemx_int32_wait
220220
#define pshmem_int64_wait pshmemx_int64_wait
221-
#define pshmem_int32_wait_until pshmemx_int32_wait_until
222-
#define pshmem_int64_wait_until pshmemx_int64_wait_until
223221

224222
#define pshmem_int16_and_to_all pshmemx_int16_and_to_all
225223
#define pshmem_int32_and_to_all pshmemx_int32_and_to_all

oshmem/include/shmem.h.in

Lines changed: 92 additions & 12 deletions
Large diffs are not rendered by default.

oshmem/include/shmemx.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,6 @@ OSHMEM_DECLSPEC void shmemx_int64_prod_to_all(int64_t *target, const int64_t *so
204204

205205
#define shmem_int32_wait shmemx_int32_wait
206206
#define shmem_int64_wait shmemx_int64_wait
207-
#define shmem_int32_wait_until shmemx_int32_wait_until
208-
#define shmem_int64_wait_until shmemx_int64_wait_until
209207

210208
#define shmem_int16_and_to_all shmemx_int16_and_to_all
211209
#define shmem_int32_and_to_all shmemx_int32_and_to_all

oshmem/shmem/c/profile/defines.h

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,13 +532,21 @@
532532
#define shmem_uint_atomic_fetch_and pshmem_uint_atomic_fetch_and
533533
#define shmem_ulong_atomic_fetch_and pshmem_ulong_atomic_fetch_and
534534
#define shmem_ulonglong_atomic_fetch_and pshmem_ulonglong_atomic_fetch_and
535+
#define shmem_int32_atomic_fetch_and pshmem_int32_atomic_fetch_and
536+
#define shmem_int64_atomic_fetch_and pshmem_int64_atomic_fetch_and
537+
#define shmem_uint32_atomic_fetch_and pshmem_uint32_atomic_fetch_and
538+
#define shmem_uint64_atomic_fetch_and pshmem_uint64_atomic_fetch_and
535539

536540
#define shmem_ctx_int_atomic_fetch_and pshmem_ctx_int_atomic_fetch_and
537541
#define shmem_ctx_long_atomic_fetch_and pshmem_ctx_long_atomic_fetch_and
538542
#define shmem_ctx_longlong_atomic_fetch_and pshmem_ctx_longlong_atomic_fetch_and
539543
#define shmem_ctx_uint_atomic_fetch_and pshmem_ctx_uint_atomic_fetch_and
540544
#define shmem_ctx_ulong_atomic_fetch_and pshmem_ctx_ulong_atomic_fetch_and
541545
#define shmem_ctx_ulonglong_atomic_fetch_and pshmem_ctx_ulonglong_atomic_fetch_and
546+
#define shmem_ctx_int32_atomic_fetch_and pshmem_ctx_int32_atomic_fetch_and
547+
#define shmem_ctx_int64_atomic_fetch_and pshmem_ctx_int64_atomic_fetch_and
548+
#define shmem_ctx_uint32_atomic_fetch_and pshmem_ctx_uint32_atomic_fetch_and
549+
#define shmem_ctx_uint64_atomic_fetch_and pshmem_ctx_uint64_atomic_fetch_and
542550

543551
#define shmemx_int32_atomic_fetch_and pshmemx_int32_atomic_fetch_and
544552
#define shmemx_int64_atomic_fetch_and pshmemx_int64_atomic_fetch_and
@@ -552,13 +560,21 @@
552560
#define shmem_uint_atomic_fetch_or pshmem_uint_atomic_fetch_or
553561
#define shmem_ulong_atomic_fetch_or pshmem_ulong_atomic_fetch_or
554562
#define shmem_ulonglong_atomic_fetch_or pshmem_ulonglong_atomic_fetch_or
563+
#define shmem_int32_atomic_fetch_or pshmem_int32_atomic_fetch_or
564+
#define shmem_int64_atomic_fetch_or pshmem_int64_atomic_fetch_or
565+
#define shmem_uint32_atomic_fetch_or pshmem_uint32_atomic_fetch_or
566+
#define shmem_uint64_atomic_fetch_or pshmem_uint64_atomic_fetch_or
555567

556568
#define shmem_ctx_int_atomic_fetch_or pshmem_ctx_int_atomic_fetch_or
557569
#define shmem_ctx_long_atomic_fetch_or pshmem_ctx_long_atomic_fetch_or
558570
#define shmem_ctx_longlong_atomic_fetch_or pshmem_ctx_longlong_atomic_fetch_or
559571
#define shmem_ctx_uint_atomic_fetch_or pshmem_ctx_uint_atomic_fetch_or
560572
#define shmem_ctx_ulong_atomic_fetch_or pshmem_ctx_ulong_atomic_fetch_or
561573
#define shmem_ctx_ulonglong_atomic_fetch_or pshmem_ctx_ulonglong_atomic_fetch_or
574+
#define shmem_ctx_int32_atomic_fetch_or pshmem_ctx_int32_atomic_fetch_or
575+
#define shmem_ctx_int64_atomic_fetch_or pshmem_ctx_int64_atomic_fetch_or
576+
#define shmem_ctx_uint32_atomic_fetch_or pshmem_ctx_uint32_atomic_fetch_or
577+
#define shmem_ctx_uint64_atomic_fetch_or pshmem_ctx_uint64_atomic_fetch_or
562578

563579
#define shmemx_int32_atomic_fetch_or pshmemx_int32_atomic_fetch_or
564580
#define shmemx_int64_atomic_fetch_or pshmemx_int64_atomic_fetch_or
@@ -572,13 +588,21 @@
572588
#define shmem_uint_atomic_fetch_xor pshmem_uint_atomic_fetch_xor
573589
#define shmem_ulong_atomic_fetch_xor pshmem_ulong_atomic_fetch_xor
574590
#define shmem_ulonglong_atomic_fetch_xor pshmem_ulonglong_atomic_fetch_xor
591+
#define shmem_int32_atomic_fetch_xor pshmem_int32_atomic_fetch_xor
592+
#define shmem_int64_atomic_fetch_xor pshmem_int64_atomic_fetch_xor
593+
#define shmem_uint32_atomic_fetch_xor pshmem_uint32_atomic_fetch_xor
594+
#define shmem_uint64_atomic_fetch_xor pshmem_uint64_atomic_fetch_xor
575595

576596
#define shmem_ctx_int_atomic_fetch_xor pshmem_ctx_int_atomic_fetch_xor
577597
#define shmem_ctx_long_atomic_fetch_xor pshmem_ctx_long_atomic_fetch_xor
578598
#define shmem_ctx_longlong_atomic_fetch_xor pshmem_ctx_longlong_atomic_fetch_xor
579599
#define shmem_ctx_uint_atomic_fetch_xor pshmem_ctx_uint_atomic_fetch_xor
580600
#define shmem_ctx_ulong_atomic_fetch_xor pshmem_ctx_ulong_atomic_fetch_xor
581601
#define shmem_ctx_ulonglong_atomic_fetch_xor pshmem_ctx_ulonglong_atomic_fetch_xor
602+
#define shmem_ctx_int32_atomic_fetch_xor pshmem_ctx_int32_atomic_fetch_xor
603+
#define shmem_ctx_int64_atomic_fetch_xor pshmem_ctx_int64_atomic_fetch_xor
604+
#define shmem_ctx_uint32_atomic_fetch_xor pshmem_ctx_uint32_atomic_fetch_xor
605+
#define shmem_ctx_uint64_atomic_fetch_xor pshmem_ctx_uint64_atomic_fetch_xor
582606

583607
#define shmemx_int32_atomic_fetch_xor pshmemx_int32_atomic_fetch_xor
584608
#define shmemx_int64_atomic_fetch_xor pshmemx_int64_atomic_fetch_xor
@@ -664,13 +688,21 @@
664688
#define shmem_uint_atomic_and pshmem_uint_atomic_and
665689
#define shmem_ulong_atomic_and pshmem_ulong_atomic_and
666690
#define shmem_ulonglong_atomic_and pshmem_ulonglong_atomic_and
691+
#define shmem_int32_atomic_and pshmem_int32_atomic_and
692+
#define shmem_int64_atomic_and pshmem_int64_atomic_and
693+
#define shmem_uint32_atomic_and pshmem_uint32_atomic_and
694+
#define shmem_uint64_atomic_and pshmem_uint64_atomic_and
667695

668696
#define shmem_ctx_int_atomic_and pshmem_ctx_int_atomic_and
669697
#define shmem_ctx_long_atomic_and pshmem_ctx_long_atomic_and
670698
#define shmem_ctx_longlong_atomic_and pshmem_ctx_longlong_atomic_and
671699
#define shmem_ctx_uint_atomic_and pshmem_ctx_uint_atomic_and
672700
#define shmem_ctx_ulong_atomic_and pshmem_ctx_ulong_atomic_and
673701
#define shmem_ctx_ulonglong_atomic_and pshmem_ctx_ulonglong_atomic_and
702+
#define shmem_ctx_int32_atomic_and pshmem_ctx_int32_atomic_and
703+
#define shmem_ctx_int64_atomic_and pshmem_ctx_int64_atomic_and
704+
#define shmem_ctx_uint32_atomic_and pshmem_ctx_uint32_atomic_and
705+
#define shmem_ctx_uint64_atomic_and pshmem_ctx_uint64_atomic_and
674706

675707
#define shmemx_int32_atomic_and pshmemx_int32_atomic_and
676708
#define shmemx_int64_atomic_and pshmemx_int64_atomic_and
@@ -685,13 +717,21 @@
685717
#define shmem_uint_atomic_or pshmem_uint_atomic_or
686718
#define shmem_ulong_atomic_or pshmem_ulong_atomic_or
687719
#define shmem_ulonglong_atomic_or pshmem_ulonglong_atomic_or
720+
#define shmem_int32_atomic_or pshmem_int32_atomic_or
721+
#define shmem_int64_atomic_or pshmem_int64_atomic_or
722+
#define shmem_uint32_atomic_or pshmem_uint32_atomic_or
723+
#define shmem_uint64_atomic_or pshmem_uint64_atomic_or
688724

689725
#define shmem_ctx_int_atomic_or pshmem_ctx_int_atomic_or
690726
#define shmem_ctx_long_atomic_or pshmem_ctx_long_atomic_or
691727
#define shmem_ctx_longlong_atomic_or pshmem_ctx_longlong_atomic_or
692728
#define shmem_ctx_uint_atomic_or pshmem_ctx_uint_atomic_or
693729
#define shmem_ctx_ulong_atomic_or pshmem_ctx_ulong_atomic_or
694730
#define shmem_ctx_ulonglong_atomic_or pshmem_ctx_ulonglong_atomic_or
731+
#define shmem_ctx_int32_atomic_or pshmem_ctx_int32_atomic_or
732+
#define shmem_ctx_int64_atomic_or pshmem_ctx_int64_atomic_or
733+
#define shmem_ctx_uint32_atomic_or pshmem_ctx_uint32_atomic_or
734+
#define shmem_ctx_uint64_atomic_or pshmem_ctx_uint64_atomic_or
695735

696736
#define shmemx_int32_atomic_or pshmemx_int32_atomic_or
697737
#define shmemx_int64_atomic_or pshmemx_int64_atomic_or
@@ -706,13 +746,21 @@
706746
#define shmem_uint_atomic_xor pshmem_uint_atomic_xor
707747
#define shmem_ulong_atomic_xor pshmem_ulong_atomic_xor
708748
#define shmem_ulonglong_atomic_xor pshmem_ulonglong_atomic_xor
749+
#define shmem_int32_atomic_xor pshmem_int32_atomic_xor
750+
#define shmem_int64_atomic_xor pshmem_int64_atomic_xor
751+
#define shmem_uint32_atomic_xor pshmem_uint32_atomic_xor
752+
#define shmem_uint64_atomic_xor pshmem_uint64_atomic_xor
709753

710754
#define shmem_ctx_int_atomic_xor pshmem_ctx_int_atomic_xor
711755
#define shmem_ctx_long_atomic_xor pshmem_ctx_long_atomic_xor
712756
#define shmem_ctx_longlong_atomic_xor pshmem_ctx_longlong_atomic_xor
713757
#define shmem_ctx_uint_atomic_xor pshmem_ctx_uint_atomic_xor
714758
#define shmem_ctx_ulong_atomic_xor pshmem_ctx_ulong_atomic_xor
715759
#define shmem_ctx_ulonglong_atomic_xor pshmem_ctx_ulonglong_atomic_xor
760+
#define shmem_ctx_int32_atomic_xor pshmem_ctx_int32_atomic_xor
761+
#define shmem_ctx_int64_atomic_xor pshmem_ctx_int64_atomic_xor
762+
#define shmem_ctx_uint32_atomic_xor pshmem_ctx_uint32_atomic_xor
763+
#define shmem_ctx_uint64_atomic_xor pshmem_ctx_uint64_atomic_xor
716764

717765
#define shmemx_int32_atomic_xor pshmemx_int32_atomic_xor
718766
#define shmemx_int64_atomic_xor pshmemx_int64_atomic_xor
@@ -764,13 +812,34 @@
764812
#define shmem_int_wait_until pshmem_int_wait_until
765813
#define shmem_long_wait_until pshmem_long_wait_until
766814
#define shmem_longlong_wait_until pshmem_longlong_wait_until
815+
#define shmem_ushort_wait_until pshmem_ushort_wait_until
816+
#define shmem_uint_wait_until pshmem_uint_wait_until
817+
#define shmem_ulong_wait_until pshmem_ulong_wait_until
818+
#define shmem_ulonglong_wait_until pshmem_ulonglong_wait_until
819+
#define shmem_int32_wait_until pshmem_int32_wait_until
820+
#define shmem_int64_wait_until pshmem_int64_wait_until
821+
#define shmem_uint32_wait_until pshmem_uint32_wait_until
822+
#define shmem_uint64_wait_until pshmem_uint64_wait_until
823+
#define shmem_size_wait_until pshmem_size_wait_until
824+
#define shmem_ptrdiff_wait_until pshmem_ptrdiff_wait_until
825+
767826
#define shmemx_int32_wait_until pshmemx_int32_wait_until
768827
#define shmemx_int64_wait_until pshmemx_int64_wait_until
769828

770829
#define shmem_short_test pshmem_short_test
771830
#define shmem_int_test pshmem_int_test
772831
#define shmem_long_test pshmem_long_test
773832
#define shmem_longlong_test pshmem_longlong_test
833+
#define shmem_ushort_test pshmem_ushort_test
834+
#define shmem_uint_test pshmem_uint_test
835+
#define shmem_ulong_test pshmem_ulong_test
836+
#define shmem_ulonglong_test pshmem_ulonglong_test
837+
#define shmem_int32_test pshmem_int32_test
838+
#define shmem_int64_test pshmem_int64_test
839+
#define shmem_uint32_test pshmem_uint32_test
840+
#define shmem_uint64_test pshmem_uint64_test
841+
#define shmem_size_test pshmem_size_test
842+
#define shmem_ptrdiff_test pshmem_ptrdiff_test
774843

775844
/*
776845
* Barrier sync routines

oshmem/shmem/c/shmem_and.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,21 @@
3131
#pragma weak shmem_uint_atomic_and = pshmem_uint_atomic_and
3232
#pragma weak shmem_ulong_atomic_and = pshmem_ulong_atomic_and
3333
#pragma weak shmem_ulonglong_atomic_and = pshmem_ulonglong_atomic_and
34+
#pragma weak shmem_int32_atomic_and = pshmem_int32_atomic_and
35+
#pragma weak shmem_int64_atomic_and = pshmem_int64_atomic_and
36+
#pragma weak shmem_uint32_atomic_and = pshmem_uint32_atomic_and
37+
#pragma weak shmem_uint64_atomic_and = pshmem_uint64_atomic_and
3438

3539
#pragma weak shmem_ctx_int_atomic_and = pshmem_ctx_int_atomic_and
3640
#pragma weak shmem_ctx_long_atomic_and = pshmem_ctx_long_atomic_and
3741
#pragma weak shmem_ctx_longlong_atomic_and = pshmem_ctx_longlong_atomic_and
3842
#pragma weak shmem_ctx_uint_atomic_and = pshmem_ctx_uint_atomic_and
3943
#pragma weak shmem_ctx_ulong_atomic_and = pshmem_ctx_ulong_atomic_and
4044
#pragma weak shmem_ctx_ulonglong_atomic_and = pshmem_ctx_ulonglong_atomic_and
45+
#pragma weak shmem_ctx_int32_atomic_and = pshmem_ctx_int32_atomic_and
46+
#pragma weak shmem_ctx_int64_atomic_and = pshmem_ctx_int64_atomic_and
47+
#pragma weak shmem_ctx_uint32_atomic_and = pshmem_ctx_uint32_atomic_and
48+
#pragma weak shmem_ctx_uint64_atomic_and = pshmem_ctx_uint64_atomic_and
4149

4250
#pragma weak shmemx_int32_atomic_and = pshmemx_int32_atomic_and
4351
#pragma weak shmemx_int64_atomic_and = pshmemx_int64_atomic_and
@@ -52,12 +60,22 @@ OSHMEM_TYPE_OP(longlong, long long, shmem, and)
5260
OSHMEM_TYPE_OP(uint, unsigned int, shmem, and)
5361
OSHMEM_TYPE_OP(ulong, unsigned long, shmem, and)
5462
OSHMEM_TYPE_OP(ulonglong, unsigned long long, shmem, and)
63+
OSHMEM_TYPE_OP(int32, int32_t, shmem, and)
64+
OSHMEM_TYPE_OP(int64, int64_t, shmem, and)
65+
OSHMEM_TYPE_OP(uint32, uint32_t, shmem, and)
66+
OSHMEM_TYPE_OP(uint64, uint64_t, shmem, and)
67+
5568
OSHMEM_CTX_TYPE_OP(int, int, shmem, and)
5669
OSHMEM_CTX_TYPE_OP(long, long, shmem, and)
5770
OSHMEM_CTX_TYPE_OP(longlong, long long, shmem, and)
5871
OSHMEM_CTX_TYPE_OP(uint, unsigned int, shmem, and)
5972
OSHMEM_CTX_TYPE_OP(ulong, unsigned long, shmem, and)
6073
OSHMEM_CTX_TYPE_OP(ulonglong, unsigned long long, shmem, and)
74+
OSHMEM_CTX_TYPE_OP(int32, int32_t, shmem, and)
75+
OSHMEM_CTX_TYPE_OP(int64, int64_t, shmem, and)
76+
OSHMEM_CTX_TYPE_OP(uint32, uint32_t, shmem, and)
77+
OSHMEM_CTX_TYPE_OP(uint64, uint64_t, shmem, and)
78+
6179
OSHMEM_TYPE_OP(int32, int32_t, shmemx, and)
6280
OSHMEM_TYPE_OP(int64, int64_t, shmemx, and)
6381
OSHMEM_TYPE_OP(uint32, uint32_t, shmemx, and)

oshmem/shmem/c/shmem_fand.c

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,21 @@
3333
#pragma weak shmem_uint_atomic_fetch_and = pshmem_uint_atomic_fetch_and
3434
#pragma weak shmem_ulong_atomic_fetch_and = pshmem_ulong_atomic_fetch_and
3535
#pragma weak shmem_ulonglong_atomic_fetch_and = pshmem_ulonglong_atomic_fetch_and
36+
#pragma weak shmem_int32_atomic_fetch_and = pshmem_int32_atomic_fetch_and
37+
#pragma weak shmem_int64_atomic_fetch_and = pshmem_int64_atomic_fetch_and
38+
#pragma weak shmem_uint32_atomic_fetch_and = pshmem_uint32_atomic_fetch_and
39+
#pragma weak shmem_uint64_atomic_fetch_and = pshmem_uint64_atomic_fetch_and
3640

3741
#pragma weak shmem_ctx_int_atomic_fetch_and = pshmem_ctx_int_atomic_fetch_and
3842
#pragma weak shmem_ctx_long_atomic_fetch_and = pshmem_ctx_long_atomic_fetch_and
3943
#pragma weak shmem_ctx_longlong_atomic_fetch_and = pshmem_ctx_longlong_atomic_fetch_and
4044
#pragma weak shmem_ctx_uint_atomic_fetch_and = pshmem_ctx_uint_atomic_fetch_and
4145
#pragma weak shmem_ctx_ulong_atomic_fetch_and = pshmem_ctx_ulong_atomic_fetch_and
4246
#pragma weak shmem_ctx_ulonglong_atomic_fetch_and = pshmem_ctx_ulonglong_atomic_fetch_and
47+
#pragma weak shmem_ctx_int32_atomic_fetch_and = pshmem_ctx_int32_atomic_fetch_and
48+
#pragma weak shmem_ctx_int64_atomic_fetch_and = pshmem_ctx_int64_atomic_fetch_and
49+
#pragma weak shmem_ctx_uint32_atomic_fetch_and = pshmem_ctx_uint32_atomic_fetch_and
50+
#pragma weak shmem_ctx_uint64_atomic_fetch_and = pshmem_ctx_uint64_atomic_fetch_and
4351

4452
#pragma weak shmemx_int32_atomic_fetch_and = pshmemx_int32_atomic_fetch_and
4553
#pragma weak shmemx_int64_atomic_fetch_and = pshmemx_int64_atomic_fetch_and
@@ -48,20 +56,28 @@
4856
#include "oshmem/shmem/c/profile/defines.h"
4957
#endif
5058

51-
unsigned int shmem_uint_atomic_fand(unsigned int *target, unsigned int value, int pe);
52-
5359
OSHMEM_TYPE_FOP(int, int, shmem, and)
5460
OSHMEM_TYPE_FOP(long, long, shmem, and)
5561
OSHMEM_TYPE_FOP(longlong, long long, shmem, and)
5662
OSHMEM_TYPE_FOP(uint, unsigned int, shmem, and)
5763
OSHMEM_TYPE_FOP(ulong, unsigned long, shmem, and)
5864
OSHMEM_TYPE_FOP(ulonglong, unsigned long long, shmem, and)
65+
OSHMEM_TYPE_FOP(int32, int32_t, shmem, and)
66+
OSHMEM_TYPE_FOP(int64, int64_t, shmem, and)
67+
OSHMEM_TYPE_FOP(uint32, uint32_t, shmem, and)
68+
OSHMEM_TYPE_FOP(uint64, uint64_t, shmem, and)
69+
5970
OSHMEM_CTX_TYPE_FOP(int, int, shmem, and)
6071
OSHMEM_CTX_TYPE_FOP(long, long, shmem, and)
6172
OSHMEM_CTX_TYPE_FOP(longlong, long long, shmem, and)
6273
OSHMEM_CTX_TYPE_FOP(uint, unsigned int, shmem, and)
6374
OSHMEM_CTX_TYPE_FOP(ulong, unsigned long, shmem, and)
6475
OSHMEM_CTX_TYPE_FOP(ulonglong, unsigned long long, shmem, and)
76+
OSHMEM_CTX_TYPE_FOP(int32, int32_t, shmem, and)
77+
OSHMEM_CTX_TYPE_FOP(int64, int64_t, shmem, and)
78+
OSHMEM_CTX_TYPE_FOP(uint32, uint32_t, shmem, and)
79+
OSHMEM_CTX_TYPE_FOP(uint64, uint64_t, shmem, and)
80+
6581
OSHMEM_TYPE_FOP(int32, int32_t, shmemx, and)
6682
OSHMEM_TYPE_FOP(int64, int64_t, shmemx, and)
6783
OSHMEM_TYPE_FOP(uint32, uint32_t, shmemx, and)

oshmem/shmem/c/shmem_for.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,21 @@
3333
#pragma weak shmem_uint_atomic_fetch_or = pshmem_uint_atomic_fetch_or
3434
#pragma weak shmem_ulong_atomic_fetch_or = pshmem_ulong_atomic_fetch_or
3535
#pragma weak shmem_ulonglong_atomic_fetch_or = pshmem_ulonglong_atomic_fetch_or
36+
#pragma weak shmem_int32_atomic_fetch_or = pshmem_int32_atomic_fetch_or
37+
#pragma weak shmem_int64_atomic_fetch_or = pshmem_int64_atomic_fetch_or
38+
#pragma weak shmem_uint32_atomic_fetch_or = pshmem_uint32_atomic_fetch_or
39+
#pragma weak shmem_uint64_atomic_fetch_or = pshmem_uint64_atomic_fetch_or
3640

3741
#pragma weak shmem_ctx_int_atomic_fetch_or = pshmem_ctx_int_atomic_fetch_or
3842
#pragma weak shmem_ctx_long_atomic_fetch_or = pshmem_ctx_long_atomic_fetch_or
3943
#pragma weak shmem_ctx_longlong_atomic_fetch_or = pshmem_ctx_longlong_atomic_fetch_or
4044
#pragma weak shmem_ctx_uint_atomic_fetch_or = pshmem_ctx_uint_atomic_fetch_or
4145
#pragma weak shmem_ctx_ulong_atomic_fetch_or = pshmem_ctx_ulong_atomic_fetch_or
4246
#pragma weak shmem_ctx_ulonglong_atomic_fetch_or = pshmem_ctx_ulonglong_atomic_fetch_or
47+
#pragma weak shmem_ctx_int32_atomic_fetch_or = pshmem_ctx_int32_atomic_fetch_or
48+
#pragma weak shmem_ctx_int64_atomic_fetch_or = pshmem_ctx_int64_atomic_fetch_or
49+
#pragma weak shmem_ctx_uint32_atomic_fetch_or = pshmem_ctx_uint32_atomic_fetch_or
50+
#pragma weak shmem_ctx_uint64_atomic_fetch_or = pshmem_ctx_uint64_atomic_fetch_or
4351

4452
#pragma weak shmemx_int32_atomic_fetch_or = pshmemx_int32_atomic_fetch_or
4553
#pragma weak shmemx_int64_atomic_fetch_or = pshmemx_int64_atomic_fetch_or
@@ -54,12 +62,22 @@ OSHMEM_TYPE_FOP(longlong, long long, shmem, or)
5462
OSHMEM_TYPE_FOP(uint, unsigned int, shmem, or)
5563
OSHMEM_TYPE_FOP(ulong, unsigned long, shmem, or)
5664
OSHMEM_TYPE_FOP(ulonglong, unsigned long long, shmem, or)
65+
OSHMEM_TYPE_FOP(int32, int32_t, shmem, or)
66+
OSHMEM_TYPE_FOP(int64, int64_t, shmem, or)
67+
OSHMEM_TYPE_FOP(uint32, uint32_t, shmem, or)
68+
OSHMEM_TYPE_FOP(uint64, uint64_t, shmem, or)
69+
5770
OSHMEM_CTX_TYPE_FOP(int, int, shmem, or)
5871
OSHMEM_CTX_TYPE_FOP(long, long, shmem, or)
5972
OSHMEM_CTX_TYPE_FOP(longlong, long long, shmem, or)
6073
OSHMEM_CTX_TYPE_FOP(uint, unsigned int, shmem, or)
6174
OSHMEM_CTX_TYPE_FOP(ulong, unsigned long, shmem, or)
6275
OSHMEM_CTX_TYPE_FOP(ulonglong, unsigned long long, shmem, or)
76+
OSHMEM_CTX_TYPE_FOP(int32, int32_t, shmem, or)
77+
OSHMEM_CTX_TYPE_FOP(int64, int64_t, shmem, or)
78+
OSHMEM_CTX_TYPE_FOP(uint32, uint32_t, shmem, or)
79+
OSHMEM_CTX_TYPE_FOP(uint64, uint64_t, shmem, or)
80+
6381
OSHMEM_TYPE_FOP(int32, int32_t, shmemx, or)
6482
OSHMEM_TYPE_FOP(int64, int64_t, shmemx, or)
6583
OSHMEM_TYPE_FOP(uint32, uint32_t, shmemx, or)

0 commit comments

Comments
 (0)