Présentation du projet Cython+

Principaux langages de programmation

 

Efficacité énergétiques des langages

Energy Efficiency across Programming Languages
How Does Energy, Time, and Memory Relate?

 

Résultat du projet

 

Calcul de la matrice des distances aux premiers voisins

  • Identification d’un noyau algorithmique: distances + reductions
  • Implementation bas niveau (cython) avec parallelisme
 

Arbre pour résolution rapide des voisins

 

Framework Web Cython+ (P-CYP-40-50 et P-CYP-40-60)

 

Hppd-plus video

 

Sécurisation des serveurs Nexedi

Industrialisiation

Jupyter with Cython+

 

Moyens pour atteindre l'objectif

  • Compilation efficace pour une exécution rapide
    • implique typage statique et inférence ✅
  • Partage de la mémoire entre processus
    • implique modèle concurrent efficace ✅
  • Démarrage rapide
    • implique supprimer le runtime CPython ✅
  • Sans perdre de facilité
    • implique classes "Cython+" ✅
    • implique intégration à Python ✅
    • implique modèle concurrent sûr ✅
    • implique librairie standard (✅)
 

Livrables

Livrable Date de délai État
D-CYP-10 Une première version de Cython+ acceptée par la communauté Cython et offrant une exécution efficace sur une architecture multi-cœurs 31/08/2022 Fait et évolution
D-CYP-20 Une implémentation du modèle PyObject compatible avec une exécution multi-coeur sans global interpreter lock (GIL) 31/08/2022 Fait
D-CYP-30 Un outil d'analyse statique de code et d'aide à la suppression de deadlocks dans l'exécution concurrente 31/08/2022 Fait autrement
D-CYP-40 Une version de NEO en Cython aux performances équivalentes à la version de NEO en golang et mutuellement interopérable 31/08/2022 Fait
D-CYP-50 Un framework Web applicatif capable d'exécuter des coroutines Cython sur plusieurs cœurs 31/08/2022 Fait
D-CYP-60 Un modèle de contrôle d'allocation de ressources par les framework hétérogènes de programmation concurrente. 31/08/2022 Fait
D-CYP-70 Un serveur de publication et de partage de grand jeux de données pour les data science et l'IA 31/08/2022 Fait
D-CYP-80 Un notebook Jupyter capable de compiler nativement Cython+ et de l'appliquer à des grands jeux de données 31/08/2022 Fait 
 

Avancement par lots

Lot Titre Etat Note
1 Gestion de projet N/A  
2 Extension du langage cython pour la concurrence 100% spython
3 Outils d'aide au développement pour Cython+ 100% modèle
4 Validation par des cas d'usage industriels 100%  
5 Dissémination 100% vidéos
 

Cython.plus

 

Europython 2021 vidéo

 

EuroPython 2022

Scaling scikit-learn: introducing new sets of computational routines

EuroSciPy 2022

Scaling scikit-learn: introducing new computational foundations

Tutoriels Youtube

 

Blog

INRIA kdtree avec Cython+

Thank You

  • Nexedi SA
  • 147 Rue du Ballon
  • 59110 La Madeleine
  • France
  • +33629024425

For more information, please contact Jean-Paul, CEO of Nexedi (+33 629 02 44 25).