• # Pou ceux qui aiment les langages de haut niveau ...

    Posté par . En réponse à la dépêche OpenCL sous Linux : l’état des pilotes AMD est désormais pire que ce qu’il était à l’époque de fglrx. Évalué à 6.

    J'ai vu quelques discussions sur le naufrage d'OpenCL dans le calcul HPC.

    Étant mécanicien, j'ai de vraies difficultés à avoir des doctorants maîtrisant la programmation. J'arrive à avoir des étudiants autonomes en python, mais pour C/C++, le peu de fois que l'on a essayé ça a été la boucherie ...

    Du coup on a tout de même très souvent des besoins de puissances, même pour des nuls en info comme nous !!

    Je trouve que ces dernières années en vrai travail de fond a été fait pour nous pour faire du calcul HPC sans avoir de grosses compétences sur ce sujet !

    Le premier point est indiscutablement numba, cette bibliothèque permet de faire de de la compilation JIT, et même de faire de la parallélisation, on peut vite arriver à des performances proches du C/C++, tout en restant en python ! C'est plutôt cool. Mais voilà numba n'a pas de backend OpenCL, il faut croire que plus personne ne croit à OpenCL !

    Les scientifiques aiment bien utiliser python comme MATLab avec numpy/scipy/matplotlib/... et NVIDIA le sait ! Ils nous ont fait un super framework appelé RAPIDS ou on peut remplacer numpy par cupy, skimage pour cucim, ...
    Du coup, il faut très peu de changement pour permettre d'utiliser un code sur GPU. Alors certes, ce n'est pas optimisé, mais on peut facilement avoir des facteurs 100 sur certaines fonctions appelées, franchement ça se prend !
    Ils ont tout mis en MIT, donc on a même vu apparaître un back-end ROCm.

    Donc certes, leur drivers ne sont pas libres, mais pour le coup, vu à quel point cela change la donne chez nous c'est clairement pas un "Fuck you" mais un "Thank you" pour cette contribution au libre !

    J'espère que l'on pourra de plus en plus se servir de ces outils en comprenant les contraintes matérielles, mais sans avoir à gérer les complexités liées à des langages plus orientés dev info.