La version finale remplace désormais la candidate d’août. La conformité RISC-V se vérifie sur des configurations nommées ; sélection du périphérique et performances restent à examiner.

La version finale est disponible
PoCL a publié 7.2 final le 4 septembre, après la candidate du 7 août. Le projet annonce la conformité CPU OpenCL 3.0 et ajoute notamment produit scalaire entier et suggestion de taille de groupe de travail. L’ancienne consigne d’attendre la version finale est devenue obsolète.
Le registre Khronos référence séparément Star64 avec CPU StarFive JH7110 et Milk-V Jupiter avec CPU SpacemiT K1, pour une révision précise de PoCL 7.2-pre. Type de périphérique, version du pilote, suite CTS et chemin de compilation sont indiqués. La conformité concerne ces configurations, pas toutes les constructions pour toutes les cartes RISC-V.
Le périphérique de calcul est ici le CPU
Une application OpenCL choisit plateforme et périphérique. Le pilote CPU de PoCL exécute les kernels sur les cœurs du processeur ; il ne sélectionne pas le processeur graphique simplement parce que la carte en contient un. Notre schéma représente ce choix, sans inventer de résultat d’accélération GPU.
Avec plusieurs implémentations OpenCL installées, relever plateforme, nom et type du périphérique, puis version du pilote avant toute comparaison. Une exécution plus rapide pourrait sinon correspondre seulement à un autre périphérique sélectionné.
La spécification OpenCL définit aussi des capacités optionnelles. Interroger les fonctions et extensions réellement requises plutôt que de supposer que le numéro de version promet toutes les opérations. Une taille de groupe suggérée constitue un point de départ à évaluer, pas la preuve d’un réglage optimal pour toutes les entrées.
Mesurer le travail complet après sa correction
Imaginons un petit calcul rapide dont la première exécution passe surtout du temps à compiler un kernel. Un démarrage à froid et une répétition utilisant le cache répondent à des questions différentes. Présenter les deux lorsque le démarrage compte, et comparer avec la même référence selon la tolérance numérique pertinente.
Pour un travail prolongé, séparer initialisation, compilation, mouvements de données et exécution des kernels. Ne pas retirer les étapes gênantes d’une implémentation tout en les conservant pour l’autre. Aucun chronométrage ni test de carte n’est revendiqué ici : cette méthode aide à déterminer l’intérêt du chemin CPU conforme pour votre application, au-delà du seul badge.
Revue du 8 septembre : version finale du 4 septembre ajoutée, entrées de conformité RISC-V vérifiées, CPU OpenCL distingué du GPU de la carte et des performances.