Citation

"La science, c'est ce que le père enseigne à son fils. La technologie, c'est ce que le fils enseigne à son papa." - Michel Serres, Philosophe

samedi 9 février 2013

Activer la technologie CUDA pour la CS6 sous Mac OS X

Si vous êtes un graphiste chevronné sous Mac et que vous utilisez la suite Adobe CS6, peut-être qu'en lisant ces lignes vous allez pouvoir booster de manière extraordinaire les compétences 3D de vos logiciels sous Mac OS X... à une condition cependant, que votre Mac ait une carte dite "compatible CUDA".



CUDA qu'est-ce que c'est ? Pour faire simple il s'agit d'une technologie permettant d'utiliser des processeurs graphiques, à l'origine destinés à calculer de la 3D, pour exécuter des opérations habituellement réservées au processeur de la carte mère. Si vous n'avez rien compris c'est pas grave, le seul truc à retenir c'est que d'activer la technologie CUDA permet de démultiplier la puissance d'un ordinateur en utilisant sa carte graphique !

CUDA est une technologie exclusivement développée par NVIDIA, la fameuse société qui fournit des cartes graphiques... et depuis un petit moment tous les Mac qui sortent des usines d'Apple ont tendance à adopter ce type de cartes (laissant tomber les cartes du grand concurrent AMD-ATI). Voici les Mac récemment concernés, tous les iMac de 2012 (cartes NVIDIA GeForce GT 640M, 650M, 660M, 675MX et 680MX) ou encore les MacBook Pro 15 pouces (Retina ou pas, carte NVIDIA GeForce GT 650M)... par contre les MacBook Pro 13 pouces, les MacBook Air et les Mac mini de 2012 sont hors circuit... mais il est tout de même possible que vous soyez concerné par la technologie CUDA avec un Mac d'une génération précédente, même les gens qui ont un vieillissant Mac Pro peuvent avoir des cartes compatibles CUDA ! Soit ils ont investi dans les seules cartes officielles qui existent sur le marché, notamment les coûteuses NVIDIA Quadro 4000, Quadro FX 4800 ou encore la petite GeForce GTX 285, soit ils ont dégoté des cartes modifiées issues du monde PC, on trouve facilement sur internet des GeForce GTX 480, 570, 580, Tesla C2050, C2070, Quadro 6000 (par exemple ici, chez macvidcards sur eBay)... et la liste devrait s'allonger car Mac OS X Mountain Lion est de plus en plus CUDA-friendly, certaines cartes PC ne demandent que de tous petits aménagements pour tourner sous Mac ! C'était loin d'être le cas avec les systèmes précédents Lion, Snow Leopard, Leopard... etc.

A noter qu'il existe des boîtiers Thunderbolt capables d'intégrer ce type de cartes (comme les Sonnet Echo Express, les Magma ExpressBox, le Netstor NA211TB, le mlogic mLink R, il y a un article intéressant à lire ici sur yakyakyak)... et que l'on peut brancher à son Mac qui serait dénué de carte CUDA... augmentant ainsi significativement le nombre de machines pouvant bénéficier de cette accélération matérielle... dont la vôtre ?

Alors il existe une procédure relativement simple permettant d'activer la technologie CUDA sur votre Mac... et de débloquer certains plug-ins ou de les optimiser avec Adobe CS6. Les applications concernées sont surtout Adobe Premiere CS6 et Adobe After Effects CS6...

Voici le pas à pas... en 17 étapes ! ^^

1 - Tout d'abord téléchargez le dernier driver CUDA pour Mac en ligne :


2 - Installez le driver CUDA sur votre Mac.

3 - Pour Premiere Pro, lancez GPUSniffer, ouvrez une fenêtre Terminal (c'est une application cachée ici : Applications / Utilitaires / Terminal ou faites un coup de spotlight, la petite loupe qui sert à chercher du contenu sur votre Mac et tapez "Terminal") et copiez-collez cette ligne de commande (même si cette phrase s'affiche sur 2 lignes, copiez bien du premier caractère du premier mot au dernier caractère du dernier mot, le Terminal est un tantinet tatillon) :

/Applications/Adobe\ Premiere\ Pro\ CS6/Adobe\ Premiere\ Pro\ CS6.app/Contents/GPUSniffer.app/Contents/MacOS/GPUSniffer

4 - Repérez le nom de votre carte graphique (dans la section "CUDA Device" il doit suivre la mention "Name :", par exemple pour moi la carte de mon Mac est la "GeForce GTX 680MX" que j'ai mise en surbrillance dans l'image ci-dessous... et ne vous inquiétez pas si votre Terminal n'a pas la même tête que le mien, j'ai choisi le thème "homebrew", il me rappelle de vieilles années !), copiez-collez ce nom dans un petit fichier texte qui va vous servir de mémo (sans oublier ou altérer une seule lettre !), vous en aurez besoin juste après.


5 - Toujours dans le Terminal, copiez-collez cette ligne de commande :

sudo nano /Applications/Adobe\ Premiere\ Pro\ CS6/Adobe\ Premiere\ Pro\ CS6.app/Contents/cuda_supported_cards.txt

6 - On va vous demander votre mot de passe, c'est celui de votre session, celui que vous rentrez tout le temps lorsque vous installez un logiciel... pas de panique, nous sommes en train de modifier un minuscule fichier texte "cuda_supported_cards.txt" caché dans les entrailles de Premiere Pro... donc pas de souci, vous pouvez y aller.

7 - Vous voilà face à la liste de cartes compatibles CUDA officiellement supportées par le trio Adobe-Apple-NVIDIA... et du coup il est fort probable que votre carte n'y apparaisse pas (si c'est le cas, vous avez fini, tapez "ctrl-X", puis "N" et fermez la fenêtre Terminal)... tranquillement mettez-vous à la fin de la liste en utilisant les flèches du clavier, créez une nouvelle ligne si besoin est en tapant "entrée" et ajoutez le nom de votre carte (ou copiez-collez le de votre petit fichier texte mémo).


8 - Tapez "ctrl-X", puis "Y", validez par "entrée" et fermez la fenêtre Terminal, vous venez d'ajouter votre carte à la liste des compatibles !

9 - Ouvrez Adobe Premiere Pro CS6 tout à fait normalement, créez un nouveau projet ou ouvrez n'importe quel ancien projet.

10 - Allez dans le menu "Projet / Réglages du projet / Généralités" et vérifiez que dans la section "Lecture et rendu vidéo / Système de rendu :" vous voyez inscrit "Accélération GPU Mercury Playback Engine (CUDA)"... si c'est le cas, c'est gagné ! Votre Premiere Pro est optimisé CUDA !



11 - Pour After Effects, rebelote, lancez GPUSniffer, ouvrez une fenêtre Terminal et copiez-collez cette ligne de commande :

/Applications/Adobe\ After\ Effects\ CS6/Adobe\ After\ Effects\ CS6.app/Contents/GPUSniffer.app/Contents/MacOS/GPUSniffer

12 - Toujours dans le Terminal, copiez-collez maintenant cette ligne de commande :

sudo nano /Applications/Adobe\ After\ Effects\ CS6/Adobe\ After\ Effects\ CS6.app/Contents/raytracer_supported_cards.txt

13 - Rentrez votre mot de passe en toute confiance, cette fois-ci on va modifier le fichier "raytracer_supported_cards.txt" caché dans les entrailles d'After Effects.

14 - Comme précédemment avec Premiere Pro (étape 7), mettez-vous à la fin de la liste en utilisant les flèches du clavier, créez une nouvelle ligne si besoin est en tapant "entrée" et ajoutez le nom de votre carte (ou copiez-collez le de votre petit fichier texte mémo).


15 - Tapez "ctrl-X", puis "Y", validez par "entrée" et fermez la fenêtre Terminal, vous venez d'ajouter votre carte à la liste des compatibles !

16 - Ouvrez Adobe After Effects CS6.

