Abstrasy
2.0 (beta)

Ce site est consacré au développement d'Abstrasy 2.0. Pour Abstrasy 1.1, surfez sur http://sourceforge.net/projects/abstrasy.

:: Accueil | Téléchargements | Documentation | Licences ::

Langage de programmation Abstrasy

Abstrasy est un langage de programmation facile à apprendre tout en étant très riche. Il utilise une syntaxe simple et concise dont l'écriture est régie par un petit nombre de règles. 1). Cela dit, cette caractéristique n'enlève rien à la puissance du langage.

Abstrasy est un langage de programmation interprété très souple mais aussi très complet. Il supporte plusieurs paradigmes et convient très bien pour le développement rapide de programmes de petite ou moyenne taille par retouches successives (développement incrémental). En outre, il peut être embarqué aisément dans d'autres applications pour lesquelles il peut servir de résolveur de macros ou pour réaliser des tests unitaires. Ses caractéristiques en font un outil particulièrement efficace dans le domaine de l'interopérabilité.

Pour facilité encore la mise au point des programmes, l'interpréteur Abstrasy intègre une interface de développement pratique et facile à utiliser. Cette interface est notamment composée d'un éditeur qui offre toutes les fonctions de base pour rédiger des programmes, y compris la coloration syntaxique et la mise en évidence des mots clés et des erreurs. Le programmeur dispose ainsi en tous temps d'un éditeur performant et léger capable de proposer une vue très lisible du code source. Le paquetage de base comporte aussi une console interactive pour voir directement le résultat des programmes ainsi qu'un profiler pour en analyser l'exécution.


Abstrasy 2.0, nom de code "X1"

Bell X-1 line art EG-0081-01La version 1.0 du langage a été conçue en 2009 et avait pour nom de code «SandBox». Son but était effectivement d'être un terrain d'expérimentations favorable à l'élaboration d'un nouveau langage à la fois performant et puissant. Ainsi, Abstrasy 1.0 «SandBox» nous a permis d'expérimenter de nombreux aspects et orientations à l'aide d'un environnement concret testé en situations réelles.

C'est en se basant sur cette expérience qu'Abstrasy 2.0 «X1» est développé. Il constituera donc la première version finale du projet. Cela signifie que les choix opérés actuellement seront définitifs. Abstrasy 2.0 pourra être utilisé largement comme outil de production.

Ainsi, comme Abstrasy 2.0 est conçu pour être un outil performant et qu'il s'agit de la première version finale du projet, il convient parfaitement de lui attribuer le nom de code «X1». Ce nom fait référence au «Bell X-1»2) , le premier avion à moteur fusée de la NASA à avoir franchi le mur du son le 14 octobre 1947. En outre, il est intéressant de noter que les recherches menées lors du programme «X1» ont servi de base à tous les programmes suivants. C'est aussi avec cette même philosophie que nous développons le projet Abstrasy.


Interopérabilité Abstrasy/OpenCL

Abstrasy convient parfaitement dans le domaine de l'interopérabilité. Ainsi, par exemple, le paquetage de base offre un module dédié à l'utilisation des ressources OpenCL.

Pour utiliser ce module, vous n'avez besoin d'aucune installation particulière, mis à part le matériel compatible OpenCL (par exemple, une carte graphique) et les pilotes appropriés (le pilote de cette carte). En outre, le code que vous rédigerez sera parfaitement portable et pourra, avec un minimum d'effort, s'exécuter également sur un autre matériel.

L'interopérabilité entre Abstrasy et OpenCL en font un bon candidat pour le développement, la mise au point ou les tests préliminaires d'applications dans le domaine du calcul haute performance (HPC) ou toute autre application OpenCL. Abstrasy s'occupe en effet de toute la partie qui couvre l'allocation et la libération des ressources, de la mise en œuvre des tests, de la recherche du matériel, de la compilation et du lancement des kernels.

Bien entendu, à ce stade du développement du module OpenCL, il reste encore un certain nombre de fonctionnalités à finaliser. Abstrasy est toujours un projet expérimental, mais les résultats obtenus sont déjà très encourageants.

Dans la courte vidéo de démonstration ci-contre, nous avons écrit un petit script qui intègre un raytracer de base. Dans ce script, Abstrasy recherche le matériel approprié, alloue un raster, construit un tableau de données qui décrit la scène à tracer et lance l'exécution du kernel. Lorsque le programme est arrêté, Abstrasy libère automatiquement les ressources qui ont été réservées. Le programmeur n'a pas à s'en soucier de même que pour bien d'autres aspects qu'il aurait absolument du prendre en compte si le programme aurait été écrit avec un autre langage de programmation (comme le C ou le C++).

De cette manière, Abstrasy vous permet de concevoir facilement et progressivement vos projets OpenCL sur le même principe de développement incrémental que pour n'importe quel autre script : tester, améliorer et tester encore jusqu'à obtenir le résultat souhaité.

1) Cette «syntaxe abstraite» est d'ailleurs la caractéristique particulière qui, au départ, a inspiré le nom du langage. Le nom «Abstrasy» est issu de la compression de «Abstract syntax»
2) La comparaison exclut bien entendu toute connotation avec un quelconque esprit de nationalisme ou le domaine militaire
accueil.txt · Dernière modification: 07/10/2014 19:25 par Luc BRUNINX

Retour
Table des matires

 

     
Licence Creative Commons
   Get abstrasy at SourceForge.net. Fast, secure and Free Open Source software downloads