Message boards :
Number crunching :
Float, HLSL & SPIR-V Compiler Role

Message board moderation

Author | Message |
---|---|

Send message Joined: 26 Dec 11 Posts: 253 Credit: 671,498 RAC: 1 |
Motivation : WEALTH $$=$$$$$ : Hail Odin Float, HLSL & SPIR-V Compiler Role (c)RS Vulkan 1,1.2,1.3+ & DX10,11,12+ , HLSL & SPIR-V Rule sets : Float,Vector,AVX,SiMD General Instruction Optimisation Procedure & Vulkan/DX Shader stack. HLSL & SPIR-V Compilers jobs are to streamline code into efficient Float & SiMD,Vector,AVX Instruction sets that do the maths in the order most efficient for clock cycle use & Instruction load,store & set cycles. HLSL & SPIR-V should be optimisation compiler sub-rules for valid Vector,AVX,SiMD instructions. Complex maths is 90% going to be float & SiMD instruction are clock cycle optimiser's for uncomplicated maths with multiple vectors. General Instruction Optimisation Procedure & Vulkan/DX Shader stack. Firstly the SiMD Shader base language is Assembler with script balanced scripting models GPU: AMD,NVidia,STI,ARM,Intel ,RISC sets(IBM,Cisco,Del,HP,Fujitsu,Sun,Subset Micro-Processors,Thunder 2,CISC: AMD,Intel, IBM (Others Exist.) Basic instruction strategy of SiMD & Float adaptation of the main concerns for all programming models that funnel into SiMD/AVX/Vector & broadly Float.. HLSL,SPIR-V Code is a layer 2 abstraction over the code base Vectored Instruction Set, Conceptually the baggage is imagining that there is a limitation to level 3 C Code.. Well as SiMD/Vector/AVX/Float is a Algebra maths formula, The basic solution is algebra. Algebra is the super set within which Shader code exists as a subset of Float, Understanding this fact is key to understanding the concept. The role of the shader layer shall be divided into two parts: Complex maths : (Integer, Float) & Simple Maths with multiple dataset values. Firstly the Coder separates the two layers that solve the maths algebra. (FLOAT)The complex maths Objects(Algebra) & (Vector,AVX,SiMD)the Vector rule set Objects. Examples: Polygon (float) Values = Result A,B,C & then Vector to tessellation Preferably we have the polygons worked out and saved in ram & then we tessellate. Vector Instruction: Memory Loaded Objects (A,B,C,D,Ecetera) Instruction sets of bit swaps being common in Interpolation & Anti Aliasing for example. Vector instruction sets : AVX are in principle to redice CPU Cycle count on multiple Object(A,B,C,D) Simple Maths without testing the rule sets. The world of Vector involves Bit Swaps (More complex algebra) & Simple Mul (Multiply) + - & Division / Bit swapping data sets appears to be a key player in SiMD/AVX So arguing about Float matters.. and the role of Vector instruction is clearly defined as increasing instruction count per clock cycle for a limited instruction set. Understanding efficiency is the object of the compiler & we have to test the instruction speed & efficiency versus FLOAT.. Bit Swaps are 3 Float instruction cycles for example versus 1 in AVX; With series of Objects to swap, Series of 4 for example. Float &Integer maths Instructions: Dimensional code such as 3D Polygons,Curves,Ellipses,FTT,Blast & Maths related to vectored noise reduction such as Analogue Vacuum Tube Maths; Indeed Ohms law for example. So imagine a world where simple algebra is the law, So algebra is soon complicated & involves 3 roll loops. For example: For A = 3, C = EMC², D = Entropy, E = Energy therfor A + B B = ( G = ( F - ((D/C)+(E*C)))) Exumé Temré Vector is to simplify cycle, Float is to explain the butterfly https://science.n-helix.com/2019/05/compiler-optimisation.html https://science.n-helix.com/2020/01/float-hlsl-spir-v-compiler-role.html https://www.khronos.org/blog/hlsl-first-class-vulkan-shading-language (c)RS |

©2020 CERN