numba用户手册9. numba线程
发布日期:2021-06-29 14:44:00
浏览次数:3
分类:技术文章
本文共 1858 字,大约阅读时间需要 6 分钟。
numba用户手册
numba线程------------------------------------------------------------------------------------------------------------------------------------------------------7.1说明:1)并行执行通过parallelCPU 发生的即: @jit(parallel=True). and @njit(parallel=True). @vectorize(target='parallel' ) and @guvectorize(target='parallel' ).2)如不用threading或multiprocessing ,则numba附带线程的默认设置会很好工作,无需采取进一步措施!7.2.线程层:1)tbb - Intel TBB支持的线程层(需要存在英特尔的TBB库conda install tbb)2)omp -OpenMP支持的线程层(与linux1兼容移植性在PyPI上numba二进制轮子中禁用OpenMP线程层 )($ conda install intel-openmp) 3)workqueue -一个简单的内置工作共享任务计划程序(保证存在的唯一线程层)7.3.设置线程层通过环境变量 设置线程层 numba.config.THREADING_LAYER编程方式设置线程层必须在逻辑上发生,后再针对并行目标进行任何基于numba的编译.7.4.选择线程层有两种方法,一种是通过选择在各种并行执行形式下安全的线程层,第二种是通过线程层名称(例如tbb)进行显式选择.default 没有提供具体的安全保证,并且是默认设置.safe 线程和线程都是安全的,这需要安装tbb软件包(Intel TBB库)forksafe 提供一个fork安全库.threadsafe 提供线程安全库.------------------------------------------------------------------------------------------------------------------------------------------------------7.5.实例:from numba import config, njit, threading_layerimport numpy as npconfig.THREADING_LAYER = 'threadsafe' # 在任何并行目标编译之前设置线程层@njit(parallel=True)def foo(a, b): return a + bx = np.arange(10.)y = x.copy()# 这将强制编译函数,选择一个线程层,然后并行执行foo(x, y) # 演示所选的线程层print("Threading layer chosen: %s" % threading_layer()) # 查看所选的线程层# Threading layer chosen: omp------------------------------------------------------------------------------------------------------------------------------------------------------7.6.other:numba诊断命令的一节 报告了当前环境中线程层的可用性.numba -s__Threading Layer Information__------------------------------------------------------------------------------------------------------------------------------------------------------
转载地址:https://chunyou.blog.csdn.net/article/details/103963092 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月30日 20时04分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
同时拿到BATJMD的Offer是怎样的一种体验?
2019-04-29
CPU深夜狂飙,一帮大佬都傻眼了...
2019-04-29
阿里一面:如何保证API接口数据安全?
2019-04-29
2W 字详解 Redis 6.0 集群环境搭建实践
2019-04-29
漫画 | 花了七天时间测试,我彻底搞明白了 TCP 的这些内存开销!
2019-04-29
千万QPS毫秒响应:快手数据中台建设实践
2019-04-29
Elasticsearch简史:源自给老婆开发烹饪App
2019-04-29
最常用的分布式 ID 解决方案,都在这里了!
2019-04-29
Redis 核心篇:唯快不破的秘密
2019-04-29
网易基于Filebeat的日志采集服务设计与实践
2019-04-29
新款笔记本写代码贼爽,包邮送一台!
2019-04-29
实践微服务六年,我获得了这些心得体会
2019-04-29
写给那些想升职管理层的同学
2019-04-29
大白话详解5种网络IO模型
2019-04-29
两个高频设计类面试题:如何设计HashMap和线程池
2019-04-29
最好的IDEA debug长文?看完我佛了
2019-04-29
大厂程序员回乡真风光?敲锣打鼓游街欢迎,横幅写着月薪和公司!
2019-04-29
吵疯了,Pull Request到底是个啥?
2019-04-29