17 - Allez dans le menu "After Effects / Préférences / Prévisualisations...", cliquez sur le bouton "Informations GPU..." et vérifiez, en choisissant "GPU" à la section "Lancer de rayon :", que votre carte apparaît bien tout en bas dans la zone "CUDA"... si c'est le cas, alors c'est gagné aussi, votre After Effects est optimisé CUDA !


Voilà ! C'est fait ! Le fait d'activer le moteur CUDA sur Premiere Pro et sur After Effects peut vous donner des résultats vraiment spectaculaires, certains sites ont mesuré des rendus jusqu'à 60 fois plus rapides en 3D sur ce dernier, notamment avec des plug-ins comme VideoCopilot Element 3D ou encore Mettle FreeForm Pro... sans compter l'accélération naturelle en mode "lancer de rayon" lorsque vous manipulez des calques 3D directement dans une composition.

Soyez vigilants cependant, il est possible qu'à la prochaine mise à jour de Premiere Pro et/ou After Effects, les petits fichiers textes que nous avons modifiés puissent être réinitialisés, dans ce cas il faudra relancer les procédures adéquates. Il est probable que, dans un futur (très) proche, votre carte apparaisse naturellement dans ces listings en ayant été ajoutée par l'équipe d'Adobe elle-même... et enfin votre carte sera considérée comme officiellement supportée !

