En norsk versjon av denne siden finnes foreløpig ikke. Vi refererer derfor til den engelske versjonen.
Currently open positionsWe expect to open a call for a postdoc at the University of Bordeaux soon, to work on applications of cell-by-cell models to questions related to ventricular arrhythmia.
Research Software Engineer / Ingénieur∙e en Développement C/C++
The University of Bordeaux is looking for a research software engineer to work on the implementation of discretization methods for the model equations in the MICROCARD software. This development will be done in a special version of the openCARP software. The code, destined for exascale high-performance computing systems, is developed by an interdisciplinary community of scientists and engineers.
The research software engineer will code in C++ and will use Git for revision management and CMake for compilation. The work takes place in work packages 1 (software integration and provision) and 3 (numerical discretization and implementation of the cell-by-cell model) of the MICROCARD project. The engineer will work together with a PhD student who works on finite-volume methods, with the other scientists and engineers working on the code, and will participate in various project meetings.
The engineer will be affiliated with the Liryc institute for cardiac arrhythmia research and will be a member of the Carmen team at Inria. The primary workplace will be in the Inria center on the Talence/Pessac campus of the University of Bordeaux.
This is a temporary contract for a maximum of 18 months.
The official job description is available (in French only) on the University's website. If you are interested in this position but do not master the French langauge please contact Professor Yves Coudière (firstname.lastname@example.org) by e-mail. Applications must be submitted before 1 January 2023.
Research Software Engineer
Karlsruhe Institute of Technology (KIT) is looking for a research software engineer (RSE) to advance and deploy a DevOps toolchain for our production-ready simulation platform for cardiac electrophysiology. In particular, integrating cutting-edge linear preconditioner and solver technology delivered by the numerics experts into the openCARP simulator will be a key task. Moreover, the engineer will advance a web-based system providing simple and secure access to the simulator.
The KIT mission combines the three strategic lines of activity of research, higher education, and innovation. With about 9,300 employees and 26,000 students, KIT is one of the largest institutions of research and higher education in the natural sciences and engineering in Europe.
You are an open and ambitious team player motivated to strive for creative and sustainable solutions? We provide a cooperative and communication-oriented environment in the Computational Cardiac Modeling Group at the Institute of Biomedical Engineering and direct involvement in cutting edge research projects as an RSE.
You completed a PhD or Master’s degree in a relevant field? You have experience in software engineering (C++ and web technologies), care about your work and are motivated to work in a multidisciplinary team, have good communication skills as well as a good command of English?
In the best case, you have experience in some of the following areas: modeling & simulation of cardiac electrophysiology, numerical linear algebra, PETSc, high performance computing, Spack, software design, DevOps, Continuous Integration, software deployment, angular, Flask, ZeroMQ, software containers, research data management, open science.
Engineer - Development of meshing tools for generation of cardiac meshes at cellular scale
WP7. Location: Bordeaux.
The MICROCARD project will require large and detailed meshes of cardiac tissue structure to perform simulations on. The engineer will be in charge of the development of the open source toolchain for the generation of 3D tetrahedral meshes for the project test cases. Starting from segmented data (voxels labeled as vessels, myocyte, fibroblast…) provided by project partners, this person will develop robust tools for:
- Building tetrahedral meshes from 3D image voxels;
- Data filtering and cleaning;
- Explicit discretization of cellular domains by isovalue discretization and mesh improvement and adaptation (implementation within the parallel open source remesher ParMmg and the sequential remesher Mmg).
Postdoc - Development of meshing tools for level-set discretization on hybrid architectures
WP7. Location: Bordeaux.
The MICROCARD project will require large and detailed meshes of cardiac tissue structure to perform simulations on. The postdoctoral fellow will be in charge of the development of the MPI+X parallelization of the level-set discretization option of the Mmg software:
- Distributed parallelization will use the MPI norm and the distributed mesh adaptation implementation available within the ParMmg software;
- Shared memory parallelization will be based on a task-based algorithm and on the use of the StarPU task scheduler.
Postdoc - Modelling of Atrial Fibrillation at a very Fine Scale
WP8. Location: Bordeaux
Starting date: spring 2022
Atrial fibrillation (AF) remains difficult to treat as the recurrence rate after ablation remains high. This project will look at the influence of structural and electrical heterogeneity on AF at an unprecedented scale, both on triggering and maintenance.
The postdoc will create very high resolution atrial models incorporating shape, fibre architecture, fibrosis and electrical remodelling data. A major challenge will be working with the large datasets produced, including their analysis and visualization. The person for this position is expected to have a strong knowledge of both computer modelling/numerical methods and electrophysiology, with a proficiency in analyzing data.
For information please contact Dr. Edward Vigmond at IHU Liryc.
Postdoc - Computational analysis of electrogram genesis under consideration of cardiac microstructure using high performance computing
WP1 and WP8. Location: Karlsruhe
Karlsruhe Institute of Technology is looking for a Postdoctoral Researcher to investigate the effect of microscopic tissue structure on clinical electrograms using novel model formulations and numerical methods developed in the consortium. Conclusions drawn from this study can help to pinpoint cardiac substrate characteristic for individual patients based on measured electrograms and therefore allow an improved assessment of vulnerability to arrhythmias and suggest optimal tailored ablation strategies. Applying the novel computational schemes developed in the MICROCARD project to this use case will provide valuable feedback to the numerics experts in the consortium in a closed feedback loop. Moreover, the postdoc will contribute to advancing the openCARP simulation software as well as a user-friendly software ecosystem and user community around it.
PhD student - Runtime resources and heterogeneity management
WP6. Location: Bordeaux
Starting date: October 2021
The software built in the MICROCARD project is aimed at exascale supercomputers. Targeting such big machines introduces many problems. Some are due to software libraries that may not scale to the required size. Exascale architectures will also face the same problems current supercomputers face, but on a larger scale: exascale computers are expected to consume several tens of MegaWatt. One of the main challenges of exascale developers is therefore to reduce the energy consumption of their code.
The goal of this PhD thesis is to work on techniques that reduce the energy consumption of the application, in particular by taking energy consumption into account in task scheduling algorithms. In order to be easily adapted to exascale machines, the code developed in MICROCARD will be implemented on top of StarPU. StarPU is a task-based runtime system where the application is written as a task graph where data dependencies determine the execution. StarPU provides mechanisms to handle data transfers and coherency. As a consequence, the user does not need to handle the underlying architecture: the runtime is in charge of task placement, data movement and so on. StarPU offers many scheduling algorithms to improve the performance of the application. However, they do not consider energy consumption.
The PhD student will take part in proposing models and scheduling algorithms for StarPU. The models and algorithms must consider both performance and energy consumption. They should also adapt to the target platform. More specifically, the scheduler must be able to place tasks by considering the architecture characteristics and data locality (in order to prevent excessive data movement) for heterogeneous architectures that include GPUs and other accelerators. Then, the models will be extended to account for techniques like power capping which reduce the power consumption but may impact performance. As a consequence, we will consider dynamic power capping in order to target only the tasks which are least affected, for example because they are not on the critical path of the execution.
Finally, another aspect tackled by the project is fault tolerance. As the number of components will increase, the number of failures occurring on an exascale machine will increase as well. Fault tolerance will be handled in another part of the project. However, the failures and the fault tolerance techniques will also affect the energy consumption. In fact, handling failures frequently will reduce the amount of work that is lost when a failure happens, and thus save energy, but the extra work needed to allow recovery will increase the energy consumption. As a consequence, the PhD student will study the impact of fault tolerance techniques on the energy consumption and will extend the model to account for fault tolerance.
- Propose models which account for both performance and energy consumption
- Based on the aforementioned models, design scheduling algorithms that are able to find the best trade-off between performance and power consumption.
- Add power saving techniques such as dynamically adapting power capping.
- With the help and collaboration of the other members of the project, adapt the proposed models to the target code.
- Study the impact of fault tolerance techniques on the power and energy consumption.
- Fluency in english
- Parallel Programming (MPI, OpenMP, Cuda)
- Programming languages (C, C++)
- Compilation tools (make, cmake, ...)
- Linux environment
- Programming on or using a parallel machine
For information please contact Prof. Denis Barthou at the STORM team of Inria Bordeaux - Sud-Ouest.
WP9 and WP10. Location: BordeauxThe Liryc institute in Bordeaux is looking for a chargé(e) de projets de recherche, whose responsibilities include the management of the MICROCARD project.
PhD Student Position “Efficient discretization methods for the microscale bidomain model”
WP3. Location: Lugano
The Center for Computational Medicine in Cardiology (CCMC), Università della Svizzera italiana, is seeking a highly motivated PhD student to develop innovative numerical discretization strategies to robustly solve on exascale HPC systems the cell-by-cell bidomain model of cardiac electrophysiology at subcellular scale. A strong background in numerical analysis and computational science is requested.
The position is funded by the Center for Computational Medicine in Cardiology (CCMC). The CCMC, headed by Professors Rolf Krause and Angelo Auricchio, brings advanced numerical methods in multiscale modeling, uncertainty quantification and artificial intelligence to the needs of clinical practitioners. Built upon the multi-disciplinary competences brought by its founder members at the Euler Institute and Cardiocentro Ticino, the CCMC is unique of its kind in Switzerland and is a key member of the large EU projects like MICROCARD.
We offer a 3-year PhD position in a multidisciplinary, international and inspiring environment. The position is full-time and salary in accordance to regulations of Università della Svizzera italiana.
The position should be finalized by September 2021.
For further information, please don’t hesitate to contact Dr. Simone Pezzuto (email@example.com).
How to apply
Interested candidates must send their application documents (cover letter, CV, description of research interests and experience, names of at least two academic references), preferably as single PDF file, to Prof. Rolf Krause (firstname.lastname@example.org) and Dr. Simone Pezzuto (email@example.com).
PhD student - Scalable domain decomposition preconditioners for large-scale cardiac reaction-diffusion models
WP5. Location: Pavia
The effective solution of the PDE systems employed in MICROCARD on HPC architectures will require highly scalable iterative solvers and preconditioners. In order to fully exploit the pre-exascale and exascale parallel machines targeted by this project, the PhD student will construct, analyze and implement scalable domain decomposition multilevel preconditioners for large-scale cardiac reaction-diffusion models. This project will also study the solvers robustness with respect to complex cardiac geometries and high-order discretizations. The parallel scalability of these preconditioners will exploit modern GPUs and hybrid computing architectures.The official job posting is here on page 19 of the Call for applications.
Deadline for applications: June 24, 2021.
Contact: Professor Luca Pavarino
PhD student - Discretization of a cell-by-cell model of electrocardiology
WP3. Location: Bordeaux.
The subject of the thesis aims at proposing and studying spatial discretization methods for the problem of numerical simulation of a three-dimensional model of a large group of cardiac cells. These methods will be developed in conjunction with time integration schemes, taking into account the techniques of programming, parallel computing and resolution of linear systems that will be studied in the other workpackages of the MICROCARD project, and ultimately in order to use exascale supercomputers. The numerical model should allow to study various medical questions.
Building on previous work, we plan to compare the approach of solving the electrostatic equation in the whole domain at each instant with the approach of deriving a Steklov-Poincaré operator which allows to write the model as a non-local reaction diffusion equation posed on the cell membrane. These approaches do not offer the same possibilities in terms of temporal discretization, for example. We will study in particular finite volume methods, because they explicitly take into account the non-standard transmission conditions on complex interfaces.
To reach the large number of cardiac cells required, it will be necessary to use vastly parallel com- puting, jointly with the other partners of MICROCARD. The problem provides natural domain decompositions, but it will be necessary to study these in order to define whether they are actually adapted to practical computing.
The candidate will have a background in general applied mathematics including a good knowledge of systems of partial differential equations (PDE). He or she should know at least one method of discretization of PDEs, among finite differences, finite elements or finite volumes, and its numerical analysis. She or he should have experience in programming and scientific computing in any practical language.
The candidate should be curious and interested in the applications of mathematics, in particular by numerical applications. In addition to oral and written communication skills in French and English, he or she will have to show ability to work in a multidisciplinary and international environment including computer scientists, biologists and physicians, and partners from six European countries.
For information please contact Prof. Yves Coudière at the Carmen team of Inria Bordeaux - Sud-Ouest.
Engineer - Task parallelization of a cardiac simulation code
WP2. Location: Bordeaux.
The detailed meshes of cardiac tissue that this project requires will have unprecedented size and an unprecedented level of parallelism. To run simulations efficiently, massive parallellism is required and due to the large scale of the simulation, the execution has to be resilient to possible faults and requires a checkpoint/restart strategy.
The engineer will be in charge of the parallelization of the code. This parallelization will rely on MPI and StarPU . More particularly, the engineer will have to write the parallelism as a parallel task graph, optimize it and evaluate its performance. Lastly, an evaluation of the method for partial checkpointing based on such task graph will be conducted. The different steps during this mission are:
- Parallelization in StarPU+MPI of the OpenCarp simulation code;
- Adaptation to a newly developed fault-resilient version of StarPU; and
- Maintenance of the parallelization scheme as the code is modified by others to handle heart models with sub-cellular resolution.
PhD - Code generation for heterogeneous architectures
WP6. Location: Strasbourg.
The recruited PhD student will participate to a high-level compiler project that aims at building a bridge from a model representation convenient for ionic model experts to an optimized parallel heterogeneous implementation. It will exploit both target architecture resources and properties of the scientific problem (computation patterns, resilience to approximation). More precisely, the PhD student will research, design and participate to the implementation of the compiler infrastructure to translate an equational formulation extended with domain-specific information, to a code that aims to be efficient in both execution time and energy dissipation. Our objective is (1) to maximize productivity by allowing users to express the scientific problem rather than the implementation details and (2) to maximize flexibility. Our strategy is to rely on a dedicated compiler front end and on new research extending state-of-the-art code generation and runtime techniques to statically and dynamically optimize the application.
Engineer - Compilation/HPC
WP6. Location: Strasbourg.
The recruited engineer will participate to a high-level compiler project that aims at building a bridge from a model representation convenient for ionic model experts to an optimized parallel heterogeneous implementation. It will exploit both target architecture resources and properties of the scientific problem (computation patterns, resilience to approximation). More precisely, the project is about designing the compiler infrastructure to translate an equational formulation extended with domain-specific information, to a code that aims to be efficient in both execution time and energy dissipation. Our objective is (1) to maximize productivity by allowing users to express the scientific problem rather than the implementation details and (2) to maximize flexibility. Our strategy is to rely on a dedicated compiler front end and on new research extending state-of-the-art code generation and runtime techniques to statically and dynamically optimize the application.
Research software engineer at Karlsruhe Institute of Technology
WP1. Location: Karlsruhe.
PhD student (f/m/d) "Computational analysis of electrogram genesis during atrial fibrillation using high performance computing" at Karlsruhe Institute of Technology
WP8. Location: Karlsruhe.
PhD student at Simula Research Laboratory
WP4+6. Location: Oslo.
The PhD student is expected to adopt modern techniques of HPC and performance optimization, as well as the latest developments in HPC hardware and middleware, to enable efficient simulation of cardiac electrophysiology based on a cell-by-cell approach. The research activities will be under supervision and assistance of senior staff at the HPC and ComPhy departments. The PhD student is also expected to actively collaborate with researchers at the other partners of the project. Writing scientific publications and software code, as well as disseminating/reporting the project’s research findings, are included in the responsibilities of the PhD position.
All applicants must hold a master's degree (or equivalent education) in a subject of computational science or computer science. The successful candidate must have solid knowledge of numerical methods for solving PDEs, parallel computing and programming. Expertise with computational electrophysiology is preferred. It is also expected that the successful candidate has good skills in scientific communication (both oral and written).