Skip to content

Commit

Permalink
Merge pull request #32 from cupy/merge-v.1.23.0
Browse files Browse the repository at this point in the history
Merge Chainer v.1.23.0
  • Loading branch information
unnonouno committed Apr 24, 2017
2 parents 4efaeba + 9173160 commit 39a9dd5
Show file tree
Hide file tree
Showing 48 changed files with 3,508 additions and 235 deletions.
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ script:
- flake8 --config=.flake8.cython
- autopep8 -r . --global-config .pep8 | tee check_autopep8
- test ! -s check_autopep8
- PYTHONWARNINGS='module::DeprecationWarning' nosetests -a '!gpu' --with-doctest tests/install_tests
- READTHEDOCS=True python setup.py develop
- PYTHONWARNINGS='ignore::FutureWarning,module::DeprecationWarning' nosetests -a '!gpu,!slow' --with-doctest tests/install_tests
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then
READTHEDOCS=True python setup.py develop;
fi

sudo: false
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Requirements for some features:
- filelock
- g++ 4.8.4+
- cuDNN support
- cuDNN v2, v3, v4, v5, v5.1
- cuDNN v2, v3, v4, v5, v5.1, v6
- Testing utilities
- Mock
- Nose
Expand Down
205 changes: 104 additions & 101 deletions cupy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,12 @@


from cupy import binary # NOQA
from cupy.core import fusion # NOQA
from cupy import creation # NOQA
from cupy import indexing # NOQA
from cupy import io # NOQA
from cupy import linalg # NOQA
from cupy import logic # NOQA
from cupy import manipulation # NOQA
from cupy import math # NOQA
from cupy import padding # NOQA
from cupy import random # NOQA
from cupy import sorting # NOQA
Expand All @@ -38,9 +37,6 @@
from cupy import util # NOQA


__version__ = pkg_resources.get_distribution('cupy').version


# import class and function
from cupy.core import ndarray # NOQA

Expand Down Expand Up @@ -135,11 +131,11 @@
from cupy.creation.basic import zeros # NOQA
from cupy.creation.basic import zeros_like # NOQA

from cupy.core.fusion import copy # NOQA
from cupy.creation.from_data import array # NOQA
from cupy.creation.from_data import asanyarray # NOQA
from cupy.creation.from_data import asarray # NOQA
from cupy.creation.from_data import ascontiguousarray # NOQA
from cupy.creation.from_data import copy # NOQA

from cupy.creation.ranges import arange # NOQA
from cupy.creation.ranges import linspace # NOQA
Expand Down Expand Up @@ -197,12 +193,12 @@
# -----------------------------------------------------------------------------
# Binary operations
# -----------------------------------------------------------------------------
from cupy.binary.elementwise import bitwise_and # NOQA
from cupy.binary.elementwise import bitwise_or # NOQA
from cupy.binary.elementwise import bitwise_xor # NOQA
from cupy.binary.elementwise import invert # NOQA
from cupy.binary.elementwise import left_shift # NOQA
from cupy.binary.elementwise import right_shift # NOQA
from cupy.core.fusion import bitwise_and # NOQA
from cupy.core.fusion import bitwise_or # NOQA
from cupy.core.fusion import bitwise_xor # NOQA
from cupy.core.fusion import invert # NOQA
from cupy.core.fusion import left_shift # NOQA
from cupy.core.fusion import right_shift # NOQA

from cupy.binary.packing import packbits # NOQA
from cupy.binary.packing import unpackbits # NOQA
Expand Down Expand Up @@ -249,7 +245,9 @@
# -----------------------------------------------------------------------------
# Indexing routines
# -----------------------------------------------------------------------------
from cupy.indexing.generate import c_ # NOQA
from cupy.indexing.generate import ix_ # NOQA
from cupy.indexing.generate import r_ # NOQA

from cupy.indexing.indexing import choose # NOQA
from cupy.indexing.indexing import diagonal # NOQA
Expand Down Expand Up @@ -284,100 +282,100 @@
# -----------------------------------------------------------------------------
# Logic functions
# -----------------------------------------------------------------------------
from cupy.logic.content import isfinite # NOQA
from cupy.logic.content import isinf # NOQA
from cupy.logic.content import isnan # NOQA
from cupy.core.fusion import isfinite # NOQA
from cupy.core.fusion import isinf # NOQA
from cupy.core.fusion import isnan # NOQA

from numpy import isscalar # NOQA

from cupy.logic.ops import logical_and # NOQA
from cupy.logic.ops import logical_not # NOQA
from cupy.logic.ops import logical_or # NOQA
from cupy.logic.ops import logical_xor # NOQA
from cupy.core.fusion import logical_and # NOQA
from cupy.core.fusion import logical_not # NOQA
from cupy.core.fusion import logical_or # NOQA
from cupy.core.fusion import logical_xor # NOQA

