Message boards : Number crunching : What Can You do with SiMD : Simple answers and potential questions : Science Projects post
Message board moderation

To post messages, you must log in.

AuthorMessage
QuantumEthos

Send message
Joined: 26 Dec 11
Posts: 240
Credit: 671,443
RAC: 16
Message 39428 - Posted: 24 Jul 2019, 13:01:49 UTC

Single SIMD AVX wavefront compute - mips & conversions

On the subject of your video https://www.youtube.com/watch?v=0DLOJPSxJEg on compute shaders

are not mipmap levels handled automatically on the gpu unit ?
The use of compute shaders clearly allows access to all mip maps ...
Can these be saved to cache storage or to a local file storage, such that we can save ourselves the 4096 to 64 step and simply compute stage 2 that is fast?

Time saving yes ? but what about the frame buffer and pci transfer DMA cpu usage?

can simd also simply use the CPU instructions exactly to do the mipmaps ...
Are CPU's usable to process mipmap conversions and if so why not use CPU AVX SIMD ?

Are the instructions the same and cross utilisable...

Could you also convert from for example 16x16 to 4X4 + 2X2 + 1X1 on the same group
for example a large reduction would use more of a single SIMD AVX wavefront and besides take the same or less time for trivial data use for maths.

RS https://science.n-helix.com

"Hi,



if the texture already has mipmaps, then of course there is no need to generate them again. However, not all texture do have mipmaps. In DX11 there is the GenerateMips command, which does this for you, but there is no such function in DX12 and Vulkan.

Once the mips are computed you can save them of course in your texture and re-use them, you don’t need to re-generate them all the time. However, there are cases where computing the mips each frame can’t be avoided, because the resource you want the mips from is generated during the frame – thus, you can’t have pre-computed mips. Please also note, that depending on your use case, there might be no need to transfer the mips to the CPU.



Yes, you can use SIMD on the CPU to do this, but then you are solving a different problem basically. If you need the mips to be accessed by the GPU, there would be significant overhead when you use the CPU for this kind of work. You need to synchronize between them and transfer the memory from CPU to GPU. Despite the fact, that computing the mips is a highly parallel task which can be computed quite performant on the GPU by using all of its compute units (at least for the first few mips 😊).

If the GPU does not need the mips but only the CPU, then it might make sense to do the mip generation on the CPU though. It really depends on your use case.



I am not super familiar with CPU SIMD AVX, but it’s probably true that you want to rearrange the pattern to fit these SIMDs in a most optimal way.

If you anyway transfer the texture from the CPU to the GPU, and you already have the mips or have enough CPU spare time to compute them on the CPU, it makes probably sense to do so. But if you only have the texture on the GPU, and are only using it on the GPU, there is no reason to generate the mips on the CPU. Because this would add at least 2 synchronization points plus the PCI transfer costs for GPU to CPU and CPU to GPU. This overhead can be completely avoided by just computing the mips on the GPU.

Thanks,

Lou"

****

We can use CPU & GPU MipMap & Tessellation RiS with micro smoothing predictive tessellation with map fonts, We can also do colour maps and lut conversion for dynamic contrast & Sound for the Realtek Audio codec! We can do this for video also...

Creating SDK ARM/X86/GPU/FPMG/SiMD

(c)RS

https://science.n-helix.com/2018/01/integer-floats-with-remainder-theory.html

https://science.n-helix.com/2016/04/3d-desktop-virtualization.html

https://science.n-helix.com/2017/02/open-gaming.html

https://science.n-helix.com/2019/05/compiler-optimisation.html

Compiler books & reading : https://science.n-helix.com/2017/04/boinc.html

https://science.n-helix.com/2019/06/vulkan-stack.html more on SiMD
ID: 39428 · Report as offensive     Reply Quote
QuantumEthos

Send message
Joined: 26 Dec 11
Posts: 240
Credit: 671,443
RAC: 16
Message 39477 - Posted: 1 Aug 2019, 10:45:03 UTC - in response to Message 39428.  

Suggested Shaders is a set of the most appropriate shaders for Film & Processing:

Image improvement and encoding & entertainment video codecs (we need a proper video codec pack that is low priced but all hardware encode & decode + media player classic 64Bit HDR Dynamic Contrast RS Reshader-shaders.7z attached : Full of shaders : our gift

Networking, Audio & Display Codecs: Have you thought about shaders in AV
Have you thought about using shaders in Networking ? to realise the network data strategy...
The same is true for displays & Audio & other Science data such as Neural networks,
Image improvement and encoding & entertainment video codecs, 64Bit HDR Dynamic Contrast

https://is.gd/SuggestedShaders

https://is.gd/ShadersSDK

(c)RS

https://reshade.me/

https://reshade.me/presets

http://science.n-helix.com/2019/06/vulkan-stack.html
ID: 39477 · Report as offensive     Reply Quote
QuantumEthos

Send message
Joined: 26 Dec 11
Posts: 240
Credit: 671,443
RAC: 16
Message 39486 - Posted: 2 Aug 2019, 20:00:29 UTC - in response to Message 39477.  
Last modified: 2 Aug 2019, 20:02:56 UTC

More Shader SiMD Commands

Interpolate wave creativity with enhanced AVX SiMD Shaders & Real -Time RT post production : Shaders included

(c)RS http://science.n-helix.com

http://science.n-helix.com/2019/06/vulkan-stack.html

https://is.gd/FetchB4JQuery

https://is.gd/SuggestedShaders

https://is.gd/CodecShaders

https://is.gd/InterpolationShaders
ID: 39486 · Report as offensive     Reply Quote
[VENETO] boboviz

Send message
Joined: 7 May 08
Posts: 39
Credit: 218,356
RAC: 1
Message 39741 - Posted: 28 Aug 2019, 7:10:35 UTC

LHC Admins seems not interested in gpgpu...
ID: 39741 · Report as offensive     Reply Quote
QuantumEthos

Send message
Joined: 26 Dec 11
Posts: 240
Credit: 671,443
RAC: 16
Message 39958 - Posted: 18 Sep 2019, 5:57:39 UTC - in response to Message 39741.  
Last modified: 18 Sep 2019, 5:58:05 UTC

https://is.gd/ShaderGuide Shaders are also SiMD commands! these can also be used on CPU AVX instructions.

RS
ID: 39958 · Report as offensive     Reply Quote
Toby Broom
Volunteer moderator

Send message
Joined: 27 Sep 08
Posts: 581
Credit: 369,711,317
RAC: 137,555
Message 39960 - Posted: 18 Sep 2019, 6:21:31 UTC - in response to Message 39741.  

I'm sure they would be interested if there was a significant benefit. e.g. for the CERN calculations I can imagine they would use double precision, since most consumer GPU's don't do well in DP, there is not much benefit to use GPU's e.g. 9900K is ~200TFLOPS, 2080Ti is ~400TF. So given the efforts for a 2x speed up the value is not so great.
ID: 39960 · Report as offensive     Reply Quote

Message boards : Number crunching : What Can You do with SiMD : Simple answers and potential questions : Science Projects post


©2020 CERN