Une partie de notre travail consiste à réaliser des analyses de survie à partir de bases de données médicales nationales. L'importante volumétrie ne nous permettait pas de réaliser ces analyses en routine. L'objectif était donc de réduire ces temps de calcul en basculant les calculs sur des cartes graphiques (GPU). Pour se faire, nous avons profiler le package survival, servant à réaliser les analyses de survie, pour réécrire notre solveur de Cox, et implémenter un modèle de Cox avec support GPU. Cela nous a conduit à créer un package afin de mettre à disposition de la communauté la possibilité de réaliser des analyses de survie en utilisant les ressources des cartes graphiques.
Avec le package survival, le temps d'exécution pour 1000 bootstraps d'un modèle temps dépendant de Cox est de 5 minutes, pour analyser un jeu de données test composé d'environ 77 000 observations (500 individus avec au maximum 365 observations). Avec survivalGPU, le temps d'exécution est de 1.5 secondes. L'autre atout de survivalGPU est qu'il permet de traiter de large bases de données (plusieurs millions d'individus) contrairement aux packages existants sur CPU. Nous avons ensuite mis en place un second modèle pour la détection de signaux dans le cadre de projets sur de la pharmacovigilance, également avec support GPU.
survivalGPU est actuellement disponible sur github, et sera soumis très prochainement au CRAN.