Optimisation des performances de la multiplication matricielle BQN : blocage du cache et diviser pour régner

2025-06-27

Cet article explore l’optimisation des performances de la multiplication de matrices de grande taille à l’aide du langage BQN. L’auteur utilise d’abord une méthode simple de partitionnement carré pour utiliser efficacement le cache, obtenant une accélération d’environ six fois. Ensuite, un algorithme de Strassen basé sur une stratégie de diviser pour régner est introduit et montre expérimentalement qu’il permet d’obtenir une accélération jusqu’à 9 fois sur les matrices de grande taille. L’article compare également l’impact sur les performances de différentes tailles de blocs et de stratégies de pavage imbriqué, concluant que la limite de performances d’une implémentation BQN pure et monofilaire a été essentiellement atteinte.

Lire plus
Développement

Un Interprète Scheme Concis en BQN : Une Approche Minimaliste

2025-05-26

Cet article détaille une tentative d'implémentation d'un interprète Scheme utilisant le langage de programmation BQN. En tirant parti de la syntaxe concise et des puissantes opérations sur les tableaux de BQN, l'auteur réalise un interprète de sous-ensemble fonctionnel de Scheme, incluant l'arithmétique de base, la manipulation de listes et les capacités de métaprogrammation. Bien qu'il ne soit pas entièrement conforme à R5RS et qu'il manque une gestion robuste des erreurs, la concision et la fonctionnalité de l'implémentation sont impressionnantes. Cela met en évidence l'application de BQN et souligne l'élégance de la programmation fonctionnelle.

Lire plus
Développement