2017-04-06 3 views
5

Quelqu'un peut-il s'il vous plaît expliquer ou me référer une bonne source sur ce qui est un contexte CUDA? J'ai cherché CUDA développeur guide et je n'étais pas satisfait.Qu'est-ce qu'un contexte CUDA?

Toute explication ou aide sera grande.

+0

Il n'y a pas d'information publique sur le contenu d'un contexte cuda qui est, par nature, sujet à changement pour inclure de nouvelles caractéristiques. Je ne vois pas de meilleure façon de le décrire, et je ne comprends pas ce qui manque et ce que vous attendiez. –

+0

Existe-t-il un concept similaire dans toute autre bibliothèque Open Source que je puisse consulter? –

+0

Je considère que le contexte opencl est assez similaire. https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/clCreateContext.html. À ma connaissance, l'implémentation open source d'opencl existe. –

Répondre

6

L'API cuda expose les caractéristiques d'une bibliothèque avec état: deux appels consécutifs se rapportent les uns aux autres. En bref, le contexte est son état.

Le runtime API est un wrapper/helper du driver API. Vous pouvez voir dans l'API de pilote que le contexte est explicitement rendu disponible, et vous pouvez avoir une pile de contextes pour plus de commodité. Il existe un contexte spécifique qui est partagé entre le pilote et l'APU d'exécution (voir primary context)).

Le contexte contient toutes les données de gestion pour contrôler et utiliser le périphérique. Par exemple, il contient la liste de la mémoire allouée, les modules chargés contenant le code du périphérique, le mappage entre la CPU et la mémoire GPU pour la copie zéro, etc.

Enfin, notez que ce post est plus basé sur l'expérience que sur la documentation. .

+1

Les deux réponses sont éclairantes. Mais je ne suis toujours pas satisfait. Pouvez-vous le décrire plus en détail? –

2

essentiellement, une structure de données qui contient des informations pertinentes pour maintenir un état cohérent entre les appels que vous effectuez, par ex. (open) (execute) (close)

Ceci permet aux fonctions que vous appelez d'envoyer les signaux dans le bon sens, même si vous ne leur dites pas précisément quelle est cette direction.