Published in News

Qualcomm spruces up its GNU C Library

by on02 July 2024


Ready for the new Oryon-1 CPU cores

Qualcomm has rolled out performance enhancements into the GNU C Library, "glibc," to benefit its new Oryon-1 CPU cores, which are featured in the Snapdragon X Elite/Plus SoCs.

With the first Snapdragon X Elite ARM64 laptops on the market and the emergence of the basics of Linux support, Qualcomm engineers have commenced further work on performance tuning and enhancements throughout the open-source domain.

Over the weekend the initial phase of Oryon-1 CPU tuning was incorporated into the GNU C Library. A new memcpy implementation for memory copying within this crucial library has been introduced.

According to the commit:

"Qualcomm's new core (oryon-1) exhibits a different performance characteristic than other cores. For memcpy, utilising the GPRs for copying large sizes proves faster (twice as quick). For even larger sizes, employing the nontemporal load/store instructions is preferable to avoid polluting the L1/L2 caches.

The characteristics of these cores are quite similar to those of other cores for smaller sizes. The Thunderx memcpy served as the foundation, which I then expanded upon."

Additionally, a fresh memset implementation for the Oryon-1 CPU cores has been merged into Glibc:

"Qualcomm's new core, oryon-1, presents distinct characteristics for memset compared to existing versions. For non-zero, larger sizes, using GPRs instead of SIMD stores is approximately 30 per cent quicker. Using nontemporal stores is essential for even larger sizes to prevent pollution of the L1/L2 caches.

For zero values, the 'dc zva' command should be employed. Determining the size is unnecessary, as it will invariably be 64 bytes. The emag memset formed the basis, to which I reintroduced the 'dc zva' code."

These modifications will be included in Glibc 2.40, released next month.

Last modified on 02 July 2024
Rate this item
(0 votes)