Tom Forsyth (@[email protected])

Attached: 1 image Once we'd figured this out, the fix was simple - move the guard back about a millimeter. Easy. But it took a lot of work to find because people had to dust off old memories of how the debugging tools worked, etc.

Gamedev Mastodon

Much discussion in my feeds around the rustc problem/bug generating bad code to do with SSE2;

https://lists.debian.org/debian-release/2024/11/msg00459.html

Can't say I understand what is the root case there, but rust is not making friends in the vintage/retro computing world.

Nor the folks maintaining old kit for customers.

#i386
#rustc #SSE2 #bug
#Debian 13
#Devuan 6

Re: Rustc unsoundness on i386

"A library that abstracts over SIMD instruction sets, including ones with differing widths. SIMDeez is designed to allow you to write a function one time and produce SSE2, SSE41, and AVX2 versions of the function."

https://github.com/arduano/simdeez

#asm #rust #programming #opt #optimize #SSE2 #SSE41 #AVX #AVX2 #dev #C0DE #opcodes #amd64 #code #programminLanguage #code

GitHub - arduano/simdeez: easy simd

easy simd. Contribute to arduano/simdeez development by creating an account on GitHub.

GitHub

#PaleMoon will be requiring #AVX support in CPUs for its official binaries starting from version 33.3.0, which can be expected to release on the second Tuesday of this August.

For those still stuck with #SSE2 you will either have to upgrade your processor to something more recent (AVX support has been commonly available for 10 years now) or switch to a community build that still builds support for SSE2.

https://forum.palemoon.org/viewtopic.php?f=1&t=31399

EDIT: Oh and I forgot to mention too that this is only for 64-bit. 32-bit Windows binaries will still support SSE2 (there are not 32-bit only processors that supports AVX as far as I know anyway, and even if there are it would most likely result in worse performance due to how 32-bit x86 and AVX work)

Change in system requirements - Pale Moon forum

Alpine Linux i386 tested on our old PC

If you ever wondered what is one of the very few Linux distributions other than Debian that actually supports i386 in the present era, you might have heard about Alpine Linux.

Alpine Linux is a Linux distribution that is designed to be one of the small and lightweight Linux distributions. It uses musl, OpenRC, and BusyBox instead of glibc, systemd, and GNU Core Utiities, which are used in many Linux distributions, including Debian and Ubuntu. The first version was publicly released in August 2005.

Nowadays, many Linux distributions support only AMD64 in PCs, although very few support i386, like Debian and Alpine Linux. This, along with the system environment, made us try to install Alpine Linux on our old i386 PC as a dual-boot for our primary Debian machine.

We have used alpine-extended-3.15.4-x86.iso to install Alpine Linux without having to download 400+ MB of packages. We have burnt this to the USB, because our CD-ROM drive failed last July.

After following the steps on how to set up Alpine Linux on a dualboot system, we have managed to get it to boot from GRUB. However, covering the steps used is out of scope for this article, and will publish another article on how to actually do it.

When it booted, we had to set up wpa_supplicant to start itself on boot and connect to our network. After that, we have tried setup-xorg-base to install the GUI server, along with the window manager and the terminal emulator since this command didn’t install them by default.

We’ve started the Xorg server successfully with no issues. However, we had to install a video driver for our Radeon 9200, which is xf86-video-ati, to enable hardware acceleration.

Here’s a rather annoying issue, though. librsvg, a Linux library that is responsible for rendering SVG as PNG, was built optimized for Pentium 4 and AMD Athlon 64, which signifies that there are SSE2 instructions in its machine code when disassembly is done. This instigates an event where programs that depend on it, such as jwm, fail to start themselves up with Illegal instruction printed on the console. Upon further inspection, librsvg is the cause. Fedora 28 and later had the same problem, which actually caused Fedora 28 i386 live DVDs to fail to start properly with the black screen on i386 systems that don’t have an adequate processor that has SSE2, and they have responded by removing i386 support.

So, if you want to have the full Alpine i386 experience, you can just use the i386 version of it in a system that has at least Pentium 4 or AMD Athlon 64 while the fix will appear in the future. However, we recommend using the AMD64 version if possible. If not possible, we recommend sticking to Debian on a system that doesn’t support SSE2.

Enjoy!

#Alpine #AlpineLinux #Linux #preview #sse2 #test

#nibrans is a #publicdomain nibble based rANS coder.

nibrans is an #singleheader #SSE2 accelerated encoder and decoder for the rANS arithmetic coding format. rANS offers near-optimal data compression while having an adaptable frequency structure, unlike Huffman coding which uses a static structure. nibrans encode and decode data at a rate of up to 75-95 megabytes per second.

Website 🔗️: https://github.com/BareRose/nibrans

#free #opensource #foss #fossmendations #programming #library #compression

GitHub - BareRose/nibrans: Simple, single-file, nibble-based, adaptive rANS library with SSE2-accelerated modeling

Simple, single-file, nibble-based, adaptive rANS library with SSE2-accelerated modeling - GitHub - BareRose/nibrans: Simple, single-file, nibble-based, adaptive rANS library with SSE2-accelerated m...

GitHub

#julialang #mingw64 #gcc #dSFMT #OpenMP #SSE2

二大怪獣最終決戦?😁

10億回のループでは短い感じなので、40億回にしてみました。

適当にあいだをあけながら二三十回試して一番短い方の時間をピックアップしました。

結果

mingw64 gcc with dSFMT, SSE2, and OpenMP → 5.3秒

julia @paralle → 4.3秒

Julia @parallel 強いです。

なかなか倒せない。数字がばらつくのですが、安定してJuliaの方が速い感じです。

統計処理をしてみようかと思ったのですが、色々面倒なのでやめました。

CPUの温度が計算にかかる時間のゆらぎに関係しているっぽい雰囲気。 https://mathtod.online/media/ga6fhfgzumvcQKkyZb0