上一页 1 ··· 265 266 267 268 269 270 271 272 273 ··· 367 下一页
摘要: BEP 7:CUDA外部内存管理插件(下) Numba依赖 向库中添加EMM插件的实现自然会使Numba成为库的依赖项,而以前可能没有。为了使依赖关系可选,如果需要的话,可以有条件地实例化并注册EMM插件,如下所示: try: import numba from mylib.numba_utils 阅读全文
posted @ 2020-12-26 17:06 吴建明wujianming 阅读(190) 评论(0) 推荐(0)
摘要: BEP 7:CUDA外部内存管理插件(上) 背景和目标 在CUDA阵列接口使得能够共享不同的Python之间的数据库的访问CUDA设备。但是,每个库都与其它库区别对待。例如: Numba在内部管理内存以创建设备和映射的host阵列。 RAPIDS库(cuDF,cuML等)使用Rapids Memor 阅读全文
posted @ 2020-12-26 17:04 吴建明wujianming 阅读(258) 评论(0) 推荐(0)
摘要: 缓存注意事项 Numba支持将编译后的函数缓存到文件系统中,以供将来使用相同的函数。 实施 通过保存编译后的目标代码(可执行代码的ELF对象)来完成缓存。通过使用目标代码,由于不需要编译,因此缓存的函数具有最小的开销。缓存的数据保存在缓存目录下(请参阅NUMBA_CACHE_DIR)。缓存的索引存储 阅读全文
posted @ 2020-12-26 16:33 吴建明wujianming 阅读(303) 评论(0) 推荐(0)
摘要: 关于Numba的线程实现的说明 由Numbaparallel目标执行的工作由Numba线程层执行。实际上,“线程层”是Numba内置库,可以执行所需的并发执行。在撰写本文时,有三个可用的线程层,每个线程层都通过不同的较低级别的host线程库实现。上thread线程和对于给定的应用/系统的thread 阅读全文
posted @ 2020-12-26 16:17 吴建明wujianming 阅读(418) 评论(0) 推荐(0)
摘要: Hashing散列注意事项 Numba支持内置功能hash(),只需__hash__()在提供的参数上调用成员函数即可 。这使得添加对新类型的哈希支持变得微不足道,这是因为扩展APIoverload_method()装饰器的应用程序,需要重载用于为注册到该类型的__hash__()方法的新类型,计算 阅读全文
posted @ 2020-12-26 15:52 吴建明wujianming 阅读(136) 评论(0) 推荐(0)
摘要: Numba实时变量分析 Numba使用引用计数进行垃圾回收,这是一种需要编译器配合的技术。Numba IR对必须插入decref的位置进行编码。这些位置通过实时变量分析确定。相应的源代码是https://github.com/numba/numba/blob/master/numba/interpr 阅读全文
posted @ 2020-12-26 15:38 吴建明wujianming 阅读(143) 评论(0) 推荐(0)
摘要: 适用于CUDA GPU的Numba 随机数生成 随机数生成 Numba提供了可以在GPU上执行的随机数生成算法。由于NVIDIA如何实现cuRAND的技术问题,Numba的GPU随机数生成器并非基于cuRAND。相反,Numba的GPU RNG是xoroshiro128 +算法的实现。xoroshi 阅读全文
posted @ 2020-12-26 14:45 吴建明wujianming 阅读(556) 评论(0) 推荐(0)
摘要: 适用于CUDA GPU的Numba例子 矩阵乘法 这是使用CUDA内核的矩阵乘法的简单实现: @cuda.jit def matmul(A, B, C): """Perform square matrix multiplication of C = A * B """ i, j = cuda.gri 阅读全文
posted @ 2020-12-26 14:32 吴建明wujianming 阅读(491) 评论(0) 推荐(0)
摘要: 共享CUDA内存 进程间共享 此功能仅限于Linux。 将设备阵列导出到另一个进程 使用CUDA IPC API,可以与同一台计算机上的另一个进程共享设备阵列。为此,请使用.get_ipc_handle()设备阵列上的方法获取一个IpcArrayHandle对象,该对象可以转移到另一个进程。 Dev 阅读全文
posted @ 2020-12-26 14:25 吴建明wujianming 阅读(452) 评论(0) 推荐(0)
摘要: CUDA功能和通用功能 本文描述了类似于CUDA ufunc的对象。 为了支持CUDA程序的编程模式,CUDA Vectorize和GUVectorize无法产生常规的ufunc。而是返回类似ufunc的对象。该对象是一个近似的对象,但与常规的NumPy ufunc不完全兼容。CUDA ufunc增 阅读全文
posted @ 2020-12-26 14:14 吴建明wujianming 阅读(414) 评论(0) 推荐(0)
上一页 1 ··· 265 266 267 268 269 270 271 272 273 ··· 367 下一页