hessen.social ist einer von vielen unabhängigen Mastodon-Servern, mit dem du dich im Fediverse beteiligen kannst.
hessen.social ist die Mastodongemeinschaft für alle Hessen:innen und alle, die sich Hessen verbunden fühlen

Serverstatistik:

1,6 Tsd.
aktive Profile

#opencl

1 Beitrag1 Beteiligte*r0 Beiträge heute

I'm liking the class this year. Students are attentive and participating, and the discussion is always productive.

We were discussing the rounding up of the launch grid in #OpenCL to avoid the catastrophic performance drops that come from the inability to divide the “actual” work size by anything smaller than the maximum device local work size, and were discussing on how to compute the “rounded up” work size.

The idea is this: given the worksize N and the local size L, we have to round N to the smallest multiple of L that is not smaller than N. This effectively means computing D = ceili(N/L) and then using D*L.

There are several ways to compute D, but on the computer, working only with integers and knowing that integer division always rounded down, what is the “best way”?

D = N/L + 1 works well if N is not a multiple of L, but gives us 1 more than the intended result if N *is* a multiple of L. So we want to add the extra 1 only if N is not a multiple. This can be achieved for example with

D = N/L + !!(N % L)

which leverages the fact that !! (double logical negation) turns any non-zero value into 1, leaving zero as zero. So we round *down* (which is what the integer division does) and then add 1 if (and only if) there is a reminder to the division.

This is ugly not so much because of the !!, but because the modulus operation % is slow.

1/n

#FluidX3D #CFD v3.2 is out! I've implemented the much requested #GPU summation for object force/torque; it's ~20x faster than #CPU #multithreading. 🖖😋
Horizontal sum in #OpenCL was a nice exercise - first local memory reduction and then hardware-supported atomic floating-point add in VRAM, in a single-stage kernel. Hammering atomics isn't too bad as each of the ~10-340 workgroups dispatched at a time does only a single atomic add.
Also improved volumetric #raytracing!
github.com/ProjectPhysX/FluidX

My OpenCL-Benchmark now uses the dp4a instruction on supported hardware (#Nvidia Pascal, #Intel #Arc, #AMD RDNA, or newer) to benchmark INT8 tghroughput.
dp4a is not exposed in #OpenCL C, but can still be used via inline PTX assembly and compiler pattern recognition. Even Nvidia's compiler will turn the emulation implementation into dp4a, but in some cases does so with a bunch of unnecessary shifts/permutations on inputs, so better use inline PTX directly. 🖖🧐
github.com/ProjectPhysX/OpenCL

#FluidX3D #CFD v3.1 is out! I have updated the #OpenCL headers for better device specs detection via device ID and Nvidia compute capability, fixed broken voxelization on some #GPU​s and added a workaround for a CPU compiler bug that corrupted rendering. Also AMD GPUs will now show up with their correct name (no idea why they can't report it as CL_DEVICE_NAME like every other sane vendor and instead need CL_DEVICE_BOARD_NAME_AMD extension...)
Have fun! 🖖😉
github.com/ProjectPhysX/FluidX

GitHubRelease FluidX3D v3.1 (more bug fixes) · ProjectPhysX/FluidX3DThank you for using FluidX3D! Update v3.1 brings two critical bug fixes/workarounds and various small improvements under the hood: Improvements faster enqueueReadBuffer() on modern CPUs with 64-B...

#NVIDIA #GeForce #RTX5090 #Linux #GPU Compute Performance #Benchmarks
When taking geo mean across 60+ benchmarks of #CUDA / #OptiX / #OpenCL / #Vulkan Compute, the GeForce RTX 5090 was delivering 1.42x the performance of GeForce #RTX4090. On performance-per-Watt GeForce RTX 5090 tended to deliver similar power efficiency to the RTX 4080/4090 graphics cards.
GeForce RTX 5090 Founders Edition was running cooler than many of the other Founders Edition graphics cards tested.
phoronix.com/review/nvidia-gef

www.phoronix.comNVIDIA GeForce RTX 5090 Linux GPU Compute Performance Benchmarks Review

This is the largest #CFD simulation ever on a single computer, the #NASA X-59 at 117 Billion grid cells. This video visualizes 7.6 PetaByte if volumetric data.

I did this simulation on 2x #Intel Xeon 6980P #HPC CPUs with 6TB MRDIMM memory at massive 1.7TB/s bandwidth. No #GPU​s required! 🖖😋🟦

youtube.com/watch?v=K5eKxzklXD

As a little gift to you all: #FluidX3D v3.0 is out now, enabling 31% larger resolution on CPUs/iGPUs with #OpenCL zero-copy buffers:
github.com/ProjectPhysX/FluidX