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

Windows10下编译Numpy如何指定使用本地AMD AOCL BLIS/LAPACK库?

解决Anaconda环境下编译NumPy关联AMD AOCL 4.2 BLIS/LAPACK的问题

前提确认

确保AOCL 4.2的BLIS/LAPACK已正确安装,且pkg-config能检测到目标库(你已完成此步骤,可跳过验证)。操作前务必激活Anaconda虚拟环境。


针对GCC编译的解决方案(解决远程下载BLIS、架构不匹配问题)

1. 配置环境变量强制使用本地库

设置以下环境变量,指定pkg-config路径、强制使用BLIS/LAPACK,并修正x86_64架构匹配问题:

# 替换为你的AOCL实际安装路径
export PKG_CONFIG_PATH=/opt/amd/aocl/4.2/blis/lib/pkgconfig:/opt/amd/aocl/4.2/lapack/lib/pkgconfig
# 强制NumPy优先使用BLIS/LAPACK
export NPY_BLAS_ORDER=blis
export NPY_LAPACK_ORDER=lapack
export BLAS=blis
export LAPACK=lapack
# 指定64位编译,解决架构不匹配
export CFLAGS="-m64 -O3"
export FFLAGS="-m64 -O3"

2. 编译安装NumPy

禁用二进制轮子,强制从源码构建:

pip install numpy --no-binary :all: --force-reinstall -v

针对MSVC编译的解决方案(解决.pc文件检测失败、LAPACK名称异常问题)

1. 安装conda版pkg-config

MSVC原生不支持pkg-config,先通过conda安装适配工具:

conda activate your_env
conda install -c conda-forge m2w64-pkg-config

2. 配置环境变量指定库路径

# 替换为你的AOCL实际安装路径
set AOCL_PATH=C:\path\to\aocl\4.2
# 设置头文件路径
set C_INCLUDE_PATH=%AOCL_PATH%\blis\include;%AOCL_PATH%\lapack\include
set CXX_INCLUDE_PATH=%AOCL_PATH%\blis\include;%AOCL_PATH%\lapack\include
# 设置库文件路径
set LIB=%AOCL_PATH%\blis\lib;%AOCL_PATH%\lapack\lib;%LIB%
# 强制使用BLIS/LAPACK
set NPY_BLAS_ORDER=blis
set NPY_LAPACK_ORDER=lapack
set BLAS=blis
set LAPACK=lapack

3. 手动配置site.cfg(可选,解决LAPACK名称异常)

如果仍出现LAPACK名称问题,复制虚拟环境中Lib\site-packages\numpy\distutils\site.cfg.example为site.cfg,添加以下内容:

[blis]
libraries = blis
library_dirs = C:\path\to\aocl\4.2\blis\lib
include_dirs = C:\path\to\aocl\4.2\blis\include

[lapack]
libraries = lapack
library_dirs = C:\path\to\aocl\4.2\lapack\lib
include_dirs = C:\path\to\aocl\4.2\lapack\include

然后执行编译命令:

pip install numpy --no-binary :all: --force-reinstall -v

验证编译结果

编译完成后,进入Python验证是否成功关联目标库:

import numpy as np
np.__config__.show()

输出中应显示BLAS为blis,LAPACK为AOCL对应的库,而非默认的OpenBLAS或其他。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 07:36:01