4 research outputs found
Hybrid Vector Library-From Memory Bound to Compute Bound with NVVM
International audienceExisting source code usually interleaves data management, error-checking, text processing and actual compute. On general purpose processors, this mixture of code tasks is not necessarily an issue, and performance levels are often satisfactory as is. However, when trying to use GPU, this hybrid computing turns into a coding challenge. Each individual computing tasks does not show sufficient workload, and porting the whole application requires a significant investment in the software asset. We propose an alternate approach with runtime compilation based on function calls on a compute library. Hybrid Vector Library operates on vectors, in a manner similar to BLAS level 1 routines, with other functions such as square root or exponential, or MKL routines. In essence, all operations are performed on a vector of values. We illustrate the performance results of this approach on a typical financial benchmark.Existing solutions such as ArrayFire do not allow custom device function to be called in the middle of a level 1 routines sequence. We address that issue by also processing these functions. We follow the call graph from the main compute routine, and generate cubin files for user-defined device functions. These functions are then linked at runtime to the hvl calls sequence, and usually generate a JCAL instruction in SASS, in a similar way to sqrt.Our approach gives similar benefits to user's code as ArrayFire, with the flexibility of custom device functions
Recommandations pour une gestion durable des espaces verts en Bourgogne
Les espaces verts offrent de nombreux bienfaits aux populations urbaines, mais nécessitent souvent d’être gérés pour répondre aux besoins humains ainsi qu’aux contraintes du milieu. Dès les années 1950, cette gestion a été assurée par des pratiques horticoles intensives. Toutefois, à partir de 1970, les conséquences environnementales de ce mode de gestion chimique et mécanique ont poussé des gestionnaires à réviser leurs pratiques et s’engager dans la gestion durable.
En France, l’adoption de la gestion durable par les collectivités est restée hétérogène et des pratiques dommageables pour l’environnement ont persisté jusqu’à aujourd’hui. Cependant, l’interdiction au 1er janvier 2017 pour les collectivités d’utiliser des produits phytosanitaires en zone non-agricole les poussent à réviser en profondeur leur gestion des espaces verts et se tourner vers des pratiques durables.
Dans ce contexte, l’objectif de l’essai a été de dégager des recommandations pour la mise en œuvre effective d’une gestion durable des espaces verts en Bourgogne. Les enjeux identifiés dans cette gestion étaient la biodiversité, l’eau, le sol, la gestion et le paysage.
Une enquête par questionnaire a permis de constater que les gestionnaires d’espaces verts étaient intéressés par la gestion durable et avaient déjà adopté des pratiques pour répondre aux enjeux de gestion identifiés. Toutefois, l’analyse des réponses a également révélé que le traitement des enjeux était inégal et qu’un important frein technique était rencontré. Ces résultats ont montré l’importance de diffuser des pratiques et d’apporter un support technique.
Des études de cas auprès de gestionnaires bourguignons ont permis d’observer leurs pratiques. Une fois les pratiques analysées au regard des enjeux identifiés, elles ont permis de dégager des recommandations globales pour une gestion durable des espaces verts. Celles-ci sont au nombre de 45 et répondent à 15 problématiques rencontrées par les gestionnaires, telles que le désherbage, la fertilisation et le choix des végétaux.
Finalement, afin de faciliter la diffusion des recommandations et leur application par les gestionnaires d’espaces verts, il a été décidé de les synthétiser sous forme de fiches. Celles-ci concernent les mêmes problématiques, mais sont organisées par type de formation végétale, afin de se rapprocher du travail de terrain des gestionnaires. L’aspect technique est également renforcé. Ces fiches synthétiques sont destinées à être diffusées aux communes par la Fredon Bourgogne en accompagnement des plans de gestion différenciée qu’elle développe
Lancer de rayons dans un octree.: Utilisation de la connectivité via les coordonnées de Plücker
Most of the computation time in ray-tracing algorithms is spent traversing the accelerating structure. Usual bottlenecks are memory latency and branching. We present here an octree traversal algorithm which offers the best of both octrees and regular grid. This algorithm mostly uses the connectivity of the tree's leafs. Using the Plücker coordinates, it's possible to implement it in a way which keeps memory accesses coherent, while drastically limiting branching operations.L'essentiel du temps de calcul des systèmes de tracé de rayons est passé dans le parcours de la structure accélératrice. Les facteurs limitants de ce parcours sont la latence mémoire et le branchement. Nous proposons ici un algorithme de traversée d'octree alliant les bénéfices de l'arbre et ceux de la grille régulière. Celui-ci est basé sur l'utilisation de la connectivité entre les feuilles de l'arbre. Via les coordonnées de Plücker, il est possible de l'implémenter d'une façon qui maintienne un certaine cohérence des données, tout en limitant drastiquement le nombre de branchements