J'utilise fréquemment l'arithmétique complexe dans CUDA et j'ai besoin de définir mes propres implémentations, par exemple, de fonctions transcendantes (sin
, cos
, exp
, ...) sur des nombres complexes. Je veux maintenant résoudre définitivement le problème en écrivant une bibliothèque de telles fonctions afin de considérer un "grand" nombre de cas et en évitant d'être arrêté à tout moment pour de nouvelles implémentations. Je suis conscient que pour certains d'entre eux, l'écriture de code pourrait être non triviale du point de vue du compromis entre précision et complexité de calcul. Néanmoins, je suis également conscient que C++ a son propre complex math library.Arithmétique complexe dans CUDA
Y a-t-il une possibilité de "recycler" des solutions C++ déjà existantes à des fins CUDA?
Nous avons partagé une bibliothèque de fonctions '__device__' et d'opérateurs sur des nombres complexes à [CUDA Complex Library Download Page] (http://www.orangeowlsolutions.com/bluebird) incluant les fonctions suivantes:' real', 'imag ',' abs', 'angle',' conj', 'log',' log10', 'polaire',' sqrt', 'sin',' cos', 'tan',' exp', 'pow', «asinh», «acosh», «atanh», «sinh», «cosh», «tanh», «asin», «atan», «acos». Dans le fichier compressé téléchargeable, il existe un répertoire Stand-Along Complex ainsi qu'un exemple d'utilisation de Visual Studio. Nous espérons que cela pourrait être utile à la communauté. Bien sûr, toute critique sera la bienvenue :-) – JackOLantern