Assertion failed in cti_handle_get() in cham_tile_interface.h
Hi Ana and Mathieu,
The check on the data handle id fails in the function cti_handle_get()
of cham_tile_interface.h:64
when cti_handle_get()
is indirectly called during a starpu_data_register()
, and the data interface on the node is not yet fully initialized, thus its id
field is still at STARPU_UNKNOWN_INTERFACE_ID
at this point. See the backtrace below.
- The StarPU version is the top of the
master
branch: #18f8f581 - The Chameleon version is the top of the
master
branch: #3ad53bc1
One possible fix would be to check for either STARPU_CHAM_TILE_INTERFACE_ID or STARPU_UNKNOWN_INTERFACE_ID in the assert, but that's not completely satisfying.
Thanks in advance for your help!
Olivier
[starpu][cti_handle_get][assert failure] Error. The given data is not a cham_tile.
nosv_starpu_dgemm: [...]/chameleon.gitlab/runtime/starpu/include/cham_tile_interface.h:64: cti_handle_get: Assertion `0 && "cham_tile_interface->id == STARPU_CHAM_TILE_INTERFACE_ID"' failed.
Thread 1 "nosv_starpu_dge" received signal SIGABRT, Aborted.
#4 0x000000000040dda3 in cti_handle_get (handle=0x83cb80) at /home/aumage/Git/Chameleon/chameleon.gitlab/runtime/starpu/include/cham_tile_interface.h:64
#5 0x000000000040e2ec in cti_footprint (handle=0x83cb80) at /home/aumage/Git/Chameleon/chameleon.gitlab/runtime/starpu/interface/cham_tile_interface.c:262
#6 0x00007ffff75a674e in _starpu_compute_data_footprint (handle=0x83cb80) at /home/aumage/Git/StarPU/starpu.gitlab/src/datawizard/footprint.c:99
#7 0x00007ffff75aeef8 in _starpu_register_new_data (handle=0x83cb80, home_node=0, wt_mask=0) at /home/aumage/Git/StarPU/starpu.gitlab/src/datawizard/interfaces/data_interface.c:144
#8 0x00007ffff75afe96 in starpu_data_register (handleptr=0x83c920, home_node=0, data_interface=0x7fffffffba80, ops=0x66c560 <starpu_interface_cham_tile_ops>)
at /home/aumage/Git/StarPU/starpu.gitlab/src/datawizard/interfaces/data_interface.c:459
#9 0x000000000040efc0 in starpu_cham_tile_register (handleptr=0x83c920, home_node=0, tile=0x83c7f0, flttype=ChamRealDouble)
at /home/aumage/Git/Chameleon/chameleon.gitlab/runtime/starpu/interface/cham_tile_interface.c:709
#10 0x000000000040cf19 in RUNTIME_data_getaddr (A=0x7fffffffbe90, m=0, n=0) at /home/aumage/Git/Chameleon/chameleon.gitlab/runtime/starpu/control/runtime_descriptor.c:391
#11 0x000000000044266e in INSERT_TASK_dgemm (options=0x7fffffffbd00, transA=ChamNoTrans, transB=ChamNoTrans, m=384, n=384, k=384, nb=384, alpha=0.48890941241167046, A=0x7fffffffc250, Am=0, An=0,
B=0x7fffffffc070, Bm=0, Bn=0, beta=1.1500354203990388, C=0x7fffffffbe90, Cm=0, Cn=0) at /home/aumage/Git/Chameleon/build/runtime/starpu/codelets/codelet_dgemm.c:263
#12 0x000000000040b6cb in chameleon_pdgemm_generic (chamctxt=0x83c4a0, transA=ChamNoTrans, transB=ChamNoTrans, alpha=0.48890941241167046, A=0x7fffffffc250, B=0x7fffffffc070, beta=1.1500354203990388,
C=0x7fffffffbe90, options=0x7fffffffbd00) at /home/aumage/Git/Chameleon/build/compute/pdgemm.c:341
#13 0x000000000040bb5d in chameleon_pdgemm (ws=0x83c970, transA=ChamNoTrans, transB=ChamNoTrans, alpha=0.48890941241167046, A=0x7fffffffc250, B=0x7fffffffc070, beta=1.1500354203990388,
C=0x7fffffffbe90, sequence=0x83bb70, request=0x7fffffffbe70) at /home/aumage/Git/Chameleon/build/compute/pdgemm.c:441
#14 0x000000000040679d in CHAMELEON_dgemm_Tile_Async (transA=ChamNoTrans, transB=ChamNoTrans, alpha=0.48890941241167046, A=0x7fffffffc250, B=0x7fffffffc070, beta=1.1500354203990388, C=0x7fffffffbe90,
user_ws=0x83c970, sequence=0x83bb70, request=0x7fffffffbe70) at /home/aumage/Git/Chameleon/build/compute/dgemm.c:668
#15 0x0000000000405fc1 in CHAMELEON_dgemm (transA=ChamNoTrans, transB=ChamNoTrans, M=1000, N=1000, K=1000, alpha=0.48890941241167046, A=0x7fffc8057010, LDA=1000, B=0x7fffa8057010, LDB=1000,
beta=1.1500354203990388, C=0x7fff88057010, LDC=1000) at /home/aumage/Git/Chameleon/build/compute/dgemm.c:410