from cupy.logic.comparison import equal # NOQA
from cupy.logic.comparison import greater # NOQA
from cupy.logic.comparison import greater_equal # NOQA
from cupy.logic.comparison import less # NOQA
from cupy.logic.comparison import less_equal # NOQA
from cupy.logic.comparison import not_equal # NOQA
from cupy.core.fusion import equal # NOQA
from cupy.core.fusion import greater # NOQA
from cupy.core.fusion import greater_equal # NOQA
from cupy.core.fusion import less # NOQA
from cupy.core.fusion import less_equal # NOQA
from cupy.core.fusion import not_equal # NOQA

from cupy.logic.truth import all # NOQA
from cupy.logic.truth import any # NOQA
from cupy.core.fusion import all # NOQA
from cupy.core.fusion import any # NOQA

# -----------------------------------------------------------------------------
# Mathematical functions
# -----------------------------------------------------------------------------
from cupy.math.trigonometric import arccos # NOQA
from cupy.math.trigonometric import arcsin # NOQA
from cupy.math.trigonometric import arctan # NOQA
from cupy.math.trigonometric import arctan2 # NOQA
from cupy.math.trigonometric import cos # NOQA
from cupy.math.trigonometric import deg2rad # NOQA
from cupy.math.trigonometric import degrees # NOQA
from cupy.math.trigonometric import hypot # NOQA
from cupy.math.trigonometric import rad2deg # NOQA
from cupy.math.trigonometric import radians # NOQA
from cupy.math.trigonometric import sin # NOQA
from cupy.math.trigonometric import tan # NOQA

from cupy.math.hyperbolic import arccosh # NOQA
from cupy.math.hyperbolic import arcsinh # NOQA
from cupy.math.hyperbolic import arctanh # NOQA
from cupy.math.hyperbolic import cosh # NOQA
from cupy.math.hyperbolic import sinh # NOQA
from cupy.math.hyperbolic import tanh # NOQA

from cupy.math.rounding import ceil # NOQA
from cupy.math.rounding import fix # NOQA
from cupy.math.rounding import floor # NOQA
from cupy.math.rounding import rint # NOQA
from cupy.math.rounding import trunc # NOQA

from cupy.core.fusion import arccos # NOQA
from cupy.core.fusion import arcsin # NOQA
from cupy.core.fusion import arctan # NOQA
from cupy.core.fusion import arctan2 # NOQA
from cupy.core.fusion import cos # NOQA
from cupy.core.fusion import deg2rad # NOQA
from cupy.core.fusion import degrees # NOQA
from cupy.core.fusion import hypot # NOQA
from cupy.core.fusion import rad2deg # NOQA
from cupy.core.fusion import radians # NOQA
from cupy.core.fusion import sin # NOQA
from cupy.core.fusion import tan # NOQA

from cupy.core.fusion import arccosh # NOQA
from cupy.core.fusion import arcsinh # NOQA
from cupy.core.fusion import arctanh # NOQA
from cupy.core.fusion import cosh # NOQA
from cupy.core.fusion import sinh # NOQA
from cupy.core.fusion import tanh # NOQA

from cupy.core.fusion import ceil # NOQA
from cupy.core.fusion import fix # NOQA
from cupy.core.fusion import floor # NOQA
from cupy.core.fusion import rint # NOQA
from cupy.core.fusion import trunc # NOQA

from cupy.core.fusion import prod # NOQA
from cupy.core.fusion import sum # NOQA
from cupy.math.sumprod import cumsum # NOQA
from cupy.math.sumprod import prod # NOQA
from cupy.math.sumprod import sum # NOQA

from cupy.math.explog import exp # NOQA
from cupy.math.explog import exp2 # NOQA
from cupy.math.explog import expm1 # NOQA
from cupy.math.explog import log # NOQA
from cupy.math.explog import log10 # NOQA
from cupy.math.explog import log1p # NOQA
from cupy.math.explog import log2 # NOQA
from cupy.math.explog import logaddexp # NOQA
from cupy.math.explog import logaddexp2 # NOQA

from cupy.math.floating import copysign # NOQA
from cupy.math.floating import frexp # NOQA
from cupy.math.floating import ldexp # NOQA
from cupy.math.floating import nextafter # NOQA
from cupy.math.floating import signbit # NOQA

from cupy.math.arithmetic import add # NOQA
from cupy.math.arithmetic import divide # NOQA
from cupy.math.arithmetic import floor_divide # NOQA
from cupy.math.arithmetic import fmod # NOQA
from cupy.math.arithmetic import modf # NOQA
from cupy.math.arithmetic import multiply # NOQA
from cupy.math.arithmetic import negative # NOQA
from cupy.math.arithmetic import power # NOQA
from cupy.math.arithmetic import reciprocal # NOQA
from cupy.math.arithmetic import remainder # NOQA
from cupy.math.arithmetic import remainder as mod # NOQA
from cupy.math.arithmetic import subtract # NOQA
from cupy.math.arithmetic import true_divide # NOQA

