2013-10-09 1 views
0

일부 임의 번호. 세대 나는 다음과 같이 선택할 수 있습니다 :무작위 생성 없음 커널 내부 해싱

1- 생성 임의의 번호. GPU 및 커널에서 사용

2 생성 임의의 번호. 및 CPU에 하나의 최고

가 어떻게 결정합니까 커널 내부에 기록 된 해시 함수를 사용하여 번호 무작위로 생성 PCI-E

3를 통해 커널에 보내? 일반적인 지침이 있습니까?

답변

2

선택 1이 최상이어야합니다. CUDA는 다양한 분포의 난수를 생성하는 cuRAND 라이브러리를 제공합니다. 최고의 성능을 발휘하도록 설계되었습니다.

선택 2의 성능이 상대적으로 낮습니다. 이 그림은 난수 생성시 GPU와 CPU 간의 성능 차이를 보여줍니다. 당신이이 방법으로 다시 구현 cuRAND 라이브러리에 노력하고 있기 때문에

cuRAND v.s. MKL

선택 3은 필요하지 않습니다.

자세한 내용은 cuRAND 홈페이지 및 doc을 참조하십시오.

https://developer.nvidia.com/curand

http://docs.nvidia.com/cuda/curand/index.html