À propos du service
TraduitJe développe des noyaux numériques haute performance en Futhark — un langage de données parallèles purement fonctionnel qui se compile en CUDA et OpenCL. Si vous avez une boucle chaude, une simulation ou un grand volume d'opérations sur des tableaux qui atteint le plafond du CPU, je vais le réécrire pour qu'il s'exécute sur le GPU et vous n'aurez pas à écrire une seule ligne de code de périphérique bas niveau à la main. Futhark offre de fortes garanties : pas d'effets secondaires, pas de surprises d'aliasing, et le compilateur lui-même fusionne les opérations de map, reduce, scan et segmentées en noyaux compacts. Le flux de travail typique est le suivant. D'abord, je profile votre pipeline actuel et trouve des sections qui sont vraiment parallèles. Ensuite, je les exprime en Futhark à travers des combinateurs purement fonctionnels, préservant la lisibilité et le déterminisme. Je compare le résultat à votre version de référence, ajuste les tailles de blocs et les modèles d'accès mémoire et itère jusqu'à ce que les chiffres soient convaincants. Enfin, j'intègre tout dans votre pile : Futhark génère une bibliothèque C et je l'encapsule pour que vous puissiez l'appeler depuis Python via ctypes ou une petite extension, ou lier directement dans un programme hôte en C ou C++. Au fil des ans, j'ai accéléré la tarification d'options Monte Carlo, les filtres d'image et de signal, les pochoirs physiques, les procédures d'algèbre linéaire et le prétraitement pour l'apprentissage automatique. Vous obtenez un code source propre, un script de construction, une suite de tests qui vérifie la sortie GPU par rapport à une référence, des résultats de benchmark et une courte note sur la façon de reconstruire et d'étendre le code. Décrivez la tâche et le matériel cible — et j'estimerai l'accélération réelle avant que nous commencions.