J'ai enfin eu l'occasion de regarder Mojo/Modular. Ce n'est pas ce que je pensais, c'est un remplacement d'OpenCL + des implémentations de noyaux, pas un compilateur AI. Bien que cela facilite beaucoup l'obtention de performances complètes rapidement, je pense que la complétude de Turing est une erreur pour ces choses. Nous avons enfin la chance de vivre dans un monde de flux de données pur, pourquoi ne pas en profiter ? Des langages comme celui-ci ne séparent pas la définition du calcul de la planification du calcul. Lisez le doctorat Halide, je suis obsédé par cette idée. À mesure que les réseaux neuronaux deviennent de plus en plus performants en programmation, ce que nous voulons, c'est la manière la plus concise d'exprimer *exactement* ce que fait le programme sans se soucier des détails de la manière. Laissez cela aux machines. Notez le paramètre "maybe_epilogue_func" ici. Que se passe-t-il si vous voulez deux fonctions d'épilogue stockant dans des tampons différents, ou des réductions en chaîne ? La boucle est à l'intérieur de cette fonction conv, donc il est trop tard pour changer. Lisez le conv de tinygrad pour le contraste. "Au cours de mes décennies de construction de compilateurs, je n'ai jamais vu le mythe d'un "compilateur suffisamment intelligent" fonctionner réellement !" -- @clattner_llvm Nous parions qu'avec les techniques de recherche modernes (lisez : AI), cela va enfin changer. Bien que ce soit un pari tout à fait juste de prendre l'autre côté, et si cela ne se concrétise pas dans les 10 prochaines années, Mojo est probablement le bon point dans l'espace de compromis.