Articles of cuda

Comment et quand dois-je utiliser le pointeur avec l’API cuda?

J’ai une bonne compréhension de la façon d’allouer et de copier de la mémoire linéaire avec cudaMalloc() et cudaMemcpy() . Cependant, lorsque je souhaite utiliser les fonctions CUDA pour allouer et copier des masortingces 2D ou 3D, je suis souvent troublé par les différents arguments, en particulier en ce qui concerne les pointeurs pitchés qui […]

Modèle CUDA – quelle est la taille de la chaîne?

Quelle est la relation entre la taille maximale du groupe de travail et la taille de la chaîne? Supposons que mon appareil dispose de 240 processeurs de streaming CUDA (SP) et renvoie les informations suivantes: CL_DEVICE_MAX_COMPUTE_UNITS: 30 CL_DEVICE_MAX_WORK_ITEM_SIZES: 512/512/64 CL_DEVICE_MAX_WORK_GROUP_SIZE: 512 CL_NV_DEVICE_WARP_SIZE: 32 Cela signifie qu’il a huit SP par multiprocesseur en continu (c’est-à-dire, unité […]

CUDA: Combien de threads simultanés au total?

Je possède une GeForce GTX 580 et je veux faire une déclaration sur le nombre total de threads qui peuvent (idéalement) être exécutés en parallèle, à comparer avec 2 ou 4 processeurs multi-cœurs. deviceQuery me donne les informations suivantes éventuellement pertinentes: CUDA Capability Major/Minor version number: 2.0 (16) Multiprocessors x (32) CUDA Cores/MP: 512 CUDA […]

Puis-je / dois-je exécuter ce code sur un GPU?

Je travaille sur une application statistique contenant environ 10 à 30 millions de valeurs à virgule flottante dans un tableau. Plusieurs méthodes effectuant des calculs différents mais indépendants sur le tableau dans des boucles nestedes, par exemple: Dictionary noOfNumbers = new Dictionary(); for (float x = 0f; x < 100f; x += 0.0001f) { int […]

Comment puis-je comstackr du code CUDA puis le lier à un projet C ++?

Je cherche de l’aide pour démarrer un projet impliquant CUDA. Mon but est d’avoir un projet que je peux comstackr dans le compilateur natif g ++ mais qui utilise le code CUDA. Je comprends que je dois comstackr mon code CUDA dans le compilateur nvcc, mais si je comprends bien, je peux en quelque sorte […]

Quand appeler cudaDeviceSynchronize?

quand est-ce que l’appel à la fonction cudaDeviceSynchronize est vraiment nécessaire? Si je comprends bien la documentation CUDA, les kernelx CUDA sont asynchrones, il semble donc que nous devrions appeler cudaDeviceSynchronize après chaque lancement du kernel. Cependant, j’ai essayé le même code (réseaux de neurones d’apprentissage) avec et sans cudaDeviceSynchronize , sauf un avant la […]

Fortran vs C ++, Fortran a-t-il encore un avantage dans l’parsing numérique de nos jours?

Avec le développement rapide des compilateurs C ++, en particulier des compilateurs Intel, et la possibilité d’appliquer directement les fonctions SIMD dans vos codes C / C ++, Fortran conserve-t-il un réel avantage dans le monde des calculs numériques? Je travaille dans le domaine des mathématiques appliquées, mon travail implique beaucoup d’parsings numériques, de calculs, […]

CUDA déterminant les threads par bloc, les blocs par grid

Je suis nouveau au paradigme CUDA. Ma question est de déterminer le nombre de threads par bloc et les blocs par grid. Est-ce qu’un peu d’art et d’essai joue avec ça? Ce que j’ai trouvé, c’est que de nombreux exemples ont un nombre apparemment arbitraire choisi pour ces choses. J’envisage un problème où je pourrais […]

Multiprocesseurs, blocs et threads en streaming (CUDA)

Quelle est la relation entre un cœur CUDA, un multiprocesseur en continu et le modèle CUDA de blocs et de threads? Qu’est-ce qui est mis en correspondance avec quoi et qu’est-ce qui est parallélisé et comment? et ce qui est le plus efficace, maximiser le nombre de blocs ou le nombre de threads? Selon ma […]

commande supérieure pour les GPU utilisant CUDA

J’essaie de surveiller un processus qui utilise cuda et MPI, est-ce que je peux le faire, quelque chose comme la commande “top” mais qui surveille aussi le GPU?