Notre expertise couvre divers domaines d’activité ainsi que l’ensemble de la chaîne de développement de logiciels et comprend la connaissance des processeurs et des architectures de calcul.
GPGPU
CUDA, OpenCL
Calculs distribués
MPI
Vectorisation
ARM, PowerPC, Intel, AMD
Langages
C, C++, C#, Fortran, Python, MATLAB, ...
Logiciels embarqués
Aérospatial, Ferroviaire, Automobile, ...
Systèmes d'exploitation
Linux, Windows et compatbilité Intel, ARM, PowerPC...
Domaines d'intervention
Nous intervenons dans tous les domaines métier nécessitant du calcul (automobile, spatial, ferroviaire, finance, télécoms, aéronautique, défense).
Traitement d'images
Bénéficier de l'expérience des ingénieurs d'Agenium Scale afin de concevoir des algorithmes de traitement d'images. Nous pouvons également optimiser des algorithmes existants en tirant partie des différents niveaux de parallélisme proposés par les processeurs modernes.
Maintenance prédictive
La maintenance prédictive de système composés de dizaines voire de centaines de sous-systèmes nécessite des algorithmes performants afin d'analyser le plus rapidement possible et en temps réel la masse de données provenant des sous-systèmes. Agenium Scale vous offre son expertise dans ce domaine pour l'appliquer à divers domaines métiers.
Machine learning
La machine learning devient omniprésent et permet d'obtenir de très bons résultats dans divers domaines. La spécialité d'Agenium Scale est d'optimiser l'inférence des réseaux de neurones et plus généralement des algorithmes de machine learning afin que ces derniers puissent s'exécuter plus vite et sur des architectures embarquées.
Systèmes complexes
Beaucoup de métiers nécessitent des matériels spécifiques qui doivent être connectés à un système de calcul. L'intéraction de tous les composants au sein d'un système HPC est délicate. L'expertise d'Agenium Scale vous permettra de mettre au point et d'industrialiser une telle solution.
Temps réel
Un nombre important de système doivent fonctionner en temps réel. Cela peut être pour des raisons de sécurité ou des contraintes techniques. Dans tous les cas il est nécessaire d'optimiser le logiciel fonctionnant sur de tels systèmes. L'expertise HPC des ingénieurs d'Agenium Scale s'applique également à ce domaine afin de rendre des algorithmes temps réel.
Exemples
Cette base de calcul se retrouve dans de nombreuses disciplines techniques telles que le traitement d'images, la maintenance prédictive, le machine learning, le temps réel et les systèmes complexes..
La modernisation et refonte de code
Nous pouvons moderniser votre code C++98 ou Python 2 afin d'utiliser les dernières versions
des langages (C++14, C++17, Python 3). Cela permet de revoir ses structures de données et son API afin
d'utiliser au mieux les fonctionnalités des librairies standards des langages. Cela permet également
d'utiliser les derniers compilateurs afin de bénéficier de leurs passes d'optimisation.
Le diagnostic et l'optimisation de logiciels existants
Nous analysons votre code afin d'établir un diagnostic et de vous proposer des
précaunisations. Cela peut être suivi par une optimisation de code à haut niveau (structures de données,
sérialisation) mais également à bas niveau (MPI, SIMD, multi-threading).
Le portage de code source d'un langage à un autre
Nous traduisons du code qui peut-être issu d'un prototype afin de l'industrialiser et de le
rendre plus performant. Par exemple, nous convertissons du code MATLAB ou Python en C/C++.
La création de logiciels à façon
Nous partons d'une page blanche et créons un logiciel sur mesure répondant à vos besoins. Ce
logiciel peut-être autonome, s'inscrire dans un ensemble plus grand, communiquer avec du matériel standard
et très spécifique, être contraint dans un environnement embarqué.