MIOpen icon indicating copy to clipboard operation
MIOpen copied to clipboard

Add include directories for rocTracer, hipBLAS-common, rocRAND

Open afzpatel opened this issue 9 months ago • 2 comments

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

afzpatel avatar Mar 13 '25 19:03 afzpatel

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>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~

afzpatel avatar Mar 14 '25 19:03 afzpatel

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>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~

I think it was, but looks like it's been used in some kernels that are included generally.

BrianHarrisonAMD avatar Mar 14 '25 20:03 BrianHarrisonAMD