Vector-Optimized Library of Kernels (VOLK)

  • Generic collaboration
  • Johannes Demel (Creator)
  • Michael Dickens (Creator)
  • Douglas Anderson (Creator)
  • Brennan Ashton (Creator)
  • Philip Balister (Creator)
  • Doron Behar (Creator)
  • Steven Behnke (Creator)
  • Amr Bekhit (Creator)
  • Olaf Bernstein (Creator)
  • Abhishek Bhowmick (Creator)
  • Eric Blossom (Creator)
  • Josh Blum (Creator)
  • A. Maitland Bottoms (Creator)
  • Elliot Briggs (Creator)
  • Ashley Brighthope (Creator)
  • Jeison Cardoso (Creator)
  • Paul Cercueil (Creator)
  • Johnathan Corgan (Creator)
  • Nicholas Corgan (Creator)
  • Luigi Cruz (Creator)
  • Ron Economos (Creator)
  • Brandon P. Enochs (Creator)
  • Daniel Estévez (Creator)
  • Rick Farina (Creator)
  • Carles Fernández (Creator)
  • Moritz Fischer (Creator)
  • Nick Foster (Creator)
  • Douglas Geiger (Creator)
  • Pascal Giard (Creator)
  • Gwenhael Goavec-Merou (Creator)
  • Thomas Habets (Creator)
  • Ben Hilburn (Creator)
  • Albert Holguin (Creator)
  • Jessica Iwamoto (Creator)
  • Martin Kaesberger (Creator)
  • Sam Lane (Creator)
  • Marc Lichtman (Creator)
  • Kyle A Logue (Creator)
  • Magnus Lundmark (Creator)
  • Steve Markgraf (Creator)
  • Christoph Mayer (Creator)
  • Nicholas McCarthy (Creator)
  • Nick McCarthy (Creator)
  • Damian Miralles (Creator)
  • Sylvain Munaut (Creator)
  • Marcus Müller (Creator)
  • Geof Nieboer (Creator)
  • Tim O'Shea (Creator)
  • Julien Olivain (Creator)
  • Stefan Oltmanns (Creator)
  • Jiri Pinkava (Creator)
  • Mike Piscopo (Creator)
  • Suleyman Poyraz (Creator)
  • Jam M. Hernandez Quiceno (Creator)
  • Mathieu Rene (Creator)
  • Kenji Rikitake (Creator)
  • Florian Ritterhoff (Creator)
  • Dan Robertson (Creator)
  • Federico 'Larroca' La Rocca (Creator)
  • Andrej Rode (Creator)
  • Andrey Rodionov (Creator)
  • Michael Roe (Creator)
  • Tom Rondeau (Creator)
  • John Sallay (Creator)
  • Takehiro Sekine (Creator)
  • Karl Semich (Creator)
  • Vanya Sergeev (Creator)
  • Alexey Slokva (Creator)
  • Clayton Smith (Creator)
  • Albin Stigo (Creator)
  • Adam Thompson (Creator)
  • Roy Thompson (Creator)
  • Vasil Velichkov (Creator)
  • Ryan Volz (Creator)
  • Andy Walls (Creator)
  • Don Ward (Creator)
  • Nathan West (Creator)
  • Bernhard M. Wiedemann (Creator)
  • Stefan Wunsch (Creator)
  • Valerii Zapodovnikov (Creator)
  • Jaroslav Škarvada (Creator)
  • Aang23 (Creator)
  • AlexandreRouma (Creator)
  • Andrew (Creator)
  • Zlika (Creator)
  • luz.paz (Creator)
  • rear1019 (Creator)
  • tinyboxvk (Creator)

Dataset

Description

Hi everyone!

This is the VOLK v3.2.0 release! We want to thank all contributors.
This release wouldn't have been possible without them.

Thanks to Olaf Bernstein, VOLK received well optimized RiscV implementations for almost every kernel.
Together with the appropriate CI, this contribution makes VOLK way more powerful on a whole new architecture.

We started to use gtest as an additional test framework. The current "one kinda test fits all" approach is often insufficient to test kernels where they really should not fail.
Now, this approach should allow us to implement more powerful tests more easily.

Besides the x86 platform, we see more and more ARM activity. The corresponding kernels can now be tested natively on Linux and MacOS.
This approach is way faster than before with QEMU. A single job runs in ~1min instead of ~12min now.

Contributors



Doron Behar [email protected]

Johannes Demel [email protected]

John Sallay [email protected]

Magnus Lundmark [email protected]

Olaf Bernstein [email protected]

Ron Economos [email protected]

Sam Lane [email protected]

Suleyman Poyraz [email protected]

tinyboxvk [email protected]


Changes



New and improved kernels


add RISC-V Vector extension (RVV) kernels

New AVX512F implementation



Improved and modernized CI


ci: Add first native Linux ARM runners

macos: Fix CI dependency error

appveyor: Update to VS 2022/Python 3.12

Update android_build.yml



Improved builds


cmake: Fix 64bit host CPU detection

cmake: Suppress invalid escape sequence warnings with Python 3.12

cmake/pkgconfig: use CMAKE_INSTALL_FULL_* variables

cmake: Fix VOLK as a submodule build issue

Adds toolchain file for Raspberry Pi 5



New and improved tests


gtest: Start work on new test infrastructure

tests: Add a log info print test

gtest: Make gtest an install dependency

gtest: Enable GTests in CI workflows

tests: Beautify test output



Documentation


cpu_features: Update hints in README



Code quality


Add const to several args



Usability features


feature: add env variable kernel override
Date made available3 Feb 2025
PublisherZenodo

Cite this