Skip to content
Snippets Groups Projects

P2P

Open
Jammer, Timrequested to merge
p2p into main
1 file
+ 17
8
Compare changes
  • Side-by-side
  • Inline
@@ -12,14 +12,15 @@ from itertools import chain
class InvalidRequestErrorP2P(ErrorGenerator):
invalid_requests = ["MPI_REQUEST_NULL", # probably triggers compiler warning
# "&MPI_REQUEST_NULL" #TODO test this as well?? depending on MPI implementation: may be compiler error
"NULL"]
functions_to_check = ["mpi_irecv", "mpi_isend",
"mpi_issend", "mpi_irsend", "mpi_ibsend",
"mpi_send_init", "mpi_ssend_init", "mpi_bsend_init", "mpi_rsend_init", "mpi_psend_init",
"mpi_precv_init", "mpi_recv_init"
"mpi_precv_init", "mpi_recv_init", "mpi_imrecv"
]
recv_funcs = ["mpi_irecv", "mpi_recv_init", "mpi_precv_init"]
recv_funcs = ["mpi_irecv", "mpi_recv_init", "mpi_precv_init", "mpi_imrecv"]
def __init__(self):
pass
@@ -47,19 +48,27 @@ class InvalidRequestErrorP2P(ErrorGenerator):
recv_func = send_func
send_func = "mpi_isend"
tm = get_send_recv_template(send_func, recv_func)
recv_func_to_use = recv_func
if recv_func == "mpi_imrecv":
recv_func_to_use = ["mpi_mprobe", "mpi_imrecv"]
tm = get_send_recv_template(send_func, recv_func_to_use)
if check_receive:
tm.set_description("InvalidParam-Request-" + recv_func, "Invalid Request: %s" % req_to_use)
else:
tm.set_description("InvalidParam-Request-" + send_func, "Invalid Request: %s" % req_to_use)
kind = 1
if check_receive:
tm.get_block("MPICALL").get_instruction(kind=0, index=0).set_arg("request", req_to_use)
tm.get_block("MPICALL").get_instruction(kind=0, index=0).set_has_error()
else:
tm.get_block("MPICALL").get_instruction(kind=1, index=0).set_arg("request", req_to_use)
tm.get_block("MPICALL").get_instruction(kind=1, index=0).set_has_error()
kind = 0
idx = 0
if recv_func == "mpi_imrecv":
idx = 1
tm.get_block("MPICALL").get_instruction(kind=kind, index=idx).set_arg("request", req_to_use)
tm.get_block("MPICALL").get_instruction(kind=kind, index=idx).set_has_error()
yield tm
Loading