Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/KeKsBoTer/wgpu_sort
/ functions
Functions
44 in github.com/KeKsBoTer/wgpu_sort
⨍
Functions
44
◇
Types & classes
5
↓ 8 callers
Method
keys
Buffer storing the keys values. WARNING**: this buffer has padding bytes at the end use [SortBuffers::keys_valid_size] to get the valid size.
src/lib.rs:615
↓ 7 callers
Function
upload_to_buffer
only used for testing temporally used for guessing subgroup size
src/utils.rs:13
↓ 6 callers
Method
values
Buffer containing the values
src/lib.rs:626
↓ 5 callers
Method
create_sort_buffers
creates all buffers necessary for sorting
src/lib.rs:508
↓ 5 callers
Method
sort
Writes sort commands to command encoder. If sort_first_n is not none one the first n elements are sorted otherwise everything is sorted. IMPORTANT**:
src/lib.rs:469
↓ 4 callers
Function
guess_workgroup_size
Function guesses the best subgroup size by testing the sorter with subgroup sizes 1,8,16,32,64,128 and returning the largest subgroup size that worked
src/utils.rs:94
↓ 4 callers
Method
keys_valid_size
The keys buffer has padding bytes. This function returns the number of bytes without padding
src/lib.rs:621
↓ 4 callers
Method
len
number of key-value pairs that can be stored in this buffer
src/lib.rs:607
↓ 3 callers
Function
scatter_blocks_ru
(n: u32)
src/lib.rs:636
↓ 2 callers
Function
histo_blocks_ru
number of histogram blocks required
src/lib.rs:641
↓ 2 callers
Function
keys_buffer_size
keys buffer must be multiple of HISTO_BLOCK_KVS
src/lib.rs:646
↓ 2 callers
Method
record_prefix_histogram
There does not exist an indirect histogram dispatch as the number of prefixes is determined by the amount of passes
src/lib.rs:396
↓ 2 callers
Method
sort_indirect
Initiates sorting with an indirect call. The dispatch buffer must contain the struct [wgpu::util::DispatchIndirectArgs]. number of y and z workgroups
src/lib.rs:494
↓ 2 callers
Method
state_buffer
Buffer containing a [SorterState]
src/lib.rs:631
↓ 1 callers
Method
create_internal_mem_buffer
calculates and allocates a buffer that is sufficient for holding all needed information for sorting. This includes the histograms and the temporary sc
src/lib.rs:298
↓ 1 callers
Function
download_buffer
only used for testing temporally used for guessing subgroup size
src/utils.rs:30
↓ 1 callers
Method
record_calculate_histogram
( &self, bind_group: &wgpu::BindGroup, length: u32, encoder: &mut wgpu::Comman
src/lib.rs:334
↓ 1 callers
Method
record_calculate_histogram_indirect
( &self, bind_group: &wgpu::BindGroup, dispatch_buffer: &wgpu::Buffer, encoder
src/lib.rs:366
↓ 1 callers
Method
record_scatter_keys
( &self, bind_group: &wgpu::BindGroup, length: u32, encoder: &mut wgpu::Comman
src/lib.rs:411
↓ 1 callers
Method
record_scatter_keys_indirect
( &self, bind_group: &wgpu::BindGroup, dispatch_buffer: &wgpu::Buffer, encoder
src/lib.rs:438
↓ 1 callers
Function
setup
()
benches/sort.rs:12
↓ 1 callers
Function
setup
()
tests/sort.rs:68
↓ 1 callers
Function
sort
(context:&SortStuff,sorter:&GPUSorter,buffers:&SortBuffers,n:u32,iters:u32)
benches/sort.rs:54
↓ 1 callers
Function
test_sort
(sorter: &GPUSorter, device: &wgpu::Device, queue: &wgpu::Queue)
src/utils.rs:60
Function
apply_sort
applies gpu sort with direct dispatch
tests/sort.rs:94
Function
apply_sort_indirect
applies gpu sort with indirect dispatch
tests/sort.rs:100
Method
bind_group_layout
(device: &wgpu::Device)
src/lib.rs:181
Method
cmp
(&self, other: &Self)
tests/sort.rs:197
Method
create_keyval_buffers
( device: &wgpu::Device, length: u32, )
src/lib.rs:251
Method
general_info_data
(length: u32)
src/lib.rs:325
Function
main
()
benches/sort.rs:87
Function
main
()
examples/sort_indirect.rs:11
Function
main
()
examples/sort.rs:8
Method
new
(device: &wgpu::Device, subgroup_size: u32)
src/lib.rs:72
Method
partial_cmp
(&self, other: &Self)
tests/sort.rs:203
Method
sample
(&self, rng: &mut R)
tests/sort.rs:208
Function
sort_f32_large
()
tests/sort.rs:31
Function
sort_half
()
tests/sort.rs:37
Function
sort_indirect_half
()
tests/sort.rs:62
Function
sort_indirect_large
()
tests/sort.rs:54
Function
sort_indirect_small
()
tests/sort.rs:47
Function
sort_u32_large
()
tests/sort.rs:25
Function
sort_u32_small
()
tests/sort.rs:19
Function
test_sort
(n: u32,sort_fn:&SortFn,sort_first_n:Option<u32>)
tests/sort.rs:123