From cb168b24ba92445a9c9a2de52b1199318e832ca2 Mon Sep 17 00:00:00 2001 From: lkcl Date: Thu, 11 Feb 2021 22:06:43 +0000 Subject: [PATCH] --- 3d_gpu/architecture/dynamic_simd.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/3d_gpu/architecture/dynamic_simd.mdwn b/3d_gpu/architecture/dynamic_simd.mdwn index fd589dcf8..b75d310ce 100644 --- a/3d_gpu/architecture/dynamic_simd.mdwn +++ b/3d_gpu/architecture/dynamic_simd.mdwn @@ -24,7 +24,9 @@ Pages below describe the basic features of each and track the relevant bugreport # Integration with nmigen -Dynamic partitioning of signals is not enough on its own. Basic operations such as `x + y` are functional, producing results 1x64 bit, or 2x32 or 4x16 or 8x8 or anywhere in between, but what about control and decisions? Here is the "normal" way in which SIMD decisions are performed: +Dynamic partitioning of signals is not enough on its own. Normal nmigen programs involve conditional decisions, that means if statements and switch statements. + +With the PartitionedSignal class, basic operations such as `x + y` are functional, producing results 1x64 bit, or 2x32 or 4x16 or 8x8 or anywhere in between, but what about control and decisions? Here is the "normal" way in which SIMD decisions are performed: if partitions == 1x64 with m.If(x > y): @@ -38,7 +40,7 @@ Dynamic partitioning of signals is not enough on its own. Basic operations such # SIMD nonsense all exactly the same except for the # for loop and sizes. -Clearly this is a total unmaintainable nightmare of worthless crud which, if continued throughout a large project with 40,000 lines of code, would completely destroy all chances of that project being successful by turning 40,000 lines into 400,000 lines of unreadable spaghetti. +Clearly this is a total unmaintainable nightmare of worthless crud which, if continued throughout a large project with 40,000 lines of code when written without SIMD, would completely destroy all chances of that project being successful by turning 40,000 lines into 400,000 lines of unreadable spaghetti. A much more intelligent approach is needed. What we actually want is: -- 2.30.2