ROCm / MIVisionX

MIVisionX toolkit is a set of comprehensive computer vision and machine intelligence libraries, utilities, and applications bundled into a single toolkit. AMD MIVisionX also delivers a highly optimized open-source implementation of the Khronos OpenVX™ and OpenVX™ Extensions.
https://rocm.docs.amd.com/projects/MIVisionX/en/latest/
MIT License
186 stars 73 forks source link

VX_NN - Link With MIOpen & MIOpenGEMM #585

Closed kiritigowda closed 3 years ago

kiritigowda commented 3 years ago

VX_NN lib built with the relative path to MIOpen Lib should contain an absolute path.

kiritigowda commented 3 years ago

@paveltc this is the issue with TOT.

kiritigowda commented 3 years ago

A close look into this issue. The build folder seems to contain all the necessary info, but when the library is installed, the libraries seem to have lost the links. @asalmanp @paveltc @rrawther

root@simon:/workspace/build# ldd lib/libvx_nn.so 
    linux-vdso.so.1 (0x00007ffdfb524000)
    libopenvx.so => /workspace/build/lib/libopenvx.so (0x00007f6df42ef000)
    libMIOpen.so.1 => /opt/rocm-4.3.0/miopen/lib/libMIOpen.so.1 (0x00007f6deedfe000)
    libmiopengemm.so => /opt/rocm-4.3.0/miopengemm/lib/libmiopengemm.so (0x00007f6deda20000)
    libOpenCL.so.1 => /opt/rocm/opencl/lib/libOpenCL.so.1 (0x00007f6ded818000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6ded48f000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6ded0f1000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6deced9000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6decae8000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6dec8e4000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6dec6c5000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f6dec4b5000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f6dec1ac000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6debfa4000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f6df48e0000)
root@simon:/workspace/build# ldd /opt/rocm/mivisionx/lib/libvx_nn.so 
    linux-vdso.so.1 (0x00007ffd5a5e7000)
    libopenvx.so => not found
    libMIOpen.so.1 => not found
    libmiopengemm.so => not found
    libOpenCL.so.1 => not found
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff70d61a000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff70d27c000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff70d064000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff70cc73000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff70dbfa000)
kiritigowda commented 3 years ago

With PR #615 - This issue has been fixed - @asalmanp @paveltc

root@simon:/workspace/build# ldd lib/libvx_nn.so 
    linux-vdso.so.1 (0x00007fff79bc7000)
    libopenvx.so => /workspace/build/lib/libopenvx.so (0x00007f783e960000)
    libMIOpen.so.1 => /opt/rocm-4.3.0/miopen/lib/libMIOpen.so.1 (0x00007f783946f000)
    libmiopengemm.so => /opt/rocm-4.3.0/miopengemm/lib/libmiopengemm.so (0x00007f7838091000)
    libOpenCL.so.1 => /opt/rocm/opencl/lib/libOpenCL.so.1 (0x00007f7837e89000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7837b00000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7837762000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f783754a000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7837159000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7836f55000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7836d36000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f7836b26000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f783681d000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f7836615000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f783ef51000)
root@simon:/workspace/build# ldd /opt/rocm/mivisionx/lib/libvx_nn.so 
    linux-vdso.so.1 (0x00007ffd858b5000)
    libopenvx.so => not found
    libMIOpen.so.1 => /opt/rocm-4.3.0/miopen/lib/libMIOpen.so.1 (0x00007fe130ebf000)
    libmiopengemm.so => /opt/rocm-4.3.0/miopengemm/lib/libmiopengemm.so (0x00007fe12fae1000)
    libOpenCL.so.1 => /opt/rocm/opencl/lib/libOpenCL.so.1 (0x00007fe12f8d9000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe12f550000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe12f1b2000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe12ef9a000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe12eba9000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe12e98a000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fe12e77a000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fe12e471000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe12e269000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe136607000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe12e065000)