CUDALink`
CUDALink`

CUDASort

CUDASort[vec]

sorts the input vector.

CUDASort[mem]

sorts CUDAMemory in place.

CUDASort[vec,op]

sorts input with respect to the ordering function op.

Details

  • The CUDALink application must be loaded using Needs["CUDALink`"].
  • CUDASort works on general vector types such as "Float", "Double", .
  • CUDASort does not work on symbolic input.
  • CUDASort is equivalent to Sort.
  • The value for op can be either Less or Greater.

Examples

open allclose all

Basic Examples  (4)

First, load the CUDALink application:

This sorts an input list:

This sorts using the Greater ordering function:

If input is CUDAMemory, then memory is returned as output:

This sorts the input CUDAMemory:

Note that the input and output memories are the samethat is, CUDASort sorts memory in place. Memory is retrieved using CUDAMemoryGet:

CUDASort works on vector types by sorting the data lexicographically. This generates random integer tuples:

This loads the memory as "Integer2":

This sorts the memory in place:

This gets the memory into the Wolfram Language:

The result agrees with the Wolfram Language:

Possible Issues  (1)

CUDASort only works on vectors: