Liste des packages

Une liste des packages est disponible sur (https://www.r-pkg.org/ctv/HighPerformanceComputing)

On ne s’intéresse pas à :

  • OpenCL (plumaintenu depuis 2012)
  • permGPU (plus maintenu depuis 3 ans)
  • BDgraph et ssgraph (trop spécifique bayésien)
  • cudaBayesreg package by da Silva, implements the rhierLinearModel from the
  • bayesm package (trop spécifique fMRI voxels)

On veut explorer

Limites potentielles : il faut une carte graphique ! Cuda a été développé pour Nvidia, et OpenCL est compatible avec AMD et toutes les cartes graphiques.

La plupart des packages dépendent de CUDA et sont donc réserver aux utilisateurs équipés d’une carte nvidia.

Sous Linux pour connaître sa carte graphique sous ubuntu

sudo lshw -C display

Sous Windows, clic droit sur le drapeau Windows, exécuter et

dxdiag

Dans ce cas, on est condamé à utiliser gpur car pas de carte nvidia (qui a le gros avantage de fonctionner avec beaucoup de cartes).

GPU : Graphics Processing Unit

Là où un processeur peut avoir 2 à 36 cours, un GPU typique aura 100 à 1000 cours. Le GPU Tesla P100 a 3584 cours

Pour les situations où le même calcul est effectué sur plusieurs parties d’un ensemble de données, le parallélisme massif d’un GPU peut être utile.

Rien ne vient gratuitement : on perd de la mémoire et il y a un coût pour le transfert des données du système vers le GPU (et probablement de retour). Donc toutes les situations ne sont pas appropriées pour le calcul sur GPU. Un GPU haut de gamme a 16 à 32 Go de mémoire sur la carte, ce qui peut vite limiter l’utilité des GPU dans certaines situations (le dell XPS13 de base a 128Mo).

gpuR,

Il faut installer openCL sous Ubuntu avec les commandes. On peut suivre la page (https://doc.ubuntu-fr.org/opencl).

Il faut aussi installer ViennaCL

sudo apt update
sudo apt-get install opencl-headers
sudo apt-get install libviennacl-dev
sudo apt-get install beignet beignet-dev