Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Sep 2023 13:45:03 GMT
From:      Lorenzo Salvadore <salvadore@FreeBSD.org>
To:        doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org
Subject:   git: c21ae96625 - main - Status/2023Q3/simd.adoc: Add report
Message-ID:  <202309281345.38SDj3q8004581@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help

The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/doc/commit/?id=c21ae96625899976eb80ab84bf0931ecd0ca269d

commit c21ae96625899976eb80ab84bf0931ecd0ca269d
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2023-09-28 13:44:26 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2023-09-28 13:44:26 +0000

    Status/2023Q3/simd.adoc: Add report
---
 .../en/status/report-2023-07-2023-09/simd.adoc     | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/website/content/en/status/report-2023-07-2023-09/simd.adoc b/website/content/en/status/report-2023-07-2023-09/simd.adoc
new file mode 100644
index 0000000000..33f4848790
--- /dev/null
+++ b/website/content/en/status/report-2023-07-2023-09/simd.adoc
@@ -0,0 +1,28 @@
+=== SIMD enhancements for amd64
+
+Links: +
+link:http://fuz.su/~fuz/freebsd/2023-04-05_libc-proposal.txt[Project proposal] URL: link:http://fuz.su/~fuz/freebsd/2023-04-05_libc-proposal.txt[]
+link:https://man.freebsd.org/cgi/man.cgi?query=simd&manpath=FreeBSD+15.0-CURRENT[simd(7)] URL: link:https://man.freebsd.org/cgi/man.cgi?query=simd&manpath=FreeBSD+15.0-CURRENT[]
+
+Contact: Robert Clausecker <fuz@FreeBSD.org>
+
+SIMD instruction set extensions such as SSE, AVX, and NEON are ubiquitous on modern computers and offer performance advantages for many applications.
+The goal of this project is to provide SIMD-enhanced versions of common libc functions (mostly those described in man:string[3]), speeding up most C programs.
+
+For each function optimised, up to four implementations will be provided:
+
+ * a *scalar* implementation optimised for amd64, but without any SIMD usage,
+ * a *baseline* implementation using SSE and SSE2 or alternatively an *x86-64-v2* implementation using all SSE extensions up to SSE4.2,
+ * an *x86-64-v3* implementation using AVX and AVX2, and
+ * an *x86-64-v4* implementation using AVX-512F/BW/CD/DQ.
+
+Users will be able to select which level of SIMD enhancements to use by setting the `ARCHLEVEL` environment variable.
+
+While the current project only concerns amd64, the work may be expanded to other architectures like arm64 in the future.
+
+During the last few months, significant progress has been made on this project.
+SIMD-enhanced versions of man:bcmp[3], man:index[3], man:memchr[3], man:memcmp[3], man:stpcpy[3], man:strchr[3], man:strchrnul[3], man:strcpy[3], man:strcspn[3], man:strlen[3], man:strnlen[3], and man:strspn[3] have landed.
+Functions man:memcpy[3], man:memmove[3], man:strcmp[3], man:timingsafe_bcmp[3] (see link:https://reviews.freebsd.org/D41673[D41673]), and man:timingsafe_memcmp[3] (see link:https://reviews.freebsd.org/D41696[D41696]) are work in progress.
+Unfortunately, the work has not made the cut for FreeBSD 14.0, but it is slated to be part of FreeBSD 14.1.
+
+Sponsor: The FreeBSD Foundation



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202309281345.38SDj3q8004581>