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 !