cornell-zhang / heterocl

HeteroCL: A Multi-Paradigm Programming Infrastructure for Software-Defined Heterogeneous Computing
https://cornell-zhang.github.io/heterocl/
Apache License 2.0
322 stars 92 forks source link

Automatically generated HOST code having runtime malloc error #301

Closed paldebjit closed 2 years ago

paldebjit commented 3 years ago

Host code for BNN: https://github.com/paldebjit/S10_Test/blob/master/host/main_bnn.cpp

[INFO] Initialize input buffers...
[INFO] Initialize RTE...
Just before global and local worksizes
Just before platform and device information
Just before context and command queue
*** Error in `./bin/host': malloc(): memory corruption: 0x00000000012a10c0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x82e86)[0x2b37e5b20e86]
/lib64/libc.so.6(__libc_malloc+0x4c)[0x2b37e5b23adc]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(acl_malloc_chain_malloc+0x22)[0x2b37e1f87992]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(acl_load_system_def_from_str+0xa2d)[0x2b37e1f9047d]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(acl_kernel_if_init+0x31e)[0x2b37e1f92eae]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(+0x1a22f)[0x2b37e1f7f22f]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(acl_hal_mmd_try_devices+0x1d8)[0x2b37e1f802e8]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(+0x3198e)[0x2b37e1f9698e]
/export/fpga/tools/quartus_pro/18.1.2_patches_202_203_206/hld/host/linux64/lib/libalteracl.so(clCreateContextIntelFPGA+0xce)[0x2b37e1f96ebe]
./bin/host[0x409b5c]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x2b37e5ac0505]
./bin/host[0x417b27]
======= Memory map: ========
00400000-00425000 r-xp 00000000 00:2a 1371926138                         /homes/dp638/Work/DevCloud_Test_Shaojie/unittest/bin/host
00624000-00625000 r--p 00024000 00:2a 1371926138                         /homes/dp638/Work/DevCloud_Test_Shaojie/unittest/bin/host
00625000-00626000 rw-p 00025000 00:2a 1371926138                         /homes/dp638/Work/DevCloud_Test_Shaojie/unittest/bin/host
01105000-012f0000 rw-p 00000000 00:00 0                                  [heap]
2aaaaac00000-2aaaaae00000 rw-p 00000000 00:0d 65791253                   /anon_hugepage (deleted)
2aaaaae00000-2aaaab000000 rw-p 00000000 00:0d 65791254                   /anon_hugepage (deleted)
2aaaab000000-2aaaab200000 rw-p 00000000 00:0d 65791255                   /anon_hugepage (deleted)
2aaaab200000-2aaaab400000 rw-p 00000000 00:0d 65791256                   /anon_hugepage (deleted)
2aaaab400000-2aaaab600000 rw-p 00000000 00:0d 65791257                   /anon_hugepage (deleted)
2aaaab600000-2aaaab800000 rw-p 00000000 00:0d 65791258                   /anon_hugepage (deleted)
2aaaab800000-2aaaaba00000 rw-p 00000000 00:0d 65791259                   /anon_hugepage (deleted)
2aaaaba00000-2aaaabc00000 rw-p 00000000 00:0d 65791260                   /anon_hugepage (deleted)
2b37e1d41000-2b37e1d63000 r-xp 00000000 fd:00 31286                      /usr/lib64/ld-2.17.so
2b37e1d63000-2b37e1d68000 rw-p 00000000 00:00 0 
2b37e1d85000-2b37e1d8e000 rw-p 00000000 00:00 0 
2b37e1d8e000-2b37e1dc3000 r--s 00000000 fd:00 1610971232                 /var/db/nscd/passwd
2b37e1df4000-2b37e1ead000 rw-p 00000000 00:00 0 
2b37e1ead000-2b37e1eed000 rw-s 00000000 00:05 16432                      /dev/intel-fpga-port.0
2b37e1ef6000-2b37e1f3f000 rw-p 00000000 00:00 0 
2b37e1f62000-2b37e1f63000 r--p 00021000 fd:00 31286                      /usr/lib64/ld-2.17.so
2b37e1f63000-2b37e1f64000 rw-p 00022000 fd:00 31286                      /usr/lib64/ld-2.17.so
2b37e1f64000-2b37e1f65000 rw-p 00000000 00:00 0 
2b37e1f65000-2b37e2008000 r-xp 00000000 00:2d 1406267827                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libalteracl.so
2b37e2008000-2b37e2208000 ---p 000a3000 00:2d 1406267827                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libalteracl.so
2b37e2208000-2b37e220b000 r--p 000a3000 00:2d 1406267827                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libalteracl.so
2b37e220b000-2b37e220c000 rw-p 000a6000 00:2d 1406267827                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libalteracl.so
2b37e220c000-2b37e4c40000 rw-p 00000000 00:00 0 
2b37e4c40000-2b37e4c60000 r-xp 00000000 00:2b 1405820716                 /export/fpga/release/d5005_ias_2_0_pv/opencl/opencl_bsp/linux64/lib/libintel_opae_mmd.so
2b37e4c60000-2b37e4e60000 ---p 00020000 00:2b 1405820716                 /export/fpga/release/d5005_ias_2_0_pv/opencl/opencl_bsp/linux64/lib/libintel_opae_mmd.so
2b37e4e60000-2b37e4e61000 rw-p 00020000 00:2b 1405820716                 /export/fpga/release/d5005_ias_2_0_pv/opencl/opencl_bsp/linux64/lib/libintel_opae_mmd.so
2b37e4e61000-2b37e4e68000 r-xp 00000000 fd:00 331078                     /usr/lib64/librt-2.17.so
2b37e4e68000-2b37e5067000 ---p 00007000 fd:00 331078                     /usr/lib64/librt-2.17.so
2b37e5067000-2b37e5068000 r--p 00006000 fd:00 331078                     /usr/lib64/librt-2.17.so
2b37e5068000-2b37e5069000 rw-p 00007000 fd:00 331078                     /usr/lib64/librt-2.17.so
2b37e5069000-2b37e507e000 r-xp 00000000 00:2d 1406525733                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libelf.so.0
2b37e507e000-2b37e527e000 ---p 00015000 00:2d 1406525733                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libelf.so.0
2b37e527e000-2b37e527f000 rw-p 00015000 00:2d 1406525733                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libelf.so.0
2b37e527f000-2b37e5368000 r-xp 00000000 fd:00 133895                     /usr/lib64/libstdc++.so.6.0.19
2b37e5368000-2b37e5567000 ---p 000e9000 fd:00 133895                     /usr/lib64/libstdc++.so.6.0.19
2b37e5567000-2b37e556f000 r--p 000e8000 fd:00 133895                     /usr/lib64/libstdc++.so.6.0.19
2b37e556f000-2b37e5571000 rw-p 000f0000 fd:00 133895                     /usr/lib64/libstdc++.so.6.0.19
2b37e5571000-2b37e5586000 rw-p 00000000 00:00 0 
2b37e5586000-2b37e5687000 r-xp 00000000 fd:00 322649                     /usr/lib64/libm-2.17.so
2b37e5687000-2b37e5886000 ---p 00101000 fd:00 322649                     /usr/lib64/libm-2.17.so
2b37e5886000-2b37e5887000 r--p 00100000 fd:00 322649                     /usr/lib64/libm-2.17.so
2b37e5887000-2b37e5888000 rw-p 00101000 fd:00 322649                     /usr/lib64/libm-2.17.so
2b37e5888000-2b37e589d000 r-xp 00000000 fd:00 7403                       /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b37e589d000-2b37e5a9c000 ---p 00015000 fd:00 7403                       /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b37e5a9c000-2b37e5a9d000 r--p 00014000 fd:00 7403                       /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b37e5a9d000-2b37e5a9e000 rw-p 00015000 fd:00 7403                       /usr/lib64/libgcc_s-4.8.5-20150702.so.1
2b37e5a9e000-2b37e5c61000 r-xp 00000000 fd:00 32424                      /usr/lib64/libc-2.17.so
2b37e5c61000-2b37e5e61000 ---p 001c3000 fd:00 32424                      /usr/lib64/libc-2.17.so
2b37e5e61000-2b37e5e65000 r--p 001c3000 fd:00 32424                      /usr/lib64/libc-2.17.so
2b37e5e65000-2b37e5e67000 rw-p 001c7000 fd:00 32424                      /usr/lib64/libc-2.17.so
2b37e5e67000-2b37e5e6c000 rw-p 00000000 00:00 0 
2b37e5e6c000-2b37e5e6e000 r-xp 00000000 fd:00 322647                     /usr/lib64/libdl-2.17.so
2b37e5e6e000-2b37e606e000 ---p 00002000 fd:00 322647                     /usr/lib64/libdl-2.17.so
2b37e606e000-2b37e606f000 r--p 00002000 fd:00 322647                     /usr/lib64/libdl-2.17.so
2b37e606f000-2b37e6070000 rw-p 00003000 fd:00 322647                     /usr/lib64/libdl-2.17.so
2b37e6070000-2b37e6087000 r-xp 00000000 fd:00 126131                     /usr/lib64/libpthread-2.17.so
2b37e6087000-2b37e6286000 ---p 00017000 fd:00 126131                     /usr/lib64/libpthread-2.17.so
2b37e6286000-2b37e6287000 r--p 00016000 fd:00 126131                     /usr/lib64/libpthread-2.17.so
2b37e6287000-2b37e6288000 rw-p 00017000 fd:00 126131                     /usr/lib64/libpthread-2.17.so
2b37e6288000-2b37e628c000 rw-p 00000000 00:00 0 
2b37e628c000-2b37e6292000 r-xp 00000000 00:2d 1406525731                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libacl_emulator_kernel_rt.so
2b37e6292000-2b37e6491000 ---p 00006000 00:2d 1406525731                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libacl_emulator_kernel_rt.so
2b37e6491000-2b37e6492000 r--p 00005000 00:2d 1406525731                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libacl_emulator_kernel_rt.so
2b37e6492000-2b37e6493000 rw-p 00006000 00:2d 1406525731                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libacl_emulator_kernel_rt.so
2b37e6493000-2b37e6496000 rw-p 00000000 00:00 0 
2b37e6496000-2b37e64b0000 r-xp 00000000 00:2d 1406297654                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libz.so.1
2b37e64b0000-2b37e66af000 ---p 0001a000 00:2d 1406297654                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libz.so.1
2b37e66af000-2b37e66b0000 rw-p 00019000 00:2d 1406297654                 /export/quartus_pro/18.1.2/hld/host/linux64/lib/libz.so.1
2b37e66b0000-2b37e66d2000 r-xp 00000000 00:2b 1405835825                 /export/fpga/opae/install/opae-install-20200101/lib64/libopae-c.so.1.3.0Aborted (core dumped)

Can't find any difference with handwritten host code for other kernels.

hecmay commented 2 years ago

I am closing this issue.

This issue is caused by problems in the vLab server. I was able to run the BNN bitstream using the same host code after switching to another vLab node.