2727#include <string.h>
2828#include "pdc.h"
2929
30- #define NPARTICLES 100
30+ #define NPARTICLES 100
3131#define PARTICLE_VAL 5.5f
3232
33- #define CHECK_AND_PRINT_GT (condition , success_msg , fail_msg ) \
34- do { \
35- if ((condition) > 0) { \
36- printf("%s\n", success_msg); \
37- } else { \
38- printf("Fail: %s @ line %d error code %d!\n", fail_msg, __LINE__, condition); \
39- exit(condition); \
40- } \
41- } while (0)
42-
43-
44- #define CHECK_AND_PRINT_GTE (condition , success_msg , fail_msg ) \
45- do { \
46- if ((condition) >= 0) { \
47- printf("%s\n", success_msg); \
48- } else { \
49- printf("Fail: %s @ line %d error code %d!\n", fail_msg, __LINE__, condition); \
50- exit(condition); \
51- } \
52- } while (0)
53-
54- static void set_buf (int size , float * buf , float val ) {
55- for (int i = 0 ; i < size ; i ++ ) {
33+ #define CHECK_AND_PRINT_GT (condition , success_msg , fail_msg ) \
34+ do { \
35+ if ((condition) > 0) { \
36+ printf("%s\n", success_msg); \
37+ } \
38+ else { \
39+ printf("Fail: %s @ line %d error code %d!\n", fail_msg, __LINE__, condition); \
40+ exit(condition); \
41+ } \
42+ } while (0)
43+
44+ #define CHECK_AND_PRINT_GTE (condition , success_msg , fail_msg ) \
45+ do { \
46+ if ((condition) >= 0) { \
47+ printf("%s\n", success_msg); \
48+ } \
49+ else { \
50+ printf("Fail: %s @ line %d error code %d!\n", fail_msg, __LINE__, condition); \
51+ exit(condition); \
52+ } \
53+ } while (0)
54+
55+ static void
56+ set_buf (int size , float * buf , float val )
57+ {
58+ for (int i = 0 ; i < size ; i ++ ) {
5659 buf [i ] = val ;
5760 }
5861}
5962
60- static void check_buf (int size , float * buf , float val ) {
63+ static void
64+ check_buf (int size , float * buf , float val )
65+ {
6166 int total_incorrect_values = 0 ;
62- for (int i = 0 ; i < size ; i ++ ) {
63- if (buf [i ] != val ) {
67+ for (int i = 0 ; i < size ; i ++ ) {
68+ if (buf [i ] != val ) {
6469 total_incorrect_values ++ ;
6570 printf ("ERROR: %f != %f\n" , buf [i ], val );
6671 }
6772 }
6873
69- if (total_incorrect_values > 0 ) {
74+ if (total_incorrect_values > 0 ) {
7075 printf ("ERROR: buffer had %d incorrect values\n" , total_incorrect_values );
71- } else {
76+ }
77+ else {
7278 printf ("All values were correct\n" );
7379 }
7480}
75-
81+
7682int
7783main (int argc , char * * argv )
7884{
79- pdcid_t pdc , cont_prop , cont , obj_prop , obj , transfer_request , region_local , region_remote , region_remote2 ;
80- perr_t err ;
81- int rank = 0 ;
82- int ret_value = 0 ;
83- int ret = 0 ;
84- int ndim = 1 ;
85+ pdcid_t pdc , cont_prop , cont , obj_prop , obj , transfer_request , region_local , region_remote ,
86+ region_remote2 ;
87+ perr_t err ;
88+ int rank = 0 ;
89+ int ret_value = 0 ;
90+ int ret = 0 ;
91+ int ndim = 1 ;
8592 uint64_t offset [1 ];
8693 uint64_t offset2 [1 ];
8794 uint64_t size [1 ];
8895 uint64_t final_size [1 ];
89- float buf [NPARTICLES ];
90- float res_buf [NPARTICLES * 2 ];
96+ float buf [NPARTICLES ];
97+ float res_buf [NPARTICLES * 2 ];
9198
92- size [0 ] = NPARTICLES ;
99+ size [0 ] = NPARTICLES ;
93100 final_size [0 ] = 2 * NPARTICLES ;
94- offset [0 ] = 0 ;
95- offset2 [0 ] = NPARTICLES ;
101+ offset [0 ] = 0 ;
102+ offset2 [0 ] = NPARTICLES ;
96103
97104 pdc = PDCinit ("pdc" );
98105 printf ("generated new pdc\n" );
@@ -102,20 +109,22 @@ main(int argc, char **argv)
102109 CHECK_AND_PRINT_GT (cont_prop , "Created cont prop" , "Failed to creat cont prop" );
103110
104111 // create a container
105- char * cont_name = "pdc_cont" ;
106- cont = PDCcont_create (cont_name , cont_prop );
112+ char * cont_name = "pdc_cont" ;
113+ cont = PDCcont_create (cont_name , cont_prop );
107114 CHECK_AND_PRINT_GT (cont , "Created cont" , "Failed to create cont" );
108115
109116 obj_prop = PDCprop_create (PDC_OBJ_CREATE , pdc );
110117 CHECK_AND_PRINT_GT (obj_prop , "Created obj_prop" , "Failed to create obj_prop" );
111118 err = PDCprop_set_obj_type (obj_prop , PDC_FLOAT );
112- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCprop_set_obj_type" , "Failed to call PDCprop_set_obj_type" );
119+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCprop_set_obj_type" ,
120+ "Failed to call PDCprop_set_obj_type" );
113121 err = PDCprop_set_obj_dims (obj_prop , ndim , final_size );
114- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCprop_set_obj_dims" , "Failed to call PDCprop_set_obj_dims" );
122+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCprop_set_obj_dims" ,
123+ "Failed to call PDCprop_set_obj_dims" );
115124
116125 // create object
117- char * obj_name = "sandbox_obj" ;
118- obj = PDCobj_create (cont , obj_name , obj_prop );
126+ char * obj_name = "sandbox_obj" ;
127+ obj = PDCobj_create (cont , obj_name , obj_prop );
119128 CHECK_AND_PRINT_GT (cont , "Created obj" , "Failed to create obj" );
120129
121130 printf ("Check buf before region transfer\n" );
@@ -133,24 +142,30 @@ main(int argc, char **argv)
133142
134143 printf ("Writing region 1\n" );
135144 transfer_request = PDCregion_transfer_create (buf , PDC_WRITE , obj , region_local , region_remote );
136- err = PDCregion_transfer_start (transfer_request );
137- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_start" , "Failed to call PDCregion_transfer_start" );
145+ err = PDCregion_transfer_start (transfer_request );
146+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_start" ,
147+ "Failed to call PDCregion_transfer_start" );
138148 err = PDCregion_transfer_wait (transfer_request );
139- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_wait" , "Failed to call PDCregion_transfer_wait" );
149+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_wait" ,
150+ "Failed to call PDCregion_transfer_wait" );
140151 err = PDCregion_transfer_close (transfer_request );
141- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_close" , "Failed to call PDCregion_transfer_close" );
152+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_close" ,
153+ "Failed to call PDCregion_transfer_close" );
142154
143155 printf ("Writing region 2\n" );
144156 transfer_request = PDCregion_transfer_create (buf , PDC_WRITE , obj , region_local , region_remote2 );
145- err = PDCregion_transfer_start (transfer_request );
146- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_start" , "Failed to call PDCregion_transfer_start" );
157+ err = PDCregion_transfer_start (transfer_request );
158+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_start" ,
159+ "Failed to call PDCregion_transfer_start" );
147160 err = PDCregion_transfer_wait (transfer_request );
148- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_wait" , "Failed to call PDCregion_transfer_wait" );
161+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_wait" ,
162+ "Failed to call PDCregion_transfer_wait" );
149163 err = PDCregion_transfer_close (transfer_request );
150- CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_close" , "Failed to call PDCregion_transfer_close" );
164+ CHECK_AND_PRINT_GTE (err , "Succesfully called PDCregion_transfer_close" ,
165+ "Failed to call PDCregion_transfer_close" );
151166
152167 // READ BACK OBJECT DATA
153- ret_value = PDCobj_get_data (obj , (void * )res_buf , 2 * NPARTICLES * sizeof (float ));
168+ ret_value = PDCobj_get_data (obj , (void * )res_buf , 2 * NPARTICLES * sizeof (float ));
154169 CHECK_AND_PRINT_GTE (ret_value , "Successfully PDCobj_get_data" , "Failed to PDCobj_get_data" );
155170
156171 printf ("Check buf after region transfer\n" );
0 commit comments