Pavel Emeliyanenko, Developer in Neu-Isenburg, Hesse, Germany
Pavel is available for hire
Hire Pavel

Pavel Emeliyanenko

Verified Expert  in Engineering

Algorithms Developer

Location
Neu-Isenburg, Hesse, Germany
Toptal Member Since
May 20, 2020

With a PhD in Computer Science (summa cum laude) from Max-Planck Institute for Informatics in Germany, Pavel has a solid background in math and algorithm development. Throughout his professional career as a C++ software engineer, he has had a chance to work with different technologies including scientific computing, embedded software development, on-board car navigation, medical image processing, computer graphics, parallel computing, GPGPU, and IP network cameras development.

Portfolio

Precitec Optronik GmbH, Neu Isenburg, Germany
LaTeX, Git, Continuous Integration (CI), Qt, OpenGL, NVIDIA CUDA, OpenCV, C++
Balter Security GmbH, Langenfeld, Germany
Subversion (SVN), HTTP Live Streaming (HLS), RTSP, RTP, H.265, H.264, FFmpeg...
Elektrobit Automotive GmbH, Munich, Germany
Subversion (SVN), Continuous Integration (CI), Visual Studio, Windows, C++

Experience

Availability

Part-time

Preferred Environment

GitLab, Git, GDB, GCC, LaTeX, C#, FFmpeg, Wireshark, Qmake, CMake, Visual Studio, Qt Creator, Boost, Valgrind, Clang, WebGL, OpenGL, NVIDIA CUDA, OpenCV, Linux, Windows, C++

The most amazing...

...algorithm I've developed was to detect a corneal flap-cut at the runtime during a laser eye surgery with the help of OpenCV library.

Work Experience

C++ Software Engineer

2008 - PRESENT
Precitec Optronik GmbH, Neu Isenburg, Germany
  • Developed an algorithm for eyelid and eyelash detection on diagnostic eye images and diagnostic rings removal (OpenCV, FFT, Wavelets).
  • Developed an algorithm for real-time detection of OP artifacts (e.g. spatula) during the laser ablation (OpenCV + SSE/AVX).
  • Developed a cyclotorsion algorithm to measure torsional eye movements in real time (OpenCV + SSE/AVX).
  • Created a real-time eye tracking and torsional computation on the Windows platform (OpenCV + CUDA) with OpenGL visualization.
Technologies: LaTeX, Git, Continuous Integration (CI), Qt, OpenGL, NVIDIA CUDA, OpenCV, C++

Embedded Software Engineer

2014 - 2015
Balter Security GmbH, Langenfeld, Germany
  • Developed a video server for HiSilicon Hi3516a platform which supports H264/265, and MJPEG encoding, fast video resolution switching, framerate control, WDR, 3D noise reduction, on-screen display, etc.
  • Optimized RTSP live video streaming (with H264/HEVC/MJPEG) and HTTP live streaming (HLS).
  • Developed a region-based motion detection algorithm utilizing the hardware image shrinker (BoxCar).
  • Developed live555-based RTSP streamer to serve up to six streaming clients with up to 15Mbps bitrate on the DM368 platform (RTSP over TCP/UDP, UDP multicast).
  • Contributed to system-level development under Linux: network traffic shaping, solving NAND flash issues, u-boot bootloader, flash filesystems support, etc.
Technologies: Subversion (SVN), HTTP Live Streaming (HLS), RTSP, RTP, H.265, H.264, FFmpeg, Wireshark, LIVE555, Linux, C++

C++ Software Engineer

2012 - 2014
Elektrobit Automotive GmbH, Munich, Germany
  • Developed the fast algorithm for alternative routes computation on a multilevel road map for NDS (Navigation Data Standard).
  • Adapted the existing ECO-routes computation algorithm based on the Elektrobit's proprietary map format for NDS.
  • Integrated continuous turn restrictions on a multilevel routing graph to the routing algorithm.
  • Participated in the large module-level refactoring of the entire system.
Technologies: Subversion (SVN), Continuous Integration (CI), Visual Studio, Windows, C++

GPU Consultant

2012 - 2013
AccelerEyes, Atlanta, US (currently ArrayFire)
  • Completed a performance evaluation of ArrayFire/Jacket libraries vs. third-party software, e.g. Thrust, OpenACC.
  • Wrote several book chapters on MATLAB parallelization for "Accelerating MATLAB Performance: 1001 Tips to Speed Up MATLAB Programs" book by Yair Altman (Year 2014 edition).
  • Developed case studies for the AccelerEyes blog (e.g., https://arrayfire.com/sar-image-formation-algorithms-on-the-gpu).
Technologies: Thrust, OpenACC, NVIDIA CUDA, MATLAB, ArrayFire, C++

Postdoctoral Researcher

2012 - 2012
Max-Planck Institute for Informatics, Saarbruecken, Germany
  • Accelerated exact symbolic algorithms from computer algebra on the GPU (CUDA framework).
  • Visualized triangulations of algebraic surfaces with OpenGL/WebGL.
  • Created non-linear algebraic geometry and computer graphics (polynomial systems, algebraic curves/surfaces, visualization algorithms, etc).
  • Developed an open-source CGAL C++ library (https://github.com/CGAL).
Technologies: LaTeX, Git, Subversion (SVN), OpenGL, NVIDIA CUDA, Linux, C++

Freelance Work

Accelerating the existing C++ MATLAB MEX implementation of the Heston option pricing model using the CUDA framework, tested on Tesla C2050/2070 GPUs. Achieved about 10-20x speedup vs. plain MATLAB implementation. This was a freelance project for a financial trading software company.

Multi-threaded Web Server to Manipulate Algebraic Curves and Surfaces Online

Multi-threaded web server to compute and visualize arrangements of implicit algebraic curves. The visualization algorithm is based on my master's thesis and the corresponding research paper published in 2009.
Later on, the web server was extended to visualize the exact triangulations of implicit algebraic surfaces with WebGL.
The server features three-level thin-client architecture.
Technologies/Libraries used: Linux IPC, POSIX threads, STL, Boost, Qt, GNU MP, CGI, Macromedia Flash.

Research Project

https://workasm.github.io/publication/2010-ica3pp/
Developed the algorithms for computing resultants and GCD (greatest common divisor) of polynomials with large-integer coefficients on the GPU.
Achieved 20-200x speedup vs. 64-bit Maple 14 algorithms. Received best paper award at ICA3PP’10.
2007 - 2012

Ph.D. in Computer Science

Max-Planck Institute for Informatics - Saarbruecken, Germany

2005 - 2007

Master's Degree in Computer Science

Max-Planck Institute for Informatics - Saarbruecken, Germany

2004 - 2005

Bachelor's Degree in Computer Science

Saarland University - Saarbruecken, Germany

Libraries/APIs

OpenCV, OpenGL, WebGL, FFmpeg, Thrust

Tools

MATLAB Parallel Computing Toolbox, Valgrind, Qt Creator, Visual Studio, CMake, Qmake, Wireshark, LaTeX, GCC, GDB, Git, GitLab, Subversion (SVN), MATLAB

Languages

C++, C#

Platforms

NVIDIA CUDA, Windows, Linux

Paradigms

Refactoring, Continuous Integration (CI), OpenACC

Frameworks

Boost, Qt, LIVE555

Other

Image Processing, Algorithms, Video Streaming, Embedded Software, Software Design, Clang, H.264, H.265, RTP, RTSP, HTTP Live Streaming (HLS), ArrayFire

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring