À propos du service
TraduitJe développe du code à haute performance en Chapel, un langage conçu spécifiquement pour le calcul scientifique productif à grande échelle. Si votre modèle, solveur ou pipeline de traitement de données est bloqué sur un seul cœur, je déplacerai le calcul vers tous les cœurs disponibles puis à travers tout un cluster. Ma tâche principale est de transformer un code numérique ordinaire en un programme qui maintient des milliers de threads occupés sans vous obliger à tout réécrire à la main. J'utilise des boucles parallèles forall, des domaines distribués et le modèle de localisation pour répartir les tableaux sur les nœuds, et là où l'algorithme nécessite un contrôle plus fin, j'applique le parallélisme de tâches à travers begin, cobegin et des variables de synchronisation. Les travaux typiques que je réalise : porter un noyau C ou Fortran séquentiel vers Chapel, paralléliser des opérations sur des modèles et des matrices, construire des tables de hachage distribuées et des traversées de graphes, et profiler pourquoi le calcul est inactif sur le mouvement des données plutôt que sur l'arithmétique. Je mesure tout. Avant de considérer le travail comme terminé, je montre des courbes de mise à l'échelle forte et faible afin que vous puissiez voir comment le code se comporte à mesure que les cœurs et la taille du problème augmentent, et j'explique d'où viennent les limites. Les résultats incluent un code source propre et commenté, une recette pour construire sous votre compilateur et lanceur, un court rapport sur la mise à l'échelle et la mémoire, et des instructions pour exécuter sur votre matériel ou planificateur. J'ai écrit du code Chapel pour des méthodes de Monte Carlo, des tâches N-corps, des étapes d'hydrodynamique computationnelle et de grande algèbre linéaire creuse. La correction d'abord, puis la vitesse : j'ajoute des tests reproductibles et vérifie les résultats par rapport à une base de référence fiable avant d'optimiser. Indiquez le nombre de nœuds, le type de connexion et le cœur qui crée le goulot d'étranglement, et je fournirai des estimations honnêtes d'accélération et d'effort.