from cupy.math.misc import absolute # NOQA
from cupy.math.misc import absolute as abs # NOQA
from cupy.math.misc import clip # NOQA
from cupy.math.misc import fmax # NOQA
from cupy.math.misc import fmin # NOQA
from cupy.math.misc import maximum # NOQA
from cupy.math.misc import minimum # NOQA
from cupy.math.misc import sign # NOQA
from cupy.math.misc import sqrt # NOQA
from cupy.math.misc import square # NOQA

from cupy.core.fusion import exp # NOQA
from cupy.core.fusion import exp2 # NOQA
from cupy.core.fusion import expm1 # NOQA
from cupy.core.fusion import log # NOQA
from cupy.core.fusion import log10 # NOQA
from cupy.core.fusion import log1p # NOQA
from cupy.core.fusion import log2 # NOQA
from cupy.core.fusion import logaddexp # NOQA
from cupy.core.fusion import logaddexp2 # NOQA

from cupy.core.fusion import copysign # NOQA
from cupy.core.fusion import frexp # NOQA
from cupy.core.fusion import ldexp # NOQA
from cupy.core.fusion import nextafter # NOQA
from cupy.core.fusion import signbit # NOQA

from cupy.core.fusion import add # NOQA
from cupy.core.fusion import divide # NOQA
from cupy.core.fusion import floor_divide # NOQA
from cupy.core.fusion import fmod # NOQA
from cupy.core.fusion import modf # NOQA
from cupy.core.fusion import multiply # NOQA
from cupy.core.fusion import negative # NOQA
from cupy.core.fusion import power # NOQA
from cupy.core.fusion import reciprocal # NOQA
from cupy.core.fusion import remainder # NOQA
from cupy.core.fusion import remainder as mod # NOQA
from cupy.core.fusion import subtract # NOQA
from cupy.core.fusion import true_divide # NOQA

from cupy.core.fusion import abs # NOQA
from cupy.core.fusion import absolute # NOQA
from cupy.core.fusion import clip # NOQA
from cupy.core.fusion import fmax # NOQA
from cupy.core.fusion import fmin # NOQA
from cupy.core.fusion import maximum # NOQA
from cupy.core.fusion import minimum # NOQA
from cupy.core.fusion import sign # NOQA
from cupy.core.fusion import sqrt # NOQA
from cupy.core.fusion import square # NOQA

# -----------------------------------------------------------------------------
# Padding
Expand All @@ -392,17 +390,17 @@
from cupy.sorting.search import flatnonzero # NOQA
from cupy.sorting.search import nonzero # NOQA

from cupy.core.fusion import where # NOQA
from cupy.sorting.search import argmax # NOQA
from cupy.sorting.search import argmin # NOQA
from cupy.sorting.search import where # NOQA

# -----------------------------------------------------------------------------
# Statistics
# -----------------------------------------------------------------------------
from cupy.statistics.order import amax # NOQA
from cupy.statistics.order import amax as max # NOQA
from cupy.statistics.order import amin # NOQA
from cupy.statistics.order import amin as min # NOQA
from cupy.core.fusion import amax # NOQA
from cupy.core.fusion import amax as max # NOQA
from cupy.core.fusion import amin # NOQA
from cupy.core.fusion import amin as min # NOQA
from cupy.statistics.order import nanmax # NOQA
from cupy.statistics.order import nanmin # NOQA

Expand Down Expand Up @@ -475,3 +473,8 @@ def get_array_module(*args):
if isinstance(arg, ndarray):
return _cupy
return numpy


fuse = fusion.fuse

disable_experimental_feature_warning = False
11 changes: 5 additions & 6 deletions cupy/core/carray.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ cdef struct _CArray:
int shape_and_strides[MAX_NDIM * 2]


cdef class CArray(cupy.cuda.function.CPointer):
cdef class CArray(CPointer):

cdef:
_CArray val
Expand All @@ -31,7 +31,7 @@ cdef struct _CIndexer:
int shape_and_index[MAX_NDIM * 2]


cdef class CIndexer(cupy.cuda.function.CPointer):
cdef class CIndexer(CPointer):
cdef:
_CIndexer val

Expand All @@ -49,10 +49,6 @@ cpdef inline CIndexer to_cindexer(Py_ssize_t size, tuple shape):


cdef class Indexer:
cdef:
public Py_ssize_t size
public tuple shape

def __init__(self, tuple shape):
cdef Py_ssize_t size = 1
for s in shape:
Expand All @@ -68,6 +64,9 @@ cdef class Indexer:
def cstruct(self):
return to_cindexer(self.size, self.shape)

cdef CPointer get_pointer(self):
return to_cindexer(self.size, self.shape)


cdef str _header_source = None

Expand Down

0 comments on commit 39a9dd5

Please sign in to comment.