Bonjour à toutes et tous,

Dans le cadre de mon stage je travaille sur les cartes graphiques et je dois bien séparé les composants du projet.
Une partie Cuda, une partie C et enfin une partie Matlab ... c'est comme ca je suis obligé.... et c'est la m***e ... enfin bref.

Je voudrais donc créer une bibliotheque dynamique regroupant mes fonctions pour le traitement graphique (cuda) : déjà là je sais pas si c'est mieux de créer une bibliothèque directement avec nvcc ou passer par du c ou c++ pour faire une "surcouche" (moi j'ai fais diectement avec nvcc).
Ensuite, pour compliquer un peu, il faut que je créé une nouvelle bibliothèque dynamique (.so) qui est du code C utilisant la bibliothèque faite pour cuda.
J'ai donc une bib pour "linker" Cuda à C qui est utilisée par une autre bib qui "linke" C à Matlab ...

En gros mon problème c'est que je ne sais pas si c'est mieux de faire une bib pour cuda directement avec nvcc ou de passer par une "encapsulation" C/C++, ET SURTOUT je n'arrive pas à compiler le fichier C utilisant la bib précédemment créée ...

Petit récap :
  • hello.cu => en faire une bib soit directement, soit en passant par du C/C++
  • hello.c => utilise les fonctions cuda de la bib précéndente ET doit créer une nouvelle bib que j'utilise pour Matlab


Si par chance quelqu'un a compris ce que je raconte et qui est gère la compilation ... merci de bien vouloir m'aider !

Pour info, pour compiler les fonctions cuda j'ai fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
nvcc --shared -o libhello.so hello.cu --compiler-options '-fPIC'
ca marche, du moins sa créer le .so