intel / mpi-benchmarks

145 stars 63 forks source link

IMB-MPI1 2021.3 doesn't compile #40

Open chrpospiech opened 2 years ago

chrpospiech commented 2 years ago

Recently, some C++ parts have been added to IMB which introduces name mangling to the link step. The linker now complains that IMB_Barrier is listed “Extern C”in IMB_prototypes.h, but not in IMB_declare.h. The declaration in IMB_declare.h, however, is not really needed, as only the string IMB_Barrier is used in a subsequent CPP macro definition.Commenting this declaration out fixes the problem.The fix in git diff format is attached below. Please consider adopting this patch in future versions.

diff --git a/src_c/IMB_declare.h b/src_c/IMB_declare.h index 8425545..49f749d 100644 --- a/src_c/IMB_declare.h +++ b/src_c/IMB_declare.h @@ -249,7 +249,7 @@ extern int IMB_internal_barrier; (B) = (type) IMB_v_alloc(sizeof(type)(Len), where); \ }

-void IMB_Barrier(MPI_Comm comm); +// void IMB_Barrier(MPI_Comm comm);

define IMB_do_n_barriers(comm, iter) \

 {                                       \
     int _ii;                            \
JuliaRS commented 5 months ago

@chrpospiech hi, thank you for your report. Is it still available for you ?