You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
here is another simple MPI code that raises an exception in Aislinn:
#include<mpi.h>#include<stdio.h>#include<stdlib.h>#definebuff_size 128
intmain(intargc, char**argv) {
intnprocs=-1;
intrank=-1;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
printf("Hello from rank %d \n", rank);
if (nprocs<2)
printf("MBI ERROR: This test needs at least 2 processes to produce a bug.\n");
intdbs=sizeof(int)*nprocs; /* Size of the dynamic buffers for alltoall and friends */MPI_Requestreq1; MPI_Statussta1; intsum1, val1=1;
intbuf2[buff_size];MPI_Requestreq2;MPI_Statussta2;
introot=0;
if (rank % 2) {
MPI_Ireduce(&sum1, &val1, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD, &req1); MPI_Wait(&req1,&sta1); /* MBIERROR1 */
} else {
/* MBIERROR2 */
}
MPI_Finalize();
printf("Rank %d finished normally\n", rank);
return0;
}
Note that this code is actually buggy: Odd ranks call MPI_Ireduce while even ranks do not call any collective
Here is the resulting error message:
$ aislinn -p=2 CollCallOrder_Ireduce_none_nok
==AN== INFO: Aislinn v0.5.0
Traceback (most recent call last):
File "/builds/quinson/mbi2/tools/aislinn-git/bin/../src/aislinn/aislinn.py", line 359, in <module>
main()
File "/builds/quinson/mbi2/tools/aislinn-git/bin/../src/aislinn/aislinn.py", line 315, in main
if not generator.run():
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/generator.py", line 200, in run
self.ndsync_check()
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/generator.py", line 212, in ndsync_check
message = NdsyncChecker(self, self.statespace).run()
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/ndsync.py", line 72, in run
self.process_node(node, markings)
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/ndsync.py", line 113, in process_node
assert marks.issuperset(m)
AssertionError
The text was updated successfully, but these errors were encountered:
Hello,
here is another simple MPI code that raises an exception in Aislinn:
Note that this code is actually buggy: Odd ranks call MPI_Ireduce while even ranks do not call any collective
Here is the resulting error message:
The text was updated successfully, but these errors were encountered: