Skip to content

pkarnakov/pkarnakov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

Hi everyone 👋

I'm a research scientist developing software and numerical algorithms for simulation, control, and design of complex physical systems. My interests range from classical numerical methods to data-driven techniques and machine learning, with a focus on software engineering and high-performance computing. List of publications.

You can see examples of my work at pkarnakov.com, reach me on social media LinkedIn, Twitter/X, and watch some of my simulation videos on YouTube.

Research Projects

ODIL (Optimizing a DIscrete Loss) is a method for solving inverse problems for partial differential equations, which is orders of magnitude faster than PINN (physics-informed neural networks).

Demos
Poisson Wave Heat

Distributed multiphysics solver for simulating multiphase flow with bubbles and electrochemical reactors. The solver performed the largest simulations of foaming by breakup and mixing of air in water.

Videos and demos
Foaming Electrolysis Drops Gallery

Other Projects

Automatic differentiation framework in C++ with GPU support through OpenCL.

Story and examples This project made me realize that some machine learning applications that would normally rely on TensorFlow/JAX/PyTorch can actually be implemented in pure C++ from scratch in a reasonable amount of time (several days). And for small problems on a CPU it also works 10x times faster than the corresponding Python+TensorFlow implementation. The ODIL demos above use this code to run in WebAssembly. Examples of constructed computational graphs:

Game with particles and portals. Written in C++ with OpenGL and SDL2. There is a web version.

Description and screenshots You can connect particles to create ropes, run them through portals, and manipulate with the mouse. The accel button couples the gravity vector with measurements from an accelerometer (if supported).
Native Web

Visual materials for a class on numerical methods that I lectured in 2022.

Removing day-night cycle from videos using PCA. Code | Slides

pcavideo_paris.mp4 pcavideo_paris_first3.mp4 pcavideo_paris_zero3.mp4
pcavideo_vietnam.mp4 pcavideo_vietnam_first3.mp4 pcavideo_vietnam_zero3.mp4
pcavideo_sunrise.mp4 pcavideo_sunrise_first3.mp4 pcavideo_sunrise_zero3.mp4

Sound of the wave equation. Code | Slide

The forcing signal excites certain frequencies of an oscillator. Videos with (loud) sound:

Forcing Response
wave_force.webm wave_signal.webm

Prototype operating system in x86 assembly.

Story and screencast I started this project back in 2008 for a school competition in Russia's space capital Korolyev. The plan was to push Windows out of the market, but it didn't work out.

tinyos.mp4

About

Homepage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published