Profileimage by Serge Rogatch AI / LLMs / C/C++ / Python / CUDA / Algorithms / SIMD / Raytracing / Trading from Poznan

Serge Rogatch

available

Last update: 30.01.2024

AI / LLMs / C/C++ / Python / CUDA / Algorithms / SIMD / Raytracing / Trading

Company: TwojStartup
Graduation: MSc in Artificial Intelligence, Amsterdam University, The Netherlands
Hourly-/Daily rates: show
Languages: English (Full Professional) | Polish (Limited professional) | Russian (Native or Bilingual)

Attachments

Serge-Rogatch-2023-06-13_280823.pdf

Skills

Out of ~30 million programmers worldwide, only a few thousand know Algorithms & Data Structures better than I do, which is proven by programming competitions. Please, contact me if you need that skill level (top 0.01%).

I can do algorithmic/performance work in C/C++, Python, SQL, Java, MQL4, MQL5, C#, Assembly, JavaScript, and probably other languages.

- With unique skills in Algorithms & Data Structures, I improve programs asymptotically (often 100 or more times on large input data).
- 28 years of programming (started Basic and assembler on ZX Spectrum), 23 years of C/C++, 15 years of commercial work experience + 3 years of research projects.
- Contributed to widely used Open Source projects: LLVM/Clang (my contribution is XRay profiler on ARM32 and AArch64 systems), Katana Graph (multiple small contributions mostly driven by the proprietary part where I do GPU/CUDA), CBMC "C Bounds Model Checking" (I contributed parallelized output of DIMACS formatted Boolean Satisfiability formula), oatpp (C++ web framework, I contributed bug-fixes), OWL (OptiX Wrapper Library, I contributed build fixes for Ubuntu), Galois (research project for distributed computations on graphs, I contributed GPU improvements)
- Actively participated in bug reporting and reproduction (for NVIDIA CUDA, Cadical&kissat boolean satisfiability solver, JBOSS, MariaDB, Tensorflow, Linux, etc.)
- Led several open-source projects of my own: ProbQA (URLs upon request - a video game recommendation system based on high-performance Bayesian inference engine with CUDA, SIMD, and multi-threading); InSoAr (automatic reconstruction of software architecture from source code, URL upon request ), a multi-threaded Boolean Satisfiability solver of my own, etc.

Working for hire, implemented:
- efficient multi-threading, scaling real-world workloads almost linearly with the number of CPU cores (128x for AMD Ryzen Threadripper 3990X)
- SIMD vectorization (SSE/AVX), up to 8x improvement in computing thread or even copying (see my "Faster alternatives to memcpy" answer on Stackoverflow, URL upon request).
- cache-aware algorithms: up to 50x improvement on some workloads
- up to 20 trillion operations/second in CUDA (thousands of times faster than CPU)
- up to the theoretical limit (6.8 Gigarays/second on RTX 2080 laptop GPU) in ray-tracing with OWL and OptiX
- AVX512 and RTM (Restricted Transactional Memory) based acceleration, 16x improvement for float numbers

13K reputation on Stackoverflow: https://stackoverflow.com/users/1915854/serge-rogatch
- top 5% C++, random
- top 10% algorithm, C, C++11, Linux, performance, Visual Studio
- top 20% C++14, floating-point, multi-threading

Achievements in competitive programming:
-  2 bronze medals at International Olympiads in Informatics (Sarge Rogatch, Belarus team, URL upon request)
- Topcoder SRM score: 1480 - among top 5K programmers in the world - top 0.02% http://community.topcoder.com/tc?module=MemberProfile&cr=23291407

During my career, I also took (technical) leadership roles such as Team Lead, Manager, Chief Architect, Vice-President, and CTO.

I developed all kinds of networking applications, from Linux Kernel modules up to Web applications.
The majority of work was, of course, done at TCP/IP level with socket calls like send/recv/select.

Programming languages: C++, C++11/14/17, C, Python, x86/x86_64/ARM/AArch64 assembly, LLVM IR, SQL, C#, JavaScript, HTML, CSS, MATLAB, Java, RDF,  MQL4, MQL5, Delphi/Pascal, XML, Cypher.

Libraries/Frameworks: STL, LibSVM, .NET, XGBoost.

Technologies: OpenMP, CUDA, SIMD (AVX&SSE, RTM), ASP.NET, WebForms, WinForms, Linux Kernel Modules, OptiX, OWL (OptiX Wrapper Library), RTX, raytracing.

Theory/Principles/Know-how/Methodologies: Algorithms & Data Structures, Performance Optimization, Artificial Intelligence, Multithreading, Vectorization, Object-Oriented Programming, compiler implementation, linkers, Mathematics, Semantic Web, Scrum, Agile, Bayesian Learning, Low-latency, High-frequency.

Open source code: Clang, LLVM, LLVM's compiler-rt library, a few my own repositories, Linux Kernel.

Tools/APIs/Architectures/Platforms: MSSQL, MySQL, Neo4j, MATLAB, HeidiSQL, Perforce, Fisheye, Confluence, Hudson, Jenkins, CMake, JIRA, SVN, GIT, QEmu, ARM, embedded, MT4, Nintendo Switch, MetaTrader 5, Anaconda, PyCharm.

Virtual Machines / Containers: Docker, VMWare, VirtualBox, QEmu, Hyper-V.

OSes: Windows, Linux, Android, Solaris.
 

Language skills:
  • English: C1 (Grammarly plugin says I use more unique words than 95% of other users, native speakers included).
  • Polish: B1 (86%).
  • Russian, Belarusian: Native.

Project history

08/2010 - Present
Freelance

I am doing various small and medium size projects, mainly in the following technologies:
ASP.NET, WebForms, C#, WinForms, SQL, MSSQL, JavaScript, HTML, C++, MATLAB, Visual Studio, Java, MySQL, Eclipse, HeidiSQL, RDF, Semantic Web, Oracle Primavera, Performance Optimization

A freelancer profile: https://www.odesk.com/users/~011bd64540b19c95bf

Computer Software

07/2011 - 12/2013
Founder
InSoAr

I was working on my own start-up project – an automatic program which takes care of the details, analyzes huge amounts of data (source code of software systems) and presents to the user only the clear and concise conclusions in the form of program architecture. You can see the details here https://angel.co/software-comprehension-tools

Java, SOOT, Eclipse, C/C++, Visual Studio 2013, XML
Computer Software

07/2006 - 07/2008
Lead Software Engineer
EPAM Systems (5000-10.000 employees)

They assigned me to maintain the client-side services and applications of Oracle Hyperion OLAP database. It was a huge software system of tens of millions of lines of source code, which was challenging in terms of efficient and productive maintenance.

C++, OLAP, Visual Studio
Computer Software

07/2005 - 07/2006
Tech Lead
Itransition (Internet and Information Technology, 1000-5000 employees)

Product: IASO Backup 4.0 (Distributed Online Backup System).
I was designing the software from scratch, leading a team of 6 software engineers and providing reference implementations. My goals were:
- high performance of the software, demanding high throughput in each link of the hardware chain from client HDD, CPU, the network connecting a client and a server, to the server DB and file system
- reliability&security of backups
- maintainability of the software, source code quality
- multi-platform operability (Windows, multiple Unix systems, Mac OS)

C++, Qt, STL, .NET, SQL, MySQL, Visual Studio 2005
Information Technology and Services

04/2005 - 07/2005
Software Developer
Itransition (Internet and Information Technology, 1000-5000 employees)

Cimage Fusion 2.0 (Document Workflow).
IASO Backup 2.0 (a predecessor version of the product to which I was assigned as the Tech Lead, see above).

C++, Qt, STL, .NET, SQL, MySQL, Visual Studio 2005

02/2005 - 02/2005
Computer Science Trainer
Ministry of Education - Belarus (Internet and Information Technology)

I prepared the top Computer Science performers of Grodno region for the Belarus National Olympiad in Informatics. As a result, 7 out of 10 my pupils took 2nd or 3rd category awards at the National level, i.e. got rated among top 45 computer scientists among high-school pupils of year 2004-2005.

See http://dl.gsu.by/olymp/xrestable.jsp?hd=2&hid=375&u.c=46&pi=11&pi=3&c.s=1&c.s=9&lng=rus

08/2004 - 08/2004
Computer Science Trainer
Ministry of Education - Belarus (Internet and Information Technology)

I taught Algorithm & Data Structures pearls and best practices to the top performers of Belarus National Olympiad in Informatics 2004 (held in March, i.e. half a year before the summer school).

Local Availability

Only available for remote work
I only consider remote work, with some travel availability.

Other

My other profiles are below:
https://www.linkedin.com/in/sergerogatch/
https://stackoverflow.com/users/1915854/serge-rogatch
https://github.com/srogatch
https://www.upwork.com/freelancers/~011bd64540b19c95bf?viewMode=1
http://stats.ioinformatics.org/people/2056
http://www.probqa.com/
https://lichess.org/@/rSerge/all
Profileimage by Serge Rogatch AI / LLMs / C/C++ / Python / CUDA / Algorithms / SIMD / Raytracing / Trading from Poznan AI / LLMs / C/C++ / Python / CUDA / Algorithms / SIMD / Raytracing / Trading
Register