Speaker
Description
For HEP software, longevity is a core requirement: code often outlives several hardware generations. Using a standardized solution for data‑parallelism is therefore the most direct path to sustainable, reusable optimizations. As the lead author of std::simd in the C++ standard and the libstdc++ implementation, I will show how C++26’s std::simd provides a concrete, standards-based illustration of that principle and offers a practical migration pathway.
std::simd replaces fragmented, architecture-specific implementations (intrinsics, brittle auto-vectorized loops) with a single, maintainable code path. Standardization directly tackles HEP’s sustainability challenge by eliminating the maintenance-risk penalty that makes many SIMD projects untenable today.
A standardized solution transforms vectorization from a liability into a sustainable asset:
-
std::simd isn’t merely portable—it enables ecosystem cohesion by introducing new vocabulary types. A stable abstraction for data-parallelism eliminates integration barriers between libraries, allowing composition of vectorized components.
-
It future-proofs multi-decade projects by decoupling algorithms from hardware; new architectures (RISC-V, GPUs) require only compiler updates—not rewrites.
-
CI/CD efficiency: correctness can be tested on one architecture, simplifying pipelines.
-
Knowledge transfer: new developers learn one portable pattern instead of architecture-specific intrinsics, accelerating onboarding.
-
Reduction of technical debt: refactoring to std::simd eliminates architecture-specific, non-portable SIMD code.