Faites connaître cette offre !
Reference : UMR5502-SYLLOR-001
Workplace : TOULOUSE
Date of publication : Wednesday, January 09, 2019
Type of Contract : FTC Scientist
Contract Period : 14 months
Expected date of employment : 20 February 2019
Proportion of work : Full time
Remuneration : Between 2300 and 2800 € monthly income depending on experience. Social Security benefits and paid leave included.
Desired level of education : PhD
Experience required : Indifferent
1/ The first mission is to create, from the BMF code (see "Context" below) a new software, meeting the industry standards, that users with minimal programming skills (e.g. Python) could use on their own. To this end, the selected candidate will upgrade the technical specifications of the BMF platform and develop a user-friendly documented and versatile interface.
2/ The second mission is to optimize the HPC capacities of the code so that its performances can reach the scale of a whole mouse brain.
- General code optimization and hardening to higher TRLs (Technology Readiness Level). The general software design pattern will be modified to eliminate historical development artifacts, to improve I/O handling, and to enhance readability and genericity toward future developments.
- Multi Level Application Programming Interface (API). The first level will be based on the introduction of high-level C++ classes that will facilitate the use of BMF for developers while hiding the details of the application core. These modules will also enable the easy use of BMF from other C++ applications. Based on these classes, the second level will be the development of an API toward a higher-level language, e.g. Python, based on one of the available C/Python coupling library (e.g. cython).
- Graphical User Interface (GUI) and installation package for both Linux and MacOS resources. A GUI will be built to enable non-specialized users from research or the R&D industrial environments to use the code from input vessel data and a simple workflow. The successful candidate will be expected to propose technical solutions to develop this GUI, to be compared with OpenTEA, a GUI engine based on XML specifications and simplified Python scripts.
-Optimize the performance of PETSc linear algebra solvers and preconditioners for the specific non-sparse matrix structures associated with mass transfers.
Technical skills : high-level C++ and advanced python programming, demonstrated by a track-record of software development, are mandatory. Knowledge of HPC programming, MPI and the PETSc library are also highly desirable. Experience in using, SCons, GIT, continuous integration or agile software development will be appreciated.
Other skills : project management, proficiency in English, ability to adapt and anticipate, autonomy and rigor. Demonstrated interest for subjects at the interface between disciplines. Team spirit.
The Porous and Biological Media Group of at the Fluid Mechanics Institute of Toulouse is hiring a high-level software developer with solid experience in software engineering, scientific computing and high-performance computing. In recent years, MPB has developed a strong expertise in the modeling of blood flow and blood / tissue exchanges in the brain microcirculation. The applications concern neurodegenerative diseases (from understanding the basic mechanisms, to diagnosis, monitoring or evaluation of therapeutic strategies), with a strong potential for innovation.
In particular, within the framework of the ERC Consolidator BrainMicroFlow (PI S. Lorthois), the MPB group developed a high-performance computer code, the BMF code, which, thanks to a sparse representation of the vascular network as a graph, solves flow and transfer problems at the level of the entire brain with high spatial resolution. With the support of an ERC Proof of Concept, we now want to upgrade the BMF code into a software, meeting the industry standards, that users with minimal programming skills (e.g. biomedical engineers or biologists) could use.
BMF code : BMF is a high quality C++ code, fully tested and with an HPC structure based on MPI. It uses a number of external libraries, notably PETSc for linear and non-linear algebra, PARMETIS for unstructured network meshes, CXX TEST for systematic code testing, GPROF and GCOV for profiling and test coverage, DOXYGEN for automatized creation of documentation, and SCons (python-based) for software creation. A dedicated Gitlab project is used for Continuous Integration. Many I/Os can be done in ASCII files for easy access and test phases, as well as in generic binary formats with the use of HDF5, enabling parallel I/Os capabilities. The code runs on several linux platforms as well as macOS. It is developed on personal computers and deployed on the supercomputer of CALMIP.
This position is funded by ERC Proof of Concept grant VITAE (2018), cf. https://www.cnrs.fr/occitanie-ouest/actualites/article/sylvie-lorthois-laureate-de-l-appel-proof-of-concept-2018-de-l-erc
We talk about it on Twitter!