• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  • Logiciel réutilisable pour le calcul haute performance

    Sunita Chandrasekaran, professeur assistant en informatique et sciences de l'information, conçoit des frameworks pour adapter le code à des systèmes informatiques de plus en plus puissants. Elle travaille avec des motifs complexes appelés fronts d'onde, qui sont représentés en arrière-plan de cette image. Crédit :Joy Smoker

    Le supercalculateur le plus rapide du monde peut désormais effectuer 200, 000 trillions de calculs par seconde, et plusieurs entreprises et agences gouvernementales du monde entier sont en concurrence pour construire une machine qui aura la puissance informatique nécessaire pour simuler des réseaux à l'échelle du cerveau humain. Ce matériel extrêmement puissant nécessite un logiciel extrêmement puissant, le code logiciel existant doit donc être continuellement mis à jour pour rester à jour.

    Sunita Chandrasekaran, professeur assistant en informatique et sciences de l'information à l'Université du Delaware, est parfaitement adapté à ce défi. Grâce à une nouvelle subvention de la National Science Foundation, elle conçoit des frameworks pour adapter le code à des systèmes de plus en plus puissants. Elle travaille avec des motifs complexes appelés fronts d'onde, que l'on retrouve couramment dans les codes scientifiques utilisés pour analyser le flux de neutrons dans un réacteur nucléaire, extraire des modèles à partir de données biomédicales ou prédire des modèles atmosphériques.

    Chandrasekaran est un expert de la programmation parallèle, c'est-à-dire de l'écriture de code logiciel pouvant s'exécuter simultanément sur de nombreux processeurs multicœurs. La programmation parallèle est une discipline de plus en plus importante au sein de l'informatique, car de plus en plus d'universités et d'entreprises utilisent de puissants superordinateurs pour analyser de larges bandes de données, des résultats scientifiques aux informations sur le comportement des consommateurs et plus encore.

    Chandrasekaran examine des applications scientifiques pour voir comment elles ont été écrites, comment ils ont fonctionné sur des architectures obsolètes, quels types de modèles de programmation ont été utilisés, et quels défis ont surgi.

    "La plupart du temps, les modèles de programmation sont créés dans un large éventail, " dit-elle. " Parce qu'ils sont généralisés pour traiter un grand nombre de modèles parallèles couramment trouvés, souvent, les modèles manquent de créer des fonctionnalités pour certains modèles parallèles complexes, comme les fronts d'onde, qui sont cachés dans certaines applications scientifiques.

    Un front d'onde permet l'analyse de motifs en moins d'étapes. La question est :comment obtenez-vous le modèle de programmation pour faire cela ?

    Un exemple est Minisweep, une mini-application qui modélise des scénarios au sein d'un réacteur nucléaire en « balayant » une grille avec des carrés qui représentent des points dans l'espace et sont utilisés pour calculer les positions, énergies, et les flux de neutrons. Cette application mère de Minisweep est utilisée pour réduire les risques d'une fusion et pour protéger les ingénieurs qui travaillent autour du réacteur nucléaire de l'exposition aux rayonnements. Plus tôt cette année, Chandrasekaran et le doctorant Robert Searles ont démontré comment ils ont modifié la mini-application pour qu'elle soit 85,06 fois plus rapide qu'un code non parallélisé. Ce travail a récemment été présenté lors de la première conférence Platform for Advanced Scientific Computing (PASC) 2018 et publié par l'Association for Computing Machinery (ACM).

    « Nous nous sommes demandé :est-ce que ce modèle est spécifique à Minisweep ?, " dit-elle. " Ou va-t-il exister dans d'autres codes ? Y a-t-il d'autres codes qui pourraient bénéficier si je devais mettre ce type de modèle dans un modèle de programmation et créer une implémentation et l'évaluer ?"

    Par exemple, Chandrasekaran a découvert que certains algorithmes en bioinformatique, l'étude de grands ensembles de données biologiques, contenait des modèles similaires. Elle soupçonne qu'en adaptant le logiciel écrit pour Minisweep, elle peut faire de grands progrès vers l'amélioration du code. Elle va essayer avec les données d'Erez Lieberman Aiden, professeur adjoint de génétique moléculaire et humaine au Baylor College of Medicine et professeur adjoint d'informatique à l'Université Rice. Chandrasekaran a rencontré Aiden lors de sa visite à l'UD pour donner une conférence intitulée "Parallel Processing of the Genomes, par les génomes et pour les génomes."

    Chandrasekaran s'est inspiré du travail d'Aiden sur les séquences d'ADN. Il utilise un outil informatique pour trouver des interactions à longue distance entre deux éléments quelconques sur le même chromosome, montrant à son tour la base génétique des maladies. Chandrasekaran soupçonnait qu'elle pouvait utiliser les modèles existants et mettre à jour le code, permettant une analyse plus rapide de ces données biologiques importantes.

    "Le but n'est pas simplement de créer un outil logiciel, ", a-t-elle déclaré. "L'objectif est de construire des études de cas réelles où ce que je crée sera important pour rendre la science facile."

    Des modèles de programmation parallèle basés sur des directives tels que OpenACC et OpenMP seront explorés pour ce faire.

    Chandrasekaran vise à maintenir les performances et la portabilité tout en repensant les algorithmes. Elle gardera également à l'esprit les scientifiques qui utilisent les algorithmes.

    "Vous ne pouvez pas créer un modèle de programmation en ne regardant que l'application ou seulement l'architecture, " dit-elle. " Il doit y avoir un certain équilibre. "

    Ce projet profitera aux développeurs d'applications scientifiques qui ne sont pas nécessairement des informaticiens. "Ils peuvent se concentrer davantage sur la science et moins sur le logiciel, " a déclaré Chandrasekaran. Les scientifiques viennent à elle avec des ensembles de données et des problèmes qui prennent des heures, jours, parfois des mois pour calculer, et elle trouve comment les faire courir plus vite, permettant ainsi une science plus récente.

    Chandrasekaran analysera les données fournies par Aiden à Baylor et les physiciens à Oak Ridge National Lab. Searles travaillera également sur le projet, et Chandrasekaran est à la recherche d'un étudiant diplômé supplémentaire ayant une aptitude à la programmation parallèle pour aider à ce projet.


    © Science https://fr.scienceaq.com