MIOpen
MIOpen copied to clipboard
Add include directories for rocTracer, hipBLAS-common, rocRAND
This PR resolves issues related to building MIOpen with spack. In Spack, all of these packages are installed in different paths, not is a single /opt/rocm path, which is why the include directories need to be explictly added.
Changes:
- ~~Link roc::hipblas and roc::rocrand libraries, when hipblas_FOUND and rocrand_FOUND variables are true.~~
- Make SQLite::SQLite3, nlohmann_json::nlohmann_json, and roc::hipblas transitive dependencies at build time. This ensures that MIOpenDriver, which is built during the MIOpen build process, properly finds the necessary header files when built with Spack.
- Replace linking to roctx64 with ${rocTracer}. Also, add include directories for rocTracer.
- Add include directories for rocrand and hipblas-common
Is rocRAND only supposed to be required when building MIOpenDriver? I'm getting this error with MIOPEN_BUILD_DRIVER set to OFF.
In file included from /tmp/root/spack-stage/spack-stage-miopen-hip-6.3.2-rifpm6oiq4vemblnwp7rn3xri4s36sz5/spack-src/src/dropout_api.cpp:41:
/tmp/root/spack-stage/spack-stage-miopen-hip-6.3.2-rifpm6oiq4vemblnwp7rn3xri4s36sz5/spack-src/src/kernels/miopen_rocrand.hpp:45:10: fatal error: 'rocrand/rocrand_xorwow.h' file not found
45 | #include <rocrand/rocrand_xorwow.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Is rocRAND only supposed to be required when building
MIOpenDriver? I'm getting this error withMIOPEN_BUILD_DRIVERset toOFF.In file included from /tmp/root/spack-stage/spack-stage-miopen-hip-6.3.2-rifpm6oiq4vemblnwp7rn3xri4s36sz5/spack-src/src/dropout_api.cpp:41: /tmp/root/spack-stage/spack-stage-miopen-hip-6.3.2-rifpm6oiq4vemblnwp7rn3xri4s36sz5/spack-src/src/kernels/miopen_rocrand.hpp:45:10: fatal error: 'rocrand/rocrand_xorwow.h' file not found 45 | #include <rocrand/rocrand_xorwow.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
I think it was, but looks like it's been used in some kernels that are included generally.