2013-09-06 5 views
0

Je voudrais savoir comment l'allocation d'un espace mémoire dans CUDA est implémentée sous Ubuntu Linux. En d'autres termes, comment fonctionne cudaMalloc() en interne sous Ubuntu Linux? Quels sont les appels système utilisés pour cette fonction?Comment cudaMalloc est implémenté en interne sous Ubuntu Linux?

+1

CUDA fonctionne sur trois systèmes d'exploitation. Pensez-vous qu'ils sont tous les mêmes? Et pourquoi avez-vous besoin de savoir cela de toute façon? – talonmies

+0

J'ai besoin pour Ubuntu OS .. Juste comment cela fonctionne lors de l'allocation de la mémoire ?? –

+5

Pour autant que je sache, le code qui implémente 'cudaMalloc' n'est pas publié. –

Répondre

0

CUDA est une marque déposée. Il est probable que la mise en œuvre du pilote CUDA soit identique ou similaire à OpenCL. Mais si la spécification OpenCL est ouverte, l'implémentation n'est pas nécessaire et le pilote NVIDIA OpenCL n'est pas ouvert. Il est possible que l'implémentation soit aussi simple que le pilote soumettant une commande malloc entièrement gérée du côté matériel avec le pilote noyau communiquant avec le système pour obtenir un adressage virtuel unifié et déterminer quelle mémoire réside dans la VRAM. Probablement la partie technique du côté logiciel est d'éviter l'allocation ou de la reporter.

En regardant pocl peut vous donner une idée de comment les choses peuvent ressembler. L'implémentation de NVIDIA peut être très différente.

Questions connexes