37 #define GASPI_MAJOR_VERSION (1)
38 #define GASPI_MINOR_VERSION (0)
39 #define GASPI_REVISION (0)
41 #define GASPI_BLOCK (0xffffffff)
42 #define GASPI_TEST (0x0)
43 #define GASPI_MAX_NODES (65536)
44 #define GASPI_SN_PORT (10840)
45 #define GASPI_MAX_GROUPS (32)
46 #define GASPI_MAX_MSEGS (32)
47 #define GASPI_GROUP_ALL (0)
48 #define GASPI_MAX_QP (16)
49 #define GASPI_COLL_QP (GASPI_MAX_QP)
50 #define GASPI_PASSIVE_QP (GASPI_MAX_QP+1)
51 #define GASPI_MAX_TSIZE_C ((1ul<<31ul)-1ul)
52 #define GASPI_MAX_TSIZE_P ((1ul<<16ul)-1ul)
53 #define GASPI_MAX_QSIZE (4096)
54 #define GASPI_MAX_NOTIFICATION (65536)
56 typedef char gaspi_char;
57 typedef unsigned char gaspi_uchar;
58 typedef short gaspi_short;
59 typedef unsigned short gaspi_ushort;
60 typedef int gaspi_int;
61 typedef unsigned int gaspi_uint;
62 typedef long gaspi_long;
63 typedef unsigned long gaspi_ulong;
64 typedef float gaspi_float;
65 typedef double gaspi_double;
67 typedef unsigned int gaspi_timeout_t;
68 typedef unsigned short gaspi_rank_t;
69 typedef unsigned char gaspi_group_t;
70 typedef unsigned int gaspi_number_t;
71 typedef void *gaspi_pointer_t;
72 typedef void *gaspi_state_t;
73 typedef unsigned char *gaspi_state_vector_t;
74 typedef unsigned char gaspi_queue_id_t;
75 typedef unsigned long gaspi_size_t;
76 typedef unsigned long gaspi_alloc_t;
77 typedef unsigned char gaspi_segment_id_t;
78 typedef unsigned long gaspi_offset_t;
79 typedef unsigned long gaspi_atomic_value_t;
80 typedef unsigned long gaspi_time_t;
81 typedef unsigned short gaspi_notification_id_t;
82 typedef unsigned int gaspi_notification_t;
83 typedef unsigned int gaspi_statistic_counter_t;
84 typedef char * gaspi_string_t;
129 GASPI_TYPE_FLOAT = 2,
130 GASPI_TYPE_DOUBLE = 3,
141 GASPI_STATE_HEALTHY = 0,
142 GASPI_STATE_CORRUPT = 1
170 gaspi_number_t group_max;
171 gaspi_number_t segment_max;
172 gaspi_size_t transfer_size_max;
173 gaspi_number_t notification_num;
174 gaspi_number_t passive_queue_size_max;
175 gaspi_number_t passive_transfer_size_max;
176 gaspi_size_t allreduce_buf_size;
177 gaspi_number_t allreduce_elem_max;
178 gaspi_number_t build_infrastructure;
188 GASPI_STATISTIC_ARGUMENT_NONE
194 typedef gaspi_return_t (*gaspi_reduce_operation_t) (gaspi_pointer_t
const
196 gaspi_pointer_t
const
198 gaspi_pointer_t
const
206 const gaspi_timeout_t
286 const gaspi_timeout_t timeout_ms);
298 const gaspi_timeout_t timeout_ms);
310 const gaspi_timeout_t timeout_ms);
339 const gaspi_rank_t rank);
351 const gaspi_timeout_t timeout_ms);
372 gaspi_number_t *
const group_size);
383 gaspi_rank_t *
const group_ranks);
404 const gaspi_size_t size,
405 const gaspi_alloc_t alloc_policy);
427 const gaspi_rank_t rank,
428 const gaspi_timeout_t timeout_ms);
445 const gaspi_size_t size,
446 const gaspi_group_t group,
447 const gaspi_timeout_t timeout_ms,
448 const gaspi_alloc_t alloc_policy);
469 const segment_id_list);
480 gaspi_pointer_t * ptr);
492 const gaspi_rank_t rank,
493 gaspi_size_t *
const size);
522 const gaspi_offset_t offset_local,
523 const gaspi_rank_t rank,
524 const gaspi_segment_id_t segment_id_remote,
525 const gaspi_offset_t offset_remote,
526 const gaspi_size_t size,
527 const gaspi_queue_id_t queue,
528 const gaspi_timeout_t timeout_ms);
546 const gaspi_offset_t offset_local,
547 const gaspi_rank_t rank,
548 const gaspi_segment_id_t segment_id_remote,
549 const gaspi_offset_t offset_remote,
550 const gaspi_size_t size,
551 const gaspi_queue_id_t queue,
552 const gaspi_timeout_t timeout_ms);
572 const segment_id_local,
573 gaspi_offset_t *
const offset_local,
574 const gaspi_rank_t rank,
576 const segment_id_remote,
577 gaspi_offset_t *
const offset_remote,
578 gaspi_size_t *
const size,
579 const gaspi_queue_id_t queue,
580 const gaspi_timeout_t timeout_ms);
600 gaspi_segment_id_t *
const segment_id_local,
601 gaspi_offset_t *
const offset_local,
602 const gaspi_rank_t rank,
604 const segment_id_remote,
605 gaspi_offset_t *
const offset_remote,
606 gaspi_size_t *
const size,
607 const gaspi_queue_id_t queue,
608 const gaspi_timeout_t timeout_ms);
619 const gaspi_timeout_t timeout_ms);
633 const gaspi_timeout_t timeout_ms);
650 gaspi_pointer_t
const buffer_receive,
651 const gaspi_number_t num,
654 const gaspi_group_t group,
655 const gaspi_timeout_t timeout_ms);
657 gaspi_return_t gaspi_allreduce_user (gaspi_pointer_t
const buffer_send,
658 gaspi_pointer_t
const buffer_receive,
659 const gaspi_number_t num,
660 const gaspi_size_t element_size,
661 gaspi_reduce_operation_t
const
663 gaspi_state_t
const reduce_state,
664 const gaspi_group_t group,
665 const gaspi_timeout_t timeout_ms);
684 const gaspi_offset_t offset,
685 const gaspi_rank_t rank,
686 const gaspi_atomic_value_t val_add,
687 gaspi_atomic_value_t *
const val_old,
688 const gaspi_timeout_t timeout_ms);
705 const gaspi_offset_t offset,
706 const gaspi_rank_t rank,
707 const gaspi_atomic_value_t
709 const gaspi_atomic_value_t
711 gaspi_atomic_value_t *
713 const gaspi_timeout_t timeout_ms);
732 const gaspi_offset_t offset_local,
733 const gaspi_rank_t rank,
734 const gaspi_size_t size,
735 const gaspi_timeout_t timeout_ms);
751 const gaspi_offset_t offset_local,
752 gaspi_rank_t *
const rem_rank,
753 const gaspi_size_t size,
754 const gaspi_timeout_t timeout_ms);
773 const gaspi_rank_t rank,
774 const gaspi_notification_id_t notification_id,
775 const gaspi_notification_t notification_value,
776 const gaspi_queue_id_t queue,
777 const gaspi_timeout_t timeout_ms);
793 const gaspi_notification_id_t
795 const gaspi_number_t num,
796 gaspi_notification_id_t *
798 const gaspi_timeout_t timeout_ms);
811 const gaspi_notification_id_t
813 gaspi_notification_t *
814 const old_notification_val);
835 const gaspi_offset_t offset_local,
836 const gaspi_rank_t rank,
837 const gaspi_segment_id_t
839 const gaspi_offset_t offset_remote,
840 const gaspi_size_t size,
841 const gaspi_notification_id_t
843 const gaspi_notification_t
845 const gaspi_queue_id_t queue,
846 const gaspi_timeout_t timeout_ms);
869 const segment_id_local,
870 gaspi_offset_t *
const offset_local,
871 const gaspi_rank_t rank,
873 const segment_id_remote,
876 gaspi_size_t *
const size,
877 const gaspi_segment_id_t
878 segment_id_notification,
879 const gaspi_notification_id_t
881 const gaspi_notification_t
883 const gaspi_queue_id_t queue,
884 const gaspi_timeout_t timeout_ms);
899 gaspi_number_t *
const queue_size);
931 const transfer_size_min);
942 const transfer_size_max);
964 passive_transfer_size_max);
1095 , gaspi_string_t* counter_name
1096 , gaspi_string_t* counter_description
1097 , gaspi_number_t* verbosity_level
1111 , gaspi_number_t argument
1112 , gaspi_number_t *value