29 commentaires:

  1. Vraiment un tuto qui est très utile pour les rendus si on arrive à le mettre sur after effect seulement j'ai bien tout suivi mais il me mette "GPU indisponible - pilote CUDA ou périphérique incompatible"
    Que faire ?
    Merci de votre aide

    RépondreSupprimer
    Réponses
    1. Etes-vous sûr d'avoir une carte gérant les instructions CUDA ? Seules certaines cartes NVIDIA relativement récentes sont capables d'accélérer matériellement ces instructions spécifiques et propriétaires.

      Supprimer
  2. bonjour,
    j'ai une
    GeForce GTX 680MX,

    j'ai installé le tout dernier driver indiqué, suivi les instructions à la lettre,
    mais quand j'ouvre After, il me lance ce message:

    After Effects error:Ray-traced 3D: Initial shader compile failed.
    (5070 :: 0)

    Dans les préférences, le GPU est bienn activé,
    mais à l'ouverture d'un projet avec du ray-traced, After me dit:


    1 rendering plug-in was not found. (Ray-traced 3D). The default rendering plug-in will be substituted


    et les compos en ray-traced sont remplacée par la 3D classique.

    Sur la fin d'un projet que je dois remettre dans les jours qui viennent, me voilà dans l'urgence.

    que se passe-t-il?
    comment refaire fonctionner le ray-traced?
    toute aide serait extrêmement appréciée,
    merci d'avance.
    murielle

    RépondreSupprimer
    Réponses
    1. Etonnant... avez-vous trouvé une solution ? Cette erreur indique qu'After Effects rejette la carte... tout simplement ! Peut-être est-il bon de vérifier que votre After Effects est à jour (dernière version officielle payante de la CS6 ou de la CC) ainsi que votre driver NVIDIA CUDA... et si ça ne marche toujours pas, peut-être est-il temps de réinitialiser les préférences d'After Effects à son démarrage ? Pour les effacer, faites "command + alt + shift" au démarrage de l'application sous Mac X (remplacer "command" par "control" sur Windows). Pour finir j'ai entendu parler de certains utilisateurs qui avaient légèrement ralenti la fréquence d'horloge de leur carte graphique... et cela avait solutionné tous leurs problèmes !

      Supprimer
  3. Un grand merci pour ce tuto, j'avais peur de trouver des explications embrouillées en cherchant sur la toile mais là c'est parfaitement expliqué !
    Par contre pas de bol, carte non compatible apparemment... (pourtant mon imac est de 2013, snif je l'ai bien dans l'oignon...^^)

    RépondreSupprimer
  4. Salut,

    Ton tuto pour Cuda ne fonctionne pas sous 10.9 Maverick, ou alors y'a til une autre manipe

    Dans l'attente de te relire,

    Merci

    RépondreSupprimer
    Réponses
    1. Avec les dernières versions du driver CUDA (5.5.28 - les versions 5.5 précédentes généraient quelques bugs) et d'After Effects (11.0.3 pour la CS6, 12.1 pour la CC) tout fonctionne correctement. De nouvelles cartes compatibles ont été ajoutées par Adobe et la dernière version d'After Effects CC offre la possibilité d'en tester d'autres... sinon il y a toujours moyen de faire reconnaitre sa carte par défaut en l'ajoutant à la main dans la liste de celles reconnues officiellement... en suivant la procédure indiquée ci-dessus ou en adaptant les lignes à entrer dans le terminal pour la CC : "sudo nano /Applications/Adobe\ After\ Effects\ CC/Adobe\ After\ Effects\ CC.app/Contents/raytracer_supported_cards.txt".

      Supprimer
    2. Hello,

      Merci pour ce tuto très clair ! j'ai suivi toutes les étapes avec la ligne de commande pour After CC 12.1 et ça ne fonctionne pas. La GT 750M de mon MBPr fin 2013 est bien écrit pourtant dans le fichier texte.

      Je ne vois d'ou le problème peut provenir.

      Supprimer
  5. EDIT : J'ai reussi, Cuda apparait quand toutes les ressources sont fermées, en loccurence... Google Chrome :)

    RépondreSupprimer
  6. Perso meme en fermant chrome et toutes les applis, le tuto ne change rien sous after et encore moins sous Davinci Resolve qui plante tjrs à cause de cela :( C'est une honte que Nvidia ne bouge pas! Pas envie de downgrader vers Mountain Lion ! Fuck!

    RépondreSupprimer
    Réponses
    1. Il semble que la version CS6 d'After accepte plus facilement d'activer le protocole CUDA (même sur Mavericks)... alors que la CC exige plus mémoire VRAM et bloque tout au démarrage (avec une petite boîte de dialogue pour prévenir, c'est déjà ça !). En effet ça marchait mieux sur Mountain Lion ! Il faut peut-être patienter pour quelques mises à jour salvatrices (Apple, Adobe, Nvidia). Pour ma part il m'arrive d'ouvrir la CS6 assez souvent... pour ces problèmes là et aussi parce qu'un paquet de plug-ins n'ont toujours pas évolué (officiellement) pour la version CC (par exemple : Mettle FreeForm Pro, Video Copilot Optical Flares, Jupiter Jazz Atomkraft)... Wait and see... hélas !

      Supprimer
  7. super, je viens de recevoir une GTX 680, et ça faisait un bon moment que je me prenais la tête à télécharger toutes sortes de drivers avec toujours le même problème.
    Grâce à ton tuto super bien expliqué, tout est rentré dans l'ordre, merci à toi.
    Ne reste plus qu'à faire tourner after effects en espérant rester scotché au fauteuil !
    Pour l'instant je constate que c'est plus rapide, mais je m'attendais à mieux, à suivre...

    RépondreSupprimer
  8. Par contre, comment cela se fait-il que "modèle d'ombrage" soit grisé / inactif, dans la boîte de dialogue sur les informations GPU ?
    Cela rend-il les rendus et prévisualisations plus lentes ?

    RépondreSupprimer
  9. Bonjour,

    Personnelement je suis passé depuis peu de CS5 à la CS6 ou je bosses surtout avec Photoshop et de Blender à Cinema 4D. L'idée de booster ma bécanne me tente bien car je commence à sentir certains ralentissement dans les mutitaches surtout en rendering. Bref vos explications traitent de AE et Première. Je tournes sur MacBook Pro 17 intel Core I5 avec une carte Nvidia GT 330M qui semble compatible avec CUDA. Vous pouvez me rencarder la dessus car je trouve pas d'infos claire... Merci d'avance et bravo pour ce Post !

    RépondreSupprimer
  10. bonjour je viens de decouvrir surement le moyen de supprimer cette affreuse erreur d'open gl quand j'utilise after effect.
    mais probleme je bloque a l'etape 3 quand vous parler d'ouvrir gpusniffer qu'est ce que c'est???

    RépondreSupprimer
  11. bonjour, j'ai un autre probleme, dans le fenêtre "information GPU" et pour "Lancer de rayon" je ne peut que choisire "unité centrale" et il me dit que : "GPU indisponible - périphérique ou pilote d'affichage incompatible" ( mon carte gpu est AMD Radeon HD 7450M ), je l'ajoute dans le fichier raytracer_support_cards.txt mais ça ne marche pas :'(

    RépondreSupprimer
    Réponses
    1. Ça ne fonctionne pas avec les cartes AMD (qui ne connaissent pas le langage CUDA)... uniquement avec certaines cartes NVIDIA.

      Supprimer
  12. Bonjour
    avez vous installé la derniers version du logiciel CUDA qui permet à After effect de lire la carte graphie NVIDIA ?

    RépondreSupprimer
  13. Salut,
    Merci pour toutes ces astuces. J'ai malheureusement un bug, tout ce passe bien pour PremiereCS6 mais en revanche ça ne marche pas pour AE… J'ai fais la manip en passant par "afficher le contenu du paquet" (clic droit sur l'icône de l'appli) et changé le fichier "raytracer supported card" par un nouveau, identique mais dans lequel figure ma carte nvidia gtx 970. Cela ne marchant pas j'ai testé de la façon dont vous l'expliquez mais il m'est impossible de rentrer mon mot de passe, celui-ci ne veux pas s'inscrire dans le terminal… Une idée ? Un conseil ?
    Ma config. : MacPro début 2008 OSX 10.10.2 / 2 x 3 GHz Quad-Core Intel Xeon

    RépondreSupprimer
    Réponses
    1. En fait j'ai finalement réussi à rentrer dans le fichier par le Terminal et à faire la manip. mais AE ne veux toujours pas reconnaitre ni utiliser le GPU (GPU indisponible - péripherique ou pilote CUDA incompatibles) alors que tout est on ne peut plus à jour !… :(
      Merci d'avance

      Supprimer
  14. Salut, et Merci !
    comme d'autres, j'ai un problème avec la carte GT 750M sur mon macbook pro 15".
    Impossible d'activer GPU dans AE...
    Le pilote semble pourtant être le bon.
    Où se trouve le ficher text à modifier pour y intégrer la carte ?

    Encore merci !

    RépondreSupprimer
    Réponses
    1. Ok, j'ai réussi à ajouter manuellement ma carte GT 750M.
      Dans After Effect, il est bien possible maintenant de cocher l'utilisation GPU, mais il me dit qu'il est "non testé" ... ca signifie quoi ?

      Supprimer
  15. Ça signifie qu'il n'est pas supporté de base... mais en fait il n'y a pas de risque, la carte va très bien fonctionner. :)

    RépondreSupprimer
  16. super !
    Encore merci pour ces conseils !!

    RépondreSupprimer
  17. encore une question : depuis hier, en allant voir "A propos de ce mac" la carte GeForce GT 750M n'apparait plus, c'est la carte Intel Iris qui est indiquée.
    l'ordi est bien équipé des 2, mais pourquoi elles n'apparaissent pas toutes les 2 ?

    RépondreSupprimer
    Réponses
    1. j'ai ma réponse : en fonction du programme en cours et du fait qu'il utilise l'une ou l'autre des cartes, "A propos de ce Mac" me donne le nom de la carte utilisée...
      ;)

      Supprimer
  18. merci énormément pour le tutoriel super précis, adapté aux narvalos comme moi qui aurait paniqués au moment du mot de passe (y)

    RépondreSupprimer
  19. Nickel, merci ! J'ai dû remettre un peu à jour les chemins d'accès aux fichiers dans Terminal pour adapter à la CC 2015, mais ça fonctionne, tout s'est fait simplement !

    RépondreSupprimer
  20. Génial cela fonctionne sur mon Macpro flashé 5,1
    J'utilise une basique Geforce Gt 610 2Go qui était seulement reconnu en open gl par la suite CS6.
    merci pour ce coup de pouce.

    RépondreSupprimer