openmp配置指南_Cython:OpenMP配置

在Cython中使用parallel、prange或者OpenMP时,除了添加/openmp编译参数,还需要将vcomp140.dll拷贝到输出目录。

测试环境:Python3.7.4 + VS2019 + Cython0.29

大致步骤如下:

第一步:添加编译脚本。其中extra_link_args=['/openmp']可以去掉,在编译时该参数会被忽略掉。

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

from distutils.core import setup

import numpy

from Cython.Build import cythonize

from Cython.Distutils import build_ext, Extension

# >python setup.py build_ext --inplace

# cython demo.pyx -a

ext_modules = [

Extension("demo",

["demo.pyx"],

include_dirs=[numpy.get_include()],

extra_compile_args=['/openmp'],

extra_link_args=['/openmp'],

)

]

setup(

name="openmp",

ext_modules=cythonize(ext_modules, force=True),

cmdclass={'build_ext': build_ext}

)

第二步:添加OpenMP运行库,在我的电脑里路径是C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.23.27820\x64\Microsoft.VC142.OpenMP\vcomp140.dll,把vcomp140.dll拷贝到输出目录即可。如果没有vcomp140.dll文件,使用时会出现ImportError: DLL load failed: 找不到指定的模块。错误。

注意以上两步,就可以启用OpenMP了。

版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://www.jianshu.com/p/b9f0a2604898

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值