cumo icon indicating copy to clipboard operation
cumo copied to clipboard

Progress of CUDA kernelize (Feature point of View)

Open sonots opened this issue 7 years ago • 1 comments

Store

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E8%A6%81%E7%B4%A0%E3%81%AE%E6%A0%BC%E7%B4%8D

  • [x] store(another_array)
  • [x] fill(item)
  • [x] seq([begin, step]), indgen
  • [x] logseq(begin, step [,base])
  • [x] eye([element, offset])
  • [ ] rand([[low,] high])

Data Creation

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E3%83%87%E3%83%BC%E3%82%BF%E7%94%9F%E6%88%90

  • [x] Cumo::DFloat[1,2,3,5,7,11]
  • [x] Cumo::DFloat[1..100]
  • [x] Cumo::DFloat.cast(Cumo::Int32[1,2,3,5,7,11])
  • [x] Cumo::DFloat.zeros(120)
  • [x] Cumo::DFloat.ones(2,4,6)
  • [ ] Cumo::DFloat.linspace(-5,5,7)
  • [ ] Cumo::DFloat.logspace(4,0,5,2)

Indexing

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E9%85%8D%E5%88%97%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9

  • [x] a[1,2,3] (synchronizes, though)
  • [x] a[39] (synchronizes, though)

View

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E9%85%8D%E5%88%97%E3%81%AE%E3%83%93%E3%83%A5%E3%83%BC

Reshape

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E9%85%8D%E5%88%97%E6%93%8D%E4%BD%9C

  • [ ] flatten([dim0,dim1,...])
  • [x] transpose([dim0,dim1,...])
  • [ ] expand_dims(dim)
  • [x] diagonal(offset, [ax1,ax2])
  • [x] reshape

Operations

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E9%85%8D%E5%88%97%E6%BC%94%E7%AE%97

  • [x] + (binary)
  • [x] - (binary)
  • [x] * (binary)
  • [x] / (binary)
  • [x] % (binary)
  • [ ] divmod (binary2)
  • [x] ** (pow)
  • [x] -@ (unary_s)
  • [ ] abs (unary2)

All of upcast, broadcast, coerce, inplace operations are supported by numo #framework.

Condition and Bit

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E6%9D%A1%E4%BB%B6%E5%BC%8F%E3%81%A8bit%E5%9E%8B

narray

  • [x] eq (binary)
  • [x] ne (binary)
  • [x] gt (>) (cond_binary)
  • [x] ge (>=) (cond_binary)
  • [x] lt (<) (cond_binary)
  • [x] le (<=) (cond_binary)
  • [ ] neary_eq (cond_unary)
  • [ ] isnan (cond_unary)
  • [ ] isinf (cond_unary)
  • [ ] isfinite (cond_unary)

Bit

  • [ ] and (&)
  • [ ] or (|)
  • [ ] xor (^)
  • [ ] not (~)
  • [ ] count_true
  • [ ] count_false
  • [ ] all?
  • [ ] any?
  • [ ] none?
  • [ ] where

Statistics

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#%E7%B5%B1%E8%A8%88%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89

  • [x] sum
  • [x] prod
  • [x] mean
  • [x] stddev
  • [x] var
  • [x] rms
  • [x] min
  • [x] min_index
  • [x] max
  • [x] max_index
  • [ ] minmax
  • [ ] cumsum
  • [ ] cumprod
  • [ ] sort
  • [ ] sort_index
  • [ ] median

Math

https://github.com/ruby-numo/narray/wiki/Numo::NArray%E6%A6%82%E8%A6%81#nmath

unary functions

  • [x] reciprocal
  • [x] sign
  • [x] square
  • [x] floor (float)
  • [x] round (float)
  • [x] ceil (float)
  • [x] trunc (float)
  • [x] rint (float)
  • [x] conj (complex)
  • [x] im (complex)
  • [x] sqrt
  • [x] pow
  • [x] exp
  • [x] log
  • [x] 三角関数

sonots avatar Feb 25 '18 18:02 sonots

For red-chainer mnist:

  • [ ] Warning: Method "rand" for dtype "dfloat" is running under CPU.
  • [x] Warning: Method "dfloat" for dtype "DFloat" is running under CPU.
  • [x] Warning: Method "array" for dtype "int32" is running under CPU.
  • [x] Warning: Method "uint8" for dtype "UInt8" is running under CPU.
  • [x] Warning: Method "uint8" for dtype "UInt8" is running under CPU.
  • [x] Warning: Method "array" for dtype "int64" is running under CPU.
  • [x] Warning: Method "array" for dtype "dfloat" is running under CPU.
  • [ ] Warning: Method "rand_norm" for dtype "dfloat" is running under CPU.
  • [x] Warning: Method "le" for dtype "dfloat" is running under CPU.
  • [x] Warning: Method "int64" for dtype "Int64" is running under CPU.
  • [x] Warning: Method "int32" for dtype "Int32" is running under CPU.
  • [x] Warning: Method "lt" for dtype "int32" is running under CPU.
  • [x] Warning: Method "seq" for dtype "int32" is running under CPU.
  • [x] Warning: Method "int32" for dtype "Int32" is running under CPU.
  • [x] Warning: Method "eq" for dtype "dfloat" is running under CPU.
  • [x] Warning: Method "ne" for dtype "int32" is running under CPU.
  • [x] Warning: Method "max_index" for dtype "dfloat" is running under CPU.
  • [x] Warning: Method "int32" for dtype "Int32" is running under CPU.
  • [ ] Warning: Method "bit" for dtype "Bit" is running under CPU.
  • [x] Warning: Method "gt" for dtype "dfloat" is running under CPU.

sonots avatar Feb 25 '18 18:02 sonots