ego icon indicating copy to clipboard operation
ego copied to clipboard

Can ego run dl workload in enclave using https://github.com/sugarme/gotch?

Open TYTaO opened this issue 2 years ago • 1 comments

Issue description

When I try to run ml or dl using gotch(Go binding for Pytorch C++ API), ego sign will go wrong. like symbol not found

ldd gotchTest
        linux-vdso.so.1 (0x00007fff719fb000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fac7fb4c000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fac7f96b000)
        libc10.so => /usr/local/lib/libtorch/lib/libc10.so (0x00007fac7f8e8000)
        libtorch_cpu.so => /usr/local/lib/libtorch/lib/libtorch_cpu.so (0x00007fac68733000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fac685e4000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fac685c7000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fac683d5000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fac8010e000)
        libgomp-52f2fd74.so.1 => /usr/local/lib/libtorch/lib/libgomp-52f2fd74.so.1 (0x00007fac681a2000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fac68197000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fac68191000)

Cgo may cause this, Is there a simple way to solve this problem?

TYTaO avatar Jun 17 '22 15:06 TYTaO

Yes, cgo support in EGo doesn't allow dynamic linking. You'd need to change gotch such that the following is linked statically:

        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fac7f96b000)
        libc10.so => /usr/local/lib/libtorch/lib/libc10.so (0x00007fac7f8e8000)
        libtorch_cpu.so => /usr/local/lib/libtorch/lib/libtorch_cpu.so (0x00007fac68733000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fac685c7000)
        libgomp-52f2fd74.so.1 => /usr/local/lib/libtorch/lib/libgomp-52f2fd74.so.1 (0x00007fac681a2000)

thomasten avatar Jun 18 '22 11:06 thomasten