cudadense

Types

CudaVector[A] = object
  data*: ref [ptr A]
  fp*: ptr A
  len, step*: int32
  Source Edit
CudaMatrix[A] = object
  M*, N*, ld*: int32
  data*: ref [ptr A]
  fp*: ptr A
  shape*: set[MatrixShape]
  Source Edit

Procs

proc isContiguous(v: CudaVector): bool {...}{.inline.}
  Source Edit
proc isContiguous(m: CudaMatrix): bool {...}{.inline.}
  Source Edit
proc newCudaVector[A](n: int): CudaVector[A] {...}{.inline.}
  Source Edit
proc newCudaMatrix[A](m, n: int): CudaMatrix[A] {...}{.inline.}
  Source Edit
proc gpu[A](v: Vector[A]): CudaVector[A]
  Source Edit
proc gpu[A](m: Matrix[A]): CudaMatrix[A]
  Source Edit
proc cpu[A](v: CudaVector[A]): Vector[A]
  Source Edit
proc cpu[A](m: CudaMatrix[A]): Matrix[A]
  Source Edit
proc `$`[A](v: CudaVector[A]): string
  Source Edit
proc `$`[A](m: CudaMatrix[A]): string
  Source Edit
proc `==`[A](m, n: CudaVector[A]): bool
  Source Edit
proc `==`[A](m, n: CudaMatrix[A]): bool
  Source Edit
proc clone[A](v: CudaVector[A]): CudaVector[A]
  Source Edit
proc clone[A](m: CudaMatrix[A]): CudaMatrix[A]
  Source Edit
proc `[]`[A](v: CudaVector[A]; s: Slice[int]): CudaVector[A]
  Source Edit
proc `[]=`[A: SomeFloat](v: var CudaVector[A]; s: Slice[int]; val: CudaVector[A]) {...}{.
    inline.}
  Source Edit
proc `[]`[A](m: CudaMatrix[A]; rows, cols: Slice[int]): CudaMatrix[A]
  Source Edit
proc `[]`[A](m: CudaMatrix[A]; rows: Slice[int]; cols: typedesc[All]): CudaMatrix[A]
  Source Edit
proc `[]`[A](m: CudaMatrix[A]; rows: typedesc[All]; cols: Slice[int]): CudaMatrix[A]
  Source Edit
proc `[]=`[A: SomeFloat](m: var CudaMatrix[A]; rows, cols: Slice[int];
                       val: CudaMatrix[A]) {...}{.inline.}
  Source Edit
proc column[A](m: CudaMatrix[A]; j: int): CudaVector[A] {...}{.inline.}
  Source Edit
proc row[A](m: CudaMatrix[A]; i: int): CudaVector[A] {...}{.inline.}
  Source Edit
proc reshape[A](m: CudaMatrix[A]; a, b: int): CudaMatrix[A]
  Source Edit
proc asMatrix[A](v: CudaVector[A]; a, b: int): CudaMatrix[A]
  Source Edit
proc asVector[A](m: CudaMatrix[A]): CudaVector[A]
  Source Edit
proc `*=`[A: SomeFloat](v: var CudaVector[A]; k: A) {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](v: CudaVector[A]; k: A): CudaVector[A] {...}{.inline.}
  Source Edit
proc `+=`[A: SomeFloat](v: var CudaVector[A]; w: CudaVector[A]) {...}{.inline.}
  Source Edit
proc `+`[A: SomeFloat](v, w: CudaVector[A]): CudaVector[A] {...}{.inline.}
  Source Edit
proc `-=`[A: SomeFloat](v: var CudaVector[A]; w: CudaVector[A]) {...}{.inline.}
  Source Edit
proc `-`[A: SomeFloat](v, w: CudaVector[A]): CudaVector[A] {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](v, w: CudaVector[A]): A {...}{.inline.}
  Source Edit
proc l_2[A: SomeFloat](v: CudaVector[A]): A {...}{.inline.}
  Source Edit
proc l_1[A: SomeFloat](v: CudaVector[A]): A {...}{.inline.}
  Source Edit
proc `*=`[A: SomeFloat](m: var CudaMatrix[A]; k: A) {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](m: CudaMatrix[A]; k: A): CudaMatrix[A] {...}{.inline.}
  Source Edit
proc `+=`[A: SomeFloat](a: var CudaMatrix[A]; b: CudaMatrix[A]) {...}{.inline.}
  Source Edit
proc `+`[A: SomeFloat](a, b: CudaMatrix[A]): CudaMatrix[A] {...}{.inline.}
  Source Edit
proc `-=`[A: SomeFloat](a: var CudaMatrix[A]; b: CudaMatrix[A]) {...}{.inline.}
  Source Edit
proc `-`[A: SomeFloat](a, b: CudaMatrix[A]): CudaMatrix[A] {...}{.inline.}
  Source Edit
proc l_2[A: SomeFloat](m: CudaMatrix[A]): A {...}{.inline.}
  Source Edit
proc l_1[A: SomeFloat](m: CudaMatrix[A]): A {...}{.inline.}
  Source Edit
proc T[A](m: CudaMatrix[A]): CudaMatrix[A]
  Source Edit
proc `*`[A: SomeFloat](a: CudaMatrix[A]; v: CudaVector[A]): CudaVector[A] {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](a, b: CudaMatrix[A]): CudaMatrix[A] {...}{.inline.}
  Source Edit
proc `=~`[A: SomeFloat](v, w: CudaVector[A]): bool
  Source Edit
proc `=~`[A: SomeFloat](v, w: CudaMatrix[A]): bool
  Source Edit

Iterators

iterator columns[A](m: CudaMatrix[A]): auto {...}{.inline.}
  Source Edit
iterator rows[A](m: CudaMatrix[A]): auto {...}{.inline.}
  Source Edit
iterator columnsSlow[A](m: CudaMatrix[A]): auto {...}{.inline.}
  Source Edit
iterator rowsSlow[A](m: CudaMatrix[A]): auto {...}{.inline.}
  Source Edit

Templates

template init[A](v: CudaVector[A]; n: int)
  Source Edit
template init[A](v: CudaMatrix[A]; m, n: int)
  Source Edit
template `*`[A; ](k: A; v: CudaVector[A] or CudaMatrix[A]): auto
  Source Edit
template `/`[A; ](v: CudaVector[A] or CudaMatrix[A]; k: A): auto
  Source Edit
template `/=`[A; ](v: var CudaVector[A] or var CudaMatrix[A]; k: A)
  Source Edit
template `!=~`(a, b: CudaVector or CudaMatrix): bool
  Source Edit