Hi everyone,

Apologies for the petsc-users cross-post here! Hope some of you will find this 
posting interesting.

The computational seismology group at ETH Zurich is looking for a postdoc to 
work with us on Salvus (www.salvus.io <http://www.salvis.io/>) - a 
spectral-element software package for full-waveform modelling and inversion. 
The exact focus of the job is tied to the applicant's strengths and interests, 
and ranges from HPC engineering to tackling large-scale frequency domain 
(Helmholtz) applications. The code is currently integrated with PETSc, and 
utilizes DMPLEX for unstructured mesh management. Please find more details 
below.

Cheers,
Mike.
_____

Postdoctoral research position: Full-waveform modeling and inversion across the 
scales
 
The Computational Seismology Group at ETH Zürich is seeking to appoint a 
postdoctoral researcher to work on Salvus, an open-source framework for 
full-waveform modeling and inversion (http://salvus.io <http://salvus.io/>). 
The position is full-time (100%) for a duration of 24 months, with possibility 
for extension. Earliest starting date is 1 June 2017.
 
 Background:
 
Salvus is a modular open-source code package for large-scale waveform modelling 
and inversion built on the basis of modern programming principles. This project 
will enable Salvus to (1) harness large homogeneous and various heterogeneous 
HPC architectures that are available today, and (2) easily adapt to future 
architectures, requiring minimal code modifications.
 
The project is intended to position Salvus as a top wavefield modelling and 
inversion package in the exascale era. To ensure performance of Salvus on 
today's and tomorrow's supercomputing platforms, work will focus on 
cross-architecture developments, code and I/O optimisation, and systematic 
testing and validation. This will be complemented by actions to increase and 
broaden the usability and impact of Salvus. They include workflow developments, 
the implementation of frequency-domain solvers, and extensions of the physics 
that can be modelled.
 
The successful candidate will be embedded into the team of Salvus developers 
and users covering a wide range of fields, including Computational Science, 
Applied Mathematics, Seismology, Exploration and Environmental Geophysics, 
Geothermal Energy, and Geofluids. She or he will have access to Piz Daint, 
currently Europe’s fastest supercomputer, located at the Swiss National 
Supercomputing Center (CSCS, www.cscs.ch <http://www.cscs.ch/>).
 
Apart from the core responsibilities listed below, the successful candidate 
will have considerable freedom of research in order to develop an independent 
scientific career. Topics of interest to the group include, but are not limited 
to real-world waveform modeling and inversion applications, the development of 
methods for uncertainty analysis, and the transfer of Salvus to new domains 
outside traditional seismology.
 
 Core responsibilities:
 
Cross-architecture developments, leveraging Salvus’ mixin-based design to 
implement hardware-specific versions of compute-intensive code segments, while 
leaving most of the code unchanged.
General code optimisations to achieve maximal performance from single nodes to 
full machine runs.
I/O optimisation to handle the enormous data volumes needed in adjoint 
simulations. Sub-tasks include the incorporation and extension of a previously 
developed wavefield compression library, and the interfacing to modern parallel 
seismic data formats.
Workflow developments to facilitate the solution of large-scale inverse 
problems, including the automatic orchestration of a large number of HPC jobs.

Expected qualifications:
 
The ideal candidate should have the following attributes:
 
PhD degree in geophysics, computer science, physics, applied mathematics or a 
related field,
strong programming skills in C or C++,
experience developing software which exploits large scale HPC platforms with a 
strong knowledge of MPI and experience with at least one other parallel 
paradigm (OpenMP, CUDA, OpenCL),
experience with collaborative software development (i.e. continuous integration 
services),
experience with finite element methods, numerical wave propagation, and/or 
inverse problems,
experience with Krylov methods and preconditioners - specifically either 
domain-decomposition methods and or multigrid methods (geometric, algebraic). 
 
Furthermore, the successful candidate is expected to have excellent 
organizational, communication and interpersonal skills that allow her or him to 
work in a highly collaborative and interdisciplinary environment.
 
 Application:
 
To apply for this position, please send your full resume, cover letter and the 
names of three references to Prof. Andreas Fichtner 
([email protected] <mailto:[email protected]>). If 
possible, please also attach a link to one or more software packages you have 
been involved with (GitHub, GitLab, Bitbucket, …). The position will remain 
open until filled.

Reply via email to