You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jaxDecomp安装报错:执行setup.py时CMake无法找到NVHPC配置文件

解决jaxDecomp安装中CMake找不到NVHPC配置文件的问题

问题核心

运行setup.py时CMake无法定位NVHPC的配置文件(NVHPCConfig.cmake/nvhpc-config.cmake),且未找到FindNVHPC.cmake模块,导致配置失败。


解决方法

1. 指定已安装的NVHPC路径

若已安装NVHPC,直接通过环境变量或CMake参数告知路径:

  • 临时设置环境变量(Linux/macOS):
    # 方法A:添加到CMAKE_PREFIX_PATH
    export CMAKE_PREFIX_PATH=/path/to/your/nvhpc/install:$CMAKE_PREFIX_PATH
    # 方法B:直接设置NVHPC_DIR(指向含cmake配置文件的目录)
    export NVHPC_DIR=/path/to/your/nvhpc/install/cmake
    
  • 运行setup.py时传递参数:
    python setup.py install -DCMAKE_PREFIX_PATH=/path/to/your/nvhpc/install
    # 或
    python setup.py install -DNVHPC_DIR=/path/to/your/nvhpc/install/cmake
    

2. 手动添加FindNVHPC.cmake模块

如果NVHPC安装后未自带配置文件,可手动创建FindNVHPC.cmake,将其放入项目的cmake目录(或添加到CMAKE_MODULE_PATH),内容如下:

# FindNVHPC.cmake
# 定位NVHPC编译器与依赖库

# 查找NVHPC根目录
find_path(NVHPC_ROOT
          NAMES include/nvtx3/nvtx3.h
          PATHS /opt/nvidia/hpc_sdk /usr/local/nvhpc
          DOC "NVHPC安装根目录")

# 查找NVCC编译器
find_program(NVCC_EXECUTABLE
             NAMES nvcc
             PATHS ${NVHPC_ROOT}/cuda/bin
             DOC "NVCC可执行文件")

# 查找NVHPC Fortran/C/C++编译器
find_program(NVHPC_FC_EXECUTABLE
             NAMES nvfortran
             PATHS ${NVHPC_ROOT}/compilers/bin
             DOC "NVHPC Fortran编译器")

find_program(NVHPC_CC_EXECUTABLE
             NAMES nvc
             PATHS ${NVHPC_ROOT}/compilers/bin
             DOC "NVHPC C编译器")

find_program(NVHPC_CXX_EXECUTABLE
             NAMES nvc++
             PATHS ${NVHPC_ROOT}/compilers/bin
             DOC "NVHPC C++编译器")

# 验证并设置变量
set(NVHPC_FOUND FALSE)
if(NVHPC_ROOT AND NVCC_EXECUTABLE AND NVHPC_FC_EXECUTABLE)
    set(NVHPC_FOUND TRUE)
    set(NVHPC_INCLUDE_DIRS ${NVHPC_ROOT}/include ${NVHPC_ROOT}/cuda/include)
    set(NVHPC_LIBRARY_DIRS ${NVHPC_ROOT}/lib64 ${NVHPC_ROOT}/cuda/lib64)
endif()

# 遵循CMake标准查找逻辑
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(NVHPC
                                  REQUIRED_VARS NVHPC_ROOT NVCC_EXECUTABLE NVHPC_FC_EXECUTABLE
                                  VERSION_VAR NVHPC_VERSION)

随后在项目的CMakeLists.txt中添加:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

(假设FindNVHPC.cmake放在项目根目录的cmake文件夹下)

3. 确认NVHPC完整安装

部分精简版NVHPC可能缺少cmake配置组件,需重新下载完整的NVHPC SDK安装包进行安装。


内容的提问来源于stack exchange,提问作者hai_john

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:30:34