Skip to content

Instantly share code, notes, and snippets.

View HadrienG2's full-sized avatar
:shipit:
What could possibly go wrong?

Hadrien G. HadrienG2

:shipit:
What could possibly go wrong?
  • CNRS
  • France
View GitHub Profile
@HadrienG2
HadrienG2 / High_Performance_Rust.md
Last active March 13, 2024 00:31
Making Rust a perfect fit for high-performance computations

Hello, Rust community!

My name is Hadrien and I am a software performance engineer in a particle physics lab. My daily job is to figure out ways to make scientific software use hardware more efficiently without sacrificing its correctness, primarily by adapting old-ish codebases to the changes that occured in the software and computing landscape since the days where they were designed:

  • CPU clock rates and instruction-level parallelism stopped going up, so optimizing code is now more important.
  • Multi-core CPUs went from an exotic niche to a cheap commodity, so parallelism is not optional anymore.
  • Core counts grow faster than RAM prices go down, so multi-processing is not enough anymore.
  • SIMD vectors become wider and wider, so vectorization is not a gimmick anymore.
@HadrienG2
HadrienG2 / demo.cpp
Last active April 3, 2020 15:31
Demo of global <-> local bin coordinate conversions
#include <algorithm>
#include <array>
#include <exception>
#include <iostream>
#include <utility>
#include <vector>
#define ASSERT(x, msg) if (!(x)) throw std::runtime_error(msg)
@HadrienG2
HadrienG2 / dd.exclude
Created June 14, 2018 16:05
Debug dump from a failed verrou_dd run
This file has been truncated, but you can view the full file.
_ZN5boost9unit_test9framework8shutdownEv /root/acts-core/build/IntegrationTests/PropagationTests
_ZNK5boost9unit_test12test_results11result_codeEv /root/acts-core/build/IntegrationTests/PropagationTests
_ZN5boost9unit_test6output22plain_report_formatter21results_report_finishERSo /root/acts-core/build/IntegrationTests/PropagationTests
_ZN5boost9unit_test5utils14scope_setcolorD1Ev /root/acts-core/build/IntegrationTests/PropagationTests
_ZN5boost9unit_test9ut_detail30ignore_unused_variable_warningINS0_5utils14scope_setcolorEEEvRKT_ /root/acts-core/build/IntegrationTests/PropagationTests
_ZN5boost9unit_test5utils14scope_setcolorC1Ev /root/acts-core/build/IntegrationTests/PropagationTests
_ZN5boost9unit_test6output22plain_report_formatter22do_confirmation_reportERKNS0_9test_unitERSo /root/acts-core/build/IntegrationTests/PropagationTests
_ZN5boost9unit_test9framework3getINS0_9test_unitEEERT_m /root/acts-core/build/IntegrationTests/PropagationTests
__tls_get_addr /lib64/ld-2.27.so
__cxa_