Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix the generation of MBI test cases (and compile them with -Wno-unused-variable...
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 28 Mar 2022 16:37:20 +0000 (18:37 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 28 Mar 2022 16:37:23 +0000 (18:37 +0200)
teshsuite/smpi/MBI/CMakeLists.txt
teshsuite/smpi/MBI/RMAWinBufferGenerator.py
teshsuite/smpi/MBI/generator_utils.py

index f9b5d78..f92db46 100644 (file)
@@ -70,7 +70,7 @@ if (enable_smpi_MBI_testsuite)
     # Generate an executable for each of them
     add_executable(mbi_${basefile} EXCLUDE_FROM_ALL ${CMAKE_BINARY_DIR}/MBI/${cfile})
     target_link_libraries(mbi_${basefile} simgrid)
-    target_compile_options(mbi_${basefile} PRIVATE "-Wno-error")
+    target_compile_options(mbi_${basefile} PRIVATE "-Wno-unused-variable")
     set_target_properties(mbi_${basefile} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/MBI)
     add_dependencies(tests-mbi mbi_${basefile})
 
index 5ed8b28..4d62bee 100755 (executable)
@@ -39,7 +39,7 @@ END_MBI_TESTS
 
 int * buffer;
 
-void get_win(MPI_Win *win) {
+static void get_win(MPI_Win *win) {
   @{bufferalloc}@
 
   MPI_Win_create(@{buffer}@, N * sizeof(int), 1, MPI_INFO_NULL, MPI_COMM_WORLD, win);
index 4a118a1..7855779 100644 (file)
@@ -100,14 +100,14 @@ fini['MPI_Allreduce'] = lambda n: ""
 free['MPI_Allreduce'] = lambda n: ""
 write['MPI_Allreduce'] = lambda n: ""
 
-init['MPI_Scan'] = lambda n: f"int outbuf{n}[buff_size] = {{0}}, inbuf{n}[buff_size];"
+init['MPI_Scan'] = lambda n: f"int outbuf{n}[buff_size];\n  memset(outbuf{n}, 0, buff_size*sizeof(int));\n  int inbuf{n}[buff_size];"
 start['MPI_Scan'] = lambda n: ""
 operation['MPI_Scan'] = lambda n: f"MPI_Scan(&outbuf{n}, inbuf{n}, buff_size, type, op, newcom);"
 fini['MPI_Scan'] = lambda n: ""
 free['MPI_Scan'] = lambda n: ""
 write['MPI_Scan'] = lambda n: ""
 
-init['MPI_Exscan'] = lambda n: f"int outbuf{n}[buff_size] = {{0}}, inbuf{n}[buff_size];"
+init['MPI_Exscan'] = lambda n: f"int outbuf{n}[buff_size];\n  memset(outbuf{n}, 0, buff_size*sizeof(int));\n  int inbuf{n}[buff_size];"
 start['MPI_Exscan'] = lambda n: ""
 operation['MPI_Exscan'] = lambda n: f"MPI_Exscan(&outbuf{n}, inbuf{n}, buff_size, type, op, newcom);"
 fini['MPI_Exscan'] = lambda n: ""
@@ -190,21 +190,21 @@ write['MPI_Igather'] = lambda n: f'val{n}=3;'
 fini['MPI_Igather'] = lambda n: f'MPI_Wait(&req{n},&sta{n});'
 free['MPI_Igather'] = lambda n: f'if(req{n} != MPI_REQUEST_NULL) MPI_Request_free(&req{n});'
 
-init['MPI_Iscatter'] = lambda n: f"MPI_Request req{n} = MPI_REQUEST_NULL;\n  MPI_Status sta{n};\n  int val{n};\n  buf{n}[buff_size] = {{0}};"
+init['MPI_Iscatter'] = lambda n: f"MPI_Request req{n} = MPI_REQUEST_NULL;\n  MPI_Status sta{n};\n  int val{n};\n  int buf{n}[buff_size];\n  memset(buf{n}, 0, buff_size*sizeof(int));"
 start['MPI_Iscatter'] = lambda n: ""
 operation['MPI_Iscatter'] = lambda n: f"MPI_Iscatter(&buf{n}, 1, type, &val{n}, 1, type, root, newcom,&req{n});"
 fini['MPI_Iscatter'] = lambda n: f"MPI_Wait(&req{n},&sta{n});"
 free['MPI_Iscatter'] = lambda n: f'if(req{n} != MPI_REQUEST_NULL) MPI_Request_free(&req{n});'
 write['MPI_Iscatter'] = lambda n: f'buf{n}[0]++;'
 
-init['MPI_Iscan'] = lambda n: f"MPI_Request req{n} = MPI_REQUEST_NULL;\n  MPI_Status sta{n};\n  int outbuf{n}[buff_size] = {{0}}, inbuf{n}[buff_size];"
+init['MPI_Iscan'] = lambda n: f"MPI_Request req{n} = MPI_REQUEST_NULL;\n  MPI_Status sta{n};\n  int outbuf{n}[buff_size];\n  memset(outbuf{n}, 0, buff_size*sizeof(int));\n  int inbuf{n}[buff_size];"
 start['MPI_Iscan'] = lambda n: ""
 operation['MPI_Iscan'] = lambda n: f"MPI_Iscan(&outbuf{n}, inbuf{n}, buff_size, type, op, newcom,&req{n});"
 fini['MPI_Iscan'] = lambda n: f"MPI_Wait(&req{n},&sta{n});"
 free['MPI_Iscan'] = lambda n: f'if(req{n} != MPI_REQUEST_NULL) MPI_Request_free(&req{n});'
 write['MPI_Iscan'] = lambda n: f'outbuf{n}[0]++;'
 
-init['MPI_Iexscan'] = lambda n: f"MPI_Request req{n}=MPI_REQUEST_NULL;MPI_Status sta{n};\n  int outbuf{n}[buff_size] = {{0}}, inbuf{n}[buff_size] = {{0}};"
+init['MPI_Iexscan'] = lambda n: f"MPI_Request req{n}=MPI_REQUEST_NULL;MPI_Status sta{n};\n  int outbuf{n}[buff_size];\n  memset(outbuf{n}, 0, buff_size*sizeof(int));\n  int inbuf{n}[buff_size];"
 start['MPI_Iexscan'] = lambda n: ""
 operation['MPI_Iexscan'] = lambda n: f"MPI_Iexscan(&outbuf{n}, inbuf{n}, buff_size, type, op, newcom,&req{n});"
 fini['MPI_Iexscan'] = lambda n: f"MPI_Wait(&req{n},&sta{n});"