我正在尋找一種簡單的方法來爲多個線程並行地生成0.0到1.0之間的隨機浮點數。這是我的內核至今..如何在CUDA FORTRAN中生成隨機數字?
attributes(global) subroutine rand_kernel()
implicit none
integer :: tid
real :: r
! Thread ID
tid = threadIdx%x
! Generate random number
call <some random number generator> (r)
! Randomise array
d_array(tid) = r
end subroutine rand_kernel
我在論壇上環顧四周,閱讀CURAND手冊,但我還是想不出該怎麼辦。我甚至不確定CUDA FORTRAN是否有任何隨機數字庫。 我只需要一個正確的方向,然後我可以寫一個體面的隨機數發生器。
感謝您的幫助
您可以使用相同的技術來連接CURAND。 – Tom 2011-02-05 18:04:13