Professional experience

Implementations of large resolution (hundreds of
millions of mesh nodes) parallel numerical models on
modern highperformance computing platforms (SMPs,
GPUs, clusters/massively parallel
supercomputers).

Numerical
linear algebra, direct and iterative methods for
the solution of large systems of linear
equations

Numerical solution of PDEs
on different hardware platforms, using different
methods

Largeresolution highperformance two
and threedimensional Finite Elements solver for
MATLAB (http://milamin.org/)

ADI/Fractional Steps methods on
structured grids using shared memory computers and
OpenMP / NUMAcc

FEM and unstructured adaptive meshes on
highperformance supercomputers with thousands of
CPU cores using MPI

Stencil computations and Geometric
Multigrid for the Poisson's problem on modern GPUs
using CUDA

Various technical aspects of modeling

meshing/remeshing for unstructured
computations

sparse matrix algebra

node renumbering, geometry
(re)distribution

periodic boundary conditions

visualization of results using
Paraview/VTK, MATLAB

Software optimization and performance analysis on
modern multicore hardware.

Seven
years of work in collaboration with modelers from the
Earth sciences. The challenges often addressed include

Complex geometries, heterogeneous
materials, large resolution models

Different spatial and temporal scales of
processes

Poisson's equation, Darcy flow, heat
diffusion, transport, elastic wave propagation,
incompressible Stokes flow

2D and 3D data visualization and
postprocessing

Ongoing projects
MILAMIN 2 (http://milamin.org) is
an integrated MATLAB environment for efficient 1D, 2D,
3D FEM modeling using unstructured grids. It includes
optimized and parallelized MEX files for sparse matrix
creation, sparse matrixvector multiplication,
quad/octtree generation and fast point in triangle
location. The MEX files can be freely downloaded
from Sourceforge.
MILAMIN supports a large variety of element types and
provides a set of useful functions to manipulate the
mesh, setup a numerical model, set the boundary
conditions, solve the system of equations, and
visualize the results. A large number of example
models of different complexity are provided. The
MILAMIN website provides benchmarks, as well as a
detailed technical discussion of various steps of a
stateoftheart FEM solver.

Programing languages (in order of expertise)

C (expert, memory bandwidth optimization,
parallel programing with MPI, OpenMP, pthreads)

MATLAB (expert, 'vectorization'
techniques, parallel MEX files for multicore SMP
architectures)

shell scripts

C++

Pearl scripts

Scientific Python

Nonacademia / company experience

distributed clientserver systems, CORBA

publickey cryptography and SSL, secure
data and AES

implementation of hardware drivers for
Linux

shell and Pearl scripting on Linuxbased
systems

system programing on Linuxbased
workstations and embedded systems

software release management system
(Pearl)

automatic compilation and assembly of
custom Linux distribution for embedded systems
Current Post
Researcher, Physics of Geological Processes (PGP),
University of Oslo, www.fys.uio.no/pgp
Member of the Resource
Allocation Committee (RFK) appointed by the Research
Council of Norway.
XI 2010, Defended
the Degree of PhD
Title: Efficient implementations of
numerical models for geological applications on modern
computer architectures.
Thesis defended in the Faculty of Mathematics and
Natural Sciences, Department of Informatics, University of
Oslo
Opponents: Jason PhippsMorgan, Cornell
University; Petter E. Bjørstad, Department of Informatics,
University of Bergen; Galen Gisler, Physics of Geological
Processes, University of Oslo.
20082010, PhD Project, University of
Oslo, Norway
Physics of Geological Processes (PGP), in
collaboration with SINTEF
Relevant courses: Reservoir
Geophysics,
Introduction to Mechanical Geomodeling, Research
Methods in Computer Science
20052007, Assistant Lecturer,
University of Oslo, Norway
Physics of Geological Processes (PGP)
20022005, Software engineer,
Sentivision Polska
Software designer and developer, software release
manager, Linuxbased embedded systems for VOD (Video on
Demand) and distributed Content Management Systems.
19972002, Higher Education, Degree of
Master of Science
Poland, Wroclaw
University of Technology, Department of Software
Engineering. Specialization:
Title of the Master
thesis: Automatic parallelization of Java
programs for distributed environments
The results were published in
2002 by IEEE Computer Society, "Amelia.
Integrated Environment for Distributed Processing".

