Bug 115

Summary: SIMD ALUs needed
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: ALU (including IEEE754 16/32/64-bit FPU)Assignee: Luke Kenneth Casson Leighton <lkcl>
Status: CONFIRMED ---    
Severity: enhancement CC: libre-soc-bugs
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
URL: https://libre-soc.org/3d_gpu/architecture/dynamic_simd/
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=458
https://bugs.libre-soc.org/show_bug.cgi?id=467
https://bugs.libre-soc.org/show_bug.cgi?id=132
https://bugs.libre-soc.org/show_bug.cgi?id=167
https://bugs.libre-soc.org/show_bug.cgi?id=176
https://bugs.libre-soc.org/show_bug.cgi?id=549
https://bugs.libre-soc.org/show_bug.cgi?id=384
https://bugs.libre-soc.org/show_bug.cgi?id=594
https://bugs.libre-soc.org/show_bug.cgi?id=596
https://bugs.libre-soc.org/show_bug.cgi?id=713
https://bugs.libre-soc.org/show_bug.cgi?id=707
https://bugs.libre-soc.org/show_bug.cgi?id=709
NLnet milestone: --- total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0 parent task for budget allocation:
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
Bug Depends on: 1024, 101, 132    
Bug Blocks: 116, 48    

Description Luke Kenneth Casson Leighton 2019-07-25 15:37:39 BST
SIMD back-end operations are needed, using the ReservationStation
infrastructure.  it would be nice to still be able to do early-out.
will need unary selection and cancellation done, first.
Comment 1 Luke Kenneth Casson Leighton 2021-10-02 17:33:13 BST
with PartitionedSignal in place, the idea here is to have a Stage API
class which automatically understands and carries the Partition Context
throughout all pipelines.

the IO Data (as defined by regspecs) is then *automatically* allocated
PartitionedSignals rather than scalar Signals and thus the ALUs, comprising
as they do of Stage API pipelines, do not need massive intrusive conversion.

a wrapper around nmigen dsl.Module can then allocate PartitionedSignals.

however this should not be "all-in", it should be dynamic runtime configureable
as to whether the ALU should be instantiated as scalar or as SIMD.