NVIDIA GPU上的随机数生成
NVIDIA GPU上的随机数生成
NVIDIA CUDA随机数生成库(cuRAND)提供高性能的GPU加速的随机数生成(RNG)。cuRAND库使用NVIDIA GPU中提供的数百个处理器内核,将质量随机数提高了8倍。cuRAND库包含在NVIDIA HPC SDK和CUDA Toolkit中。
cuRAND性能
cuRAND还提供两个灵活的接口,使您可以从CPU上运行的主机代码或GPU上运行的CUDA函数/内核中批量生成随机数。多种RNG算法和分发选项意味着可以根据需要选择最佳解决方案。
cuRAND主要特点
- 灵活的使用模式
- 主机API,用于在GPU上批量生成随机数
- 内联实现允许在GPU函数/内核内部或主机代码中使用
- 四种高质量的RNG算法
- MRG32k3a
- MTGP梅赛因捻线机Merseinne Twister
- XORWOW伪随机生成
- Sobol的准随机数生成器,包括对加扰和64位RNG的支持
- 多种RNG分发选项
- 均匀分布
- 正态分布
- 对数正态分布
- 单精度或双精度
- 泊松分布

cuRAND库中提供的随机数生成器和统计分布已针对包括TestUO1在内的著名统计测试电池进行了测试。请参阅cuRAND文档以获取选定的测试结果。
cuRAND可用性
cuRAND库可作为NVIDIA HPC SDK的一部分免费提供 。它也包含在CUDA工具包中。
有关cuRAND和其他CUDA数学库的更多信息:
- 演示如何使用cuRAND库的源代码示例:
- CUDA C蒙特卡洛:单一亚洲选项
- CUDA C蒙特卡洛(Pi)估计(批次QRNG)
- CUDA C Pi的蒙特卡洛估计(PRNG批次)
- CUDA C Pi的蒙特卡洛估计(批量内联QRNG)
- CUDA C Pi的蒙特卡洛估计(在线PRNG)
- 其他GPU加速库

NVIDIA GPU上的随机数生成的更多相关文章
- NVIDIA GPU上的Tensor线性代数
NVIDIA GPU上的Tensor线性代数 cuTENSOR库是同类中第一个GPU加速的张量线性代数库,提供张量收缩,归约和逐元素运算.cuTENSOR用于加速在深度学习训练和推理,计算机视觉,量子 ...
- NVIDIA GPU上的直接线性求解器
NVIDIA GPU上的直接线性求解器 NVIDIA cuSOLVER库提供了密集且稀疏的直接线性求解器和本征求解器的集合,它们为计算机视觉,CFD,计算化学和线性优化应用程序提供了显着的加速.cuS ...
- 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库
在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...
- 适用于CUDA GPU的Numba 随机数生成
适用于CUDA GPU的Numba 随机数生成 随机数生成 Numba提供了可以在GPU上执行的随机数生成算法.由于NVIDIA如何实现cuRAND的技术问题,Numba的GPU随机数生成器并非基于c ...
- NVIDIA GPU架构与原理分析(一)——GPU简介与主流Fermi、Kepler架构GPU概述
1 GPU简介 图形处理单元GPU英文全称Graphic Processing Unit,GPU是相对于CPU的一个概念,NVIDIA公司在1999年发布GeForce256图形处理芯片时首先提出GP ...
- 利用nvidia-smi 管理和监控NVIDIA GPU设备
NVIDIA系统管理界面介绍 原文来源:https://developer.nvidia.com/nvidia-system-management-interface NVIDIA系统管理界面(nvi ...
- NVIDIA GPU Pascal架构简述
NVIDIA GPU Pascal架构简述 本文摘抄自英伟达Pascal架构官方白皮书:https://www.nvidia.com/en-us/data-center/resources/pasca ...
- NVIDIA GPU Volta架构简述
NVIDIA GPU Volta架构简述 本文摘抄自英伟达Volta架构官方白皮书:https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Ce ...
- NVIDIA GPU Turing架构简述
NVIDIA GPU Turing架构简述 本文摘抄自Turing官方白皮书:https://www.nvidia.com/content/dam/en-zz/Solutions/design-vis ...
随机推荐
- 5- MySQL数据库SELECT查询操作
复习: 数据类型: 数值型:整数(int,tinyint,smallint,bigint,mediumint) 浮点型(float ,double,decimal) 字符型:char(固定长度) ,v ...
- hdu3338 最大流
题意: 给你一个N*M的网格,上面有的有一些数字,要求填充数字,满足的规则是这样: 答案不唯一,只要满足和的关系就可以,还有就是只能用1--9之间的数字填充,而且每一行或一列可 ...
- Android开机时间分析
http://blog.csdn.net/huangyabin001/article/details/42777703
- ajax提交session超时跳转页面使用全局的方法来处理
来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在 ...
- Qt链接MySQL发布后Drive not loadedDrive not loaded怎么办
缺少动态链接库!把MySQL文件夹下面带dll.lib的全复制进去就行了
- LINQ之查询语法
新开一节LINQ的入门讲解. LINQ(Language Integrated Query)语言集成查询,是C#语言的扩展,它的主要功能是从数据集中查询数据,就像通过sql语句从数据库查询数据一样(本 ...
- Mybatis学习之自定义持久层框架(一) 为什么要用框架而不直接用JDBC?
前言 说起Mybatis,相信大家都不会感到陌生,它是一款优秀的持久层框架,应用于java后端开发中,为客户端程序提供访问数据库的接口. 我们都知道,JDBC是Java语言中用来规范客户端程序如何来访 ...
- SpringBoot系列——Activiti7工作流引擎
前言 工作流程是我们日常开发项目中常见的功能,本文记录springboot整合activiti7. Activiti介绍 官网:https://www.activiti.org 数据库表 act_hi ...
- InnoDB存储引擎简介
前言: 存储引擎是数据库的核心,对于 MySQL 来说,存储引擎是以插件的形式运行的.虽然 MySQL 支持种类繁多的存储引擎,但最常用的当属 InnoDB 了,本篇文章将主要介绍 InnoDB 存储 ...
- Mac OSX系统homebrew update Fetching failed问题解决方案
1. brew update error (i) 问题出现及现象描述 昨天换了台电脑,有些软件需要重新安装或更新一下,遇到了下面的问题 cv@xys-MacBook-Pro ~ % brew upda ...