Nos premiers résultats ont dépassé nos attentes les plus optimistes. À titre de test, nous avons sélectionné un défi de calcul que nous avons précédemment mesuré comme nécessitant environ 900 heures d'utilisation de processeurs de classe serveur, ou environ 13, 000 heures de cœur de processeur. Nous avons constaté qu'il pouvait être terminé en seulement 8 heures sur un seul GPU NVIDIA Tesla V100, ou environ 30 minutes si vous utilisez 16 GPU, ce qui pourrait réduire les temps d'exécution d'analyse de plusieurs ordres de grandeur. Une NVIDIA RTX 2080TI de classe station de travail le terminerait en 12 heures environ."
Igor Sfiligoi, Le principal développeur de logiciels scientifiques du SDSC pour le calcul à haut débit
"Le nouvel exécutable sera également d'une grande valeur pour les travaux exploratoires, car l'ensemble de données EMP de taille modérée qui nécessitait auparavant 13 heures sur un processeur de classe serveur peut désormais être exécuté en un peu plus d'une heure sur un ordinateur portable contenant un GPU NVIDIA GTX 1050 mobile, " ajouta Sfiligoi.
Sfiligoi a collaboré avec Rob Knight, directeur fondateur du Center for Microbiome Innovation, et professeur de pédiatrie, Bioingénierie et Informatique &Ingénierie à l'université, et Daniel McDonald, directeur scientifique de l'American Gut Project. Les microbiomes sont le matériel génétique combiné des micro-organismes dans un environnement particulier, y compris le corps humain.
"Ce travail n'a pas commencé initialement dans le cadre de la réponse COVID-19, " a déclaré Sfiligoi. " Nous avons commencé la discussion sur une telle accélération bien avant, mais UniFrac est un élément essentiel du pipeline de recherche COVID-19. »
UniFrac compare les microbiomes les uns aux autres à l'aide d'un arbre évolutif qui relie les séquences d'ADN les unes aux autres. « UniFrac a joué un rôle clé dans le Projet Microbiome Humain, nous permettant de comprendre comment les microbes sont liés à travers notre corps, et dans le projet Earth Microbiome, nous permettant de comprendre comment les microbes sont liés à travers notre planète, " a déclaré Knight. " Nous l'utilisons pour comprendre comment le microbiome d'une personne peut la rendre plus ou moins sensible au COVID-19, et quels microbes dans des environnements allant des établissements de soins de santé aux eaux usées aux embruns océaniques rendent l'environnement plus ou moins hospitalier au SRAS-CoV-2, le coronavirus qui cause le COVID-19."
Knight a noté que Sfiligoi avait accéléré la dernière version de l'algorithme, publié il y a moins de deux ans dans Méthodes naturelles , qui lui-même représentait déjà une amélioration spectaculaire de la vitesse par rapport aux implémentations précédentes.
« Alors que les données sur les séquences microbiennes augmentent de façon exponentielle, de dizaines de séquences à des milliards, nous devons ré-implémenter tous les algorithmes, ", a-t-il déclaré. "Cette dernière étape montre vraiment comment l'optimisation de l'infrastructure de recherche peut réduire considérablement le délai d'obtention des résultats tout en préservant l'exactitude des résultats et en permettant de poser des échelles de questions complètement nouvelles."
Spécifiquement, Sfiligoi a utilisé OpenACC, une approche axée sur l'utilisateur, modèle de programmation parallèle basé sur des directives pour porter l'implémentation Striped UniFrac existante vers les GPU, car cela permet une base de code unique pour le code CPU et GPU. Une accélération supplémentaire a été obtenue en exploitant soigneusement la localité du cache. L'utilisation de calculs à virgule flottante de moindre précision pour exploiter efficacement les GPU grand public que l'on trouve généralement dans les ordinateurs de bureau et portables a également été explorée.
UniFrac a été conçu à l'origine et toujours mis en œuvre en utilisant des mathématiques à virgule flottante de plus haute précision, souvent appelé chemin de code fp64. Le calcul à virgule flottante de plus haute précision a été utilisé pour maximiser la fiabilité des résultats. Après avoir implémenté les calculs à virgule flottante de précision inférieure, généralement appelé chemin de code fp32, les chercheurs ont observé des résultats presque identiques, mais avec des temps de calcul nettement plus courts.
"Nous avons vu une accélération 3x dans le chemin de code fp32 pour les GPU de jeu tels que le 2080 Ti et le mobile 1050, et nous pensons que la précision devrait être adéquate pour la grande majorité des études, " expliqua Sfiligoi.
De plus, les changements de code introduits pour accélérer le calcul GPU ont également considérablement accéléré l'exécution sur les ressources CPU. Le défi de calcul mentionné ci-dessus peut maintenant être complété en environ 200 heures sur le même processeur de classe serveur, une accélération 4x, selon les chercheurs.
« Rendre le calcul disponible sur les appareils personnels compatibles GPU, même les ordinateurs portables, élimine une grande barrière au sein de l'infrastructure des ressources pour de nombreux scientifiques, " dit Sfiligoi.