Alors, après ce que j’ai appris en essayant de bâtir un moteur d’inférence de zéro en Go, j’ai l’impression que s’attaquer à un projet « CUDA pour CPU » n’est plus si effrayant.
Voilà le plan.
Piquer CUDA ! Le télécharger, l’analyser, comprendre comment ça marche et ce qui fait tourner son cerveau. Il y aura des kernels, des optimisations, des configurations d’API et des patterns qu’on pourra tous braquer et voler sans vergogne en pleine nuit, avant que quiconque ne s’en aperçoive. Mwahahaha.
Ensuite, une fois que les kernels SIMD et AVX fonctionneront... on optimisera pour le mur de la mémoire et les goroutines. Le build initial sera très lent. 5-10 % de ce que CUDA peut faire, réalistement.
Mais vous voyez, c’est là qu’on va devenir un peu dingues avec les optimisations.
Je posterai ça quand ce sera fonctionnel, si j’y arrive sans faire fondre mes outils.
Je suis optimiste, parce qu’il s’agit d’un cœur de calcul... plutôt que d’une pile d’inférence complète. C’est cognitivement plus simple que le dernier projet qui essayait de tout faire en même temps.
Il n’y a pas de point de rupture.
Ce problème peut et sera craqué si je m’y tiens... un jour ou l’autre.
Souhaitez-moi bonne chance.