Exp işlevini cuda'da nasıl optimize edebilirim? CUDA'da aşağıdakiler arasındaki farklar nelerdir?CUDA exp() expf() ve __expf()
exp()
expf()
__expf()
Exp işlevini cuda'da nasıl optimize edebilirim? CUDA'da aşağıdakiler arasındaki farklar nelerdir?CUDA exp() expf() ve __expf()
exp()
expf()
__expf()
farklılıklar CUDA C Programming Guide, Ek D açıklanmıştır
expf()
float
) için aşırı olması gerektiği halde
exp()
, çift hassasiyet için kullanılmalıdır __expf()
hızlı matematik versiyonudur, performans bazı hassasiyet kaybıyla daha hızlıdır (giriş değerine bağlı olarak, daha fazla ayrıntı için bkz. guide).bir şey bulmak umuduyla stackoverflow beats bulma olduğunu Maksimum ulp hatası '2 + kat (abs (1.16 * x)) 'dir. Bunu cevabınıza eklemek isteyebilirsiniz;) –
Genel exp()
, çiftler için yüzen için expf()
ve her ikisi de bir donanım işlemi olarak kullanılabilir __exp()
biraz daha yavaştır. Performans artışı genellikle doğruluk maliyetine dayanır, ancak gerçekten doğruluktan endişelenmedikçe sorun olmaz.
Bu, CUDA programlama kılavuzunun Ek C'sinde, önceki CUDA ile ilgili sorularınızın birçoğunda olduğu gibi ele alınmıştır. Belki şimdi belgeleri okumak için zamanı geldi mi? – talonmies
Şimdi [Ek D] 'de (http://docs.nvidia.com/cuda/cuda-c-programming-guide/#mathematical-functions-appendix) ele alınmıştır. Bunun bir ara tekrar değişeceğini biliyorum. –
Ben onun sorusunu sevdim, googling ve cuda belgelerinde imho – ikku100