Commit b749bd9
feat: concurrent sum (for huge numbers) (#1495)
* concurrent sum module
* compute shader blueprint
* endeavour to run compute shader
* introduced std log and std log2
* log now supports vectors
* removed redundant files
* log in vectorops
* added tests
* complete tests
* updated to main
* Fixes - compute shader runs
* alg fixes
* working presum
* introduced concurrent-sum example
* concurrent sum in math examples
* finally somewhat parallel
* Fixed exceeding workgroup size
* One function to wrap the compute shader
* packed whole concurrent-sum
* Added quicker concurrentSum algorithm - shared memory
* each thread copies two values into shared memory, instead of one
* Found workGroupSize buffer
* Introduced sums scan
* Compute shader used for sums
* export fixes
* incrementSHader
* Found copy bug
* alg fix
* Dynamic buffer length support
* Now supporting optional buffer as output
* no more consts
* Divided into upPass and downPass
* Refmt
* work in progress
* Fixed
* reintroduced down pass
* warning fixes
* Fully working impl
* example for testing
* clean layouts
* fully working recursive step
* Dispatching multiple workgroups
* supporting optional buffer
* stash the cache
* buffer cache
* nits
* performance inprovements
* alternative cache
* gpu time
* refactor of types
* 🦕
* basic support for any operation
* concurrent sum supports all operators now
* example tidy up
* removed unnecessary flush
* example improvements
* types
* Support for single element sum
* example sanity changes'
* filenames
* 🦕
* fixes
* 🦕
* 🦕
* flex example
* lines
* speed up isntead of time
* some improvements
* tailwind baby
* 3 values
* working example
* pr fixes
* html simplifiaction
* other operators fix
* typo
* length is now chooseable
* fixed on mobile
* tgpu callable
* profile pic mod
* copilot
* buttons cleanup
* introduced calculate index
* got rid of ugly casts
* Major rename
* Removed old concurrent sum example
* 🦕
* typo
* better cache
* oppsies
* html changes
* height control
* looking goood on mobile
* 🦕
* dynamic y axis
* rename
* 🦕
* PR fixes 1
* fix
* single element scan fix
* 🦕
* proper private values
* docs and tests
* farewell buffer cache
* 🦕
* Merge fixes
* docs: Tests for prefix scan (#1804)
* jsdocs example
* implicit single scan conv
* fix timestamp queries
* 🦕🦕🦕
* tgpu bump 0.6 -> 0.8
* API option 4
* 🦕🦕🦕
* 🦕🦕🦕🦕
* tgpu version bump
* PR fixes 1
* Code duplication with scan (only difference is true vs false), this body can be extracted to a helper function.
* outputBuffer does not work in scan (there is always a new one-element buffer returned)
* fix faulty test
* ordering of lines
* removed number cast
* simplified array init
* bars opacity in loop
* readme change
* .with update
* better pipeline if
* removed tgpu callable
* uniformAdd -> uniformOp
* fix, simplify, modernize (#2164)
* simplify (#2169)
* COMBINE (#2182)
* add -> op
* export computer for *advanced* usage I guess :P
* two level cache
* fixes
* better wording imp
---------
Co-authored-by: Iwo Plaza <iwoplaza@gmail.com>
Co-authored-by: Aleksander Katan <56294622+aleksanderkatan@users.noreply.github.com>
Co-authored-by: Aleksander Katan <aleksander.katan@swmansion.com>
Co-authored-by: Konrad Reczko <reczkok@gmail.com>
Co-authored-by: Konrad Reczko <66403540+reczkok@users.noreply.github.com>1 parent 397a4fc commit b749bd9
24 files changed
Lines changed: 1491 additions & 1 deletion
File tree
- apps/typegpu-docs
- src
- examples
- algorithms/concurrent-chart
- tests/prefix-scan
- utils/examples
- packages
- typegpu-concurrent-scan
- src
- compute
- typegpu/src/data
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
Lines changed: 78 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
0 commit comments