Est-ce que les Mixins de D pourraient être utilisés pour mapper des opérations d'algèbre linéaire sur soit les deux code CPU et les fonctions de vertex shader OpenCL ou GPU telles que GLSL? Ce serait une vraie application de tueur pour D et une meilleure logique de pont ciblée à la fois pour l'exécution du processeur et du GPU. Comparez ceci avec glm et D gl3n qui est seulement compiler l'algèbre linéaire de taille fixe au code de CPU.D Génération de codes CTFE et GPU
VexCL est une preuve de concept pour cela en utilisant OpenCL et 11 C++ (GCC 4.6 ou ultérieure) par complètement abstraire de dépendant du backend (CPU/GPU) les détails de mise en œuvre sur les allocations de mémoire et l'exécution de code quelque peu semblable à C++ AMP. Donc les choses ne peuvent que s'améliorer en D? Les mixins peuvent-ils remplacer complètement l'utilisation des modèles d'expression C++ utilisés dans VexCL? Here's a nice tutorial sur son utilisation.
CTFE peut également jouer un rôle ici dans cette discussion.
Avez-vous des documents ou du code auquel faire référence, que ce soit le vôtre ou d'autres personnes? –
Le code que j'ai écrit à l'époque est probablement encore sur dsource.org dans le projet MathExtra. Mais, comme je l'ai dit, le compilateur s'est tellement amélioré au cours des 5 dernières années que mon code est désespérément obsolète. À l'époque, vous ne pouviez même pas utiliser les structures au moment de la compilation; maintenant vous pouvez même lancer des exceptions et utiliser des pointeurs! L'implémentation de regex lors de la compilation dans Phobos est un bon exemple de code plus récent. –