BSD Ports

devel/highway 1.4.0p1 OpenBSD

length-agnostic SIMD with runtime dispatch

System
OpenBSD
Repository
OpenBSD ports
Maintainer
The OpenBSD ports mailing-list <[email protected]>
Last update
Commit
854dd4fa0d
Categories
devel

Description

Highway is a C++ library that provides portable SIMD/vector intrinsics.

Highway makes SIMD/vector programming practical and workable according to these guiding principles:

Does what you expect: Highway is a C++ library with carefully-chosen functions that map well to CPU instructions without extensive compiler transformations. The resulting code is more predictable and robust to code changes/compiler updates than autovectorization.

Works on widely-used platforms: Highway supports four architectures; the same application code can target eight instruction sets, including those with 'scalable' vectors (size unknown at compile time). Highway only requires C++11 and supports four families of compilers.

In the other systems

SystemPortVersion
OpenBSDdevel/highway1.4.0p1
FreeBSDdevel/highway1.4.0
NetBSDtextproc/highway1.1.0
DragonFlydevel/highway1.2.0
MidnightBSDdevel/highway1.2.0
HardenedBSDdevel/highway1.4.0
GhostBSDdevel/highway1.4.0

Install

Binary package:

pkg_add highway

From the ports tree:

cd /usr/ports/devel/highway && make install

Dependencies

Build dependencies 3

Commit history 2

DateCommitCreditsLog message
854dd4fa0d jca Reenable RVV code that it compiles
Brad backported an llvm fix for the type mismatch that was plaguing the riscv vector intrinsics. Also Brad added runtime detection to this port through elf_aux_info(3) earlier this summer, so we can now enable the RVV code in highway. But don't drop -DHWY_CMAKE_RVV=OFF, because it would make unconditional use of RVV through CFLAGS, and OpenBSD/riscv64 doesn't assume RVV support / RVA23.
49b856a432 landry devel/highway: backport some commits from upstream, from brad
add thread naming, futexes and runtime dispatch support.