Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

impl_usage_dpctl_bitwise_op #1508

Merged
merged 2 commits into from
Aug 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 65 additions & 77 deletions dpnp/backend/include/dpnp_iface_fptr.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,57 +65,51 @@ enum class DPNPFuncName : size_t
DPNP_FN_ADD, /**< Used in numpy.add() impl */
DPNP_FN_ADD_EXT, /**< Used in numpy.add() impl, requires extra parameters */
DPNP_FN_ALL, /**< Used in numpy.all() impl */
DPNP_FN_ALLCLOSE, /**< Used in numpy.allclose() impl */
DPNP_FN_ALLCLOSE_EXT, /**< Used in numpy.allclose() impl, requires extra
parameters */
DPNP_FN_ANY, /**< Used in numpy.any() impl */
DPNP_FN_ARANGE, /**< Used in numpy.arange() impl */
DPNP_FN_ARCCOS, /**< Used in numpy.arccos() impl */
DPNP_FN_ARCCOS_EXT, /**< Used in numpy.arccos() impl, requires extra
parameters */
DPNP_FN_ARCCOSH, /**< Used in numpy.arccosh() impl */
DPNP_FN_ARCCOSH_EXT, /**< Used in numpy.arccosh() impl, requires extra
parameters */
DPNP_FN_ARCSIN, /**< Used in numpy.arcsin() impl */
DPNP_FN_ARCSIN_EXT, /**< Used in numpy.arcsin() impl, requires extra
parameters */
DPNP_FN_ARCSINH, /**< Used in numpy.arcsinh() impl */
DPNP_FN_ARCSINH_EXT, /**< Used in numpy.arcsinh() impl, requires extra
parameters */
DPNP_FN_ARCTAN, /**< Used in numpy.arctan() impl */
DPNP_FN_ARCTAN_EXT, /**< Used in numpy.arctan() impl, requires extra
parameters */
DPNP_FN_ARCTAN2, /**< Used in numpy.arctan2() impl */
DPNP_FN_ARCTAN2_EXT, /**< Used in numpy.arctan2() impl, requires extra
parameters */
DPNP_FN_ARCTANH, /**< Used in numpy.arctanh() impl */
DPNP_FN_ARCTANH_EXT, /**< Used in numpy.arctanh() impl, requires extra
parameters */
DPNP_FN_ARGMAX, /**< Used in numpy.argmax() impl */
DPNP_FN_ARGMAX_EXT, /**< Used in numpy.argmax() impl, requires extra
parameters */
DPNP_FN_ARGMIN, /**< Used in numpy.argmin() impl */
DPNP_FN_ARGMIN_EXT, /**< Used in numpy.argmin() impl, requires extra
parameters */
DPNP_FN_ARGSORT, /**< Used in numpy.argsort() impl */
DPNP_FN_ARGSORT_EXT, /**< Used in numpy.argsort() impl, requires extra
parameters */
DPNP_FN_AROUND, /**< Used in numpy.around() impl */
DPNP_FN_AROUND_EXT, /**< Used in numpy.around() impl, requires extra
parameters */
DPNP_FN_ASTYPE, /**< Used in numpy.astype() impl */
DPNP_FN_ASTYPE_EXT, /**< Used in numpy.astype() impl, requires extra
parameters */
DPNP_FN_BITWISE_AND, /**< Used in numpy.bitwise_and() impl */
DPNP_FN_BITWISE_AND_EXT, /**< Used in numpy.bitwise_and() impl, requires
extra parameters */
DPNP_FN_BITWISE_OR, /**< Used in numpy.bitwise_or() impl */
DPNP_FN_BITWISE_OR_EXT, /**< Used in numpy.bitwise_or() impl, requires extra
parameters */
DPNP_FN_BITWISE_XOR, /**< Used in numpy.bitwise_xor() impl */
DPNP_FN_BITWISE_XOR_EXT, /**< Used in numpy.bitwise_xor() impl, requires
extra parameters */
DPNP_FN_CBRT, /**< Used in numpy.cbrt() impl */
DPNP_FN_ALLCLOSE, /**< Used in numpy.allclose() impl */
DPNP_FN_ALLCLOSE_EXT, /**< Used in numpy.allclose() impl, requires extra
parameters */
DPNP_FN_ANY, /**< Used in numpy.any() impl */
DPNP_FN_ARANGE, /**< Used in numpy.arange() impl */
DPNP_FN_ARCCOS, /**< Used in numpy.arccos() impl */
DPNP_FN_ARCCOS_EXT, /**< Used in numpy.arccos() impl, requires extra
parameters */
DPNP_FN_ARCCOSH, /**< Used in numpy.arccosh() impl */
DPNP_FN_ARCCOSH_EXT, /**< Used in numpy.arccosh() impl, requires extra
parameters */
DPNP_FN_ARCSIN, /**< Used in numpy.arcsin() impl */
DPNP_FN_ARCSIN_EXT, /**< Used in numpy.arcsin() impl, requires extra
parameters */
DPNP_FN_ARCSINH, /**< Used in numpy.arcsinh() impl */
DPNP_FN_ARCSINH_EXT, /**< Used in numpy.arcsinh() impl, requires extra
parameters */
DPNP_FN_ARCTAN, /**< Used in numpy.arctan() impl */
DPNP_FN_ARCTAN_EXT, /**< Used in numpy.arctan() impl, requires extra
parameters */
DPNP_FN_ARCTAN2, /**< Used in numpy.arctan2() impl */
DPNP_FN_ARCTAN2_EXT, /**< Used in numpy.arctan2() impl, requires extra
parameters */
DPNP_FN_ARCTANH, /**< Used in numpy.arctanh() impl */
DPNP_FN_ARCTANH_EXT, /**< Used in numpy.arctanh() impl, requires extra
parameters */
DPNP_FN_ARGMAX, /**< Used in numpy.argmax() impl */
DPNP_FN_ARGMAX_EXT, /**< Used in numpy.argmax() impl, requires extra
parameters */
DPNP_FN_ARGMIN, /**< Used in numpy.argmin() impl */
DPNP_FN_ARGMIN_EXT, /**< Used in numpy.argmin() impl, requires extra
parameters */
DPNP_FN_ARGSORT, /**< Used in numpy.argsort() impl */
DPNP_FN_ARGSORT_EXT, /**< Used in numpy.argsort() impl, requires extra
parameters */
DPNP_FN_AROUND, /**< Used in numpy.around() impl */
DPNP_FN_AROUND_EXT, /**< Used in numpy.around() impl, requires extra
parameters */
DPNP_FN_ASTYPE, /**< Used in numpy.astype() impl */
DPNP_FN_ASTYPE_EXT, /**< Used in numpy.astype() impl, requires extra
parameters */
DPNP_FN_BITWISE_AND, /**< Used in numpy.bitwise_and() impl */
DPNP_FN_BITWISE_OR, /**< Used in numpy.bitwise_or() impl */
DPNP_FN_BITWISE_XOR, /**< Used in numpy.bitwise_xor() impl */
DPNP_FN_CBRT, /**< Used in numpy.cbrt() impl */
DPNP_FN_CBRT_EXT, /**< Used in numpy.cbrt() impl, requires extra parameters
*/
DPNP_FN_CEIL, /**< Used in numpy.ceil() impl */
Expand Down Expand Up @@ -246,14 +240,10 @@ enum class DPNPFuncName : size_t
DPNP_FN_INV_EXT, /**< Used in numpy.linalg.inv() impl, requires extra
parameters */
DPNP_FN_INVERT, /**< Used in numpy.invert() impl */
DPNP_FN_INVERT_EXT, /**< Used in numpy.invert() impl, requires extra
parameters */
DPNP_FN_KRON, /**< Used in numpy.kron() impl */
DPNP_FN_KRON_EXT, /**< Used in numpy.kron() impl, requires extra parameters
*/
DPNP_FN_LEFT_SHIFT, /**< Used in numpy.left_shift() impl */
DPNP_FN_LEFT_SHIFT_EXT, /**< Used in numpy.left_shift() impl, requires extra
parameters */
DPNP_FN_LEFT_SHIFT, /**< Used in numpy.left_shift() impl */
DPNP_FN_LESS_EXT, /**< Used in numpy.less() impl, requires extra parameters
*/
DPNP_FN_LESS_EQUAL_EXT, /**< Used in numpy.less_equal() impl, requires extra
Expand Down Expand Up @@ -323,27 +313,25 @@ enum class DPNPFuncName : size_t
DPNP_FN_PUT_ALONG_AXIS_EXT, /**< Used in numpy.put_along_axis() impl,
requires extra parameters */
DPNP_FN_QR, /**< Used in numpy.linalg.qr() impl */
DPNP_FN_QR_EXT, /**< Used in numpy.linalg.qr() impl, requires extra
parameters */
DPNP_FN_RADIANS, /**< Used in numpy.radians() impl */
DPNP_FN_RADIANS_EXT, /**< Used in numpy.radians() impl, requires extra
parameters */
DPNP_FN_REMAINDER, /**< Used in numpy.remainder() impl */
DPNP_FN_REMAINDER_EXT, /**< Used in numpy.remainder() impl, requires extra
parameters */
DPNP_FN_RECIP, /**< Used in numpy.recip() impl */
DPNP_FN_RECIP_EXT, /**< Used in numpy.recip() impl, requires extra
parameters */
DPNP_FN_REPEAT, /**< Used in numpy.repeat() impl */
DPNP_FN_REPEAT_EXT, /**< Used in numpy.repeat() impl, requires extra
parameters */
DPNP_FN_RIGHT_SHIFT, /**< Used in numpy.right_shift() impl */
DPNP_FN_RIGHT_SHIFT_EXT, /**< Used in numpy.right_shift() impl, requires
extra parameters */
DPNP_FN_RNG_BETA, /**< Used in numpy.random.beta() impl */
DPNP_FN_RNG_BETA_EXT, /**< Used in numpy.random.beta() impl, requires extra
parameters */
DPNP_FN_RNG_BINOMIAL, /**< Used in numpy.random.binomial() impl */
DPNP_FN_QR_EXT, /**< Used in numpy.linalg.qr() impl, requires extra
parameters */
DPNP_FN_RADIANS, /**< Used in numpy.radians() impl */
DPNP_FN_RADIANS_EXT, /**< Used in numpy.radians() impl, requires extra
parameters */
DPNP_FN_REMAINDER, /**< Used in numpy.remainder() impl */
DPNP_FN_REMAINDER_EXT, /**< Used in numpy.remainder() impl, requires extra
parameters */
DPNP_FN_RECIP, /**< Used in numpy.recip() impl */
DPNP_FN_RECIP_EXT, /**< Used in numpy.recip() impl, requires extra
parameters */
DPNP_FN_REPEAT, /**< Used in numpy.repeat() impl */
DPNP_FN_REPEAT_EXT, /**< Used in numpy.repeat() impl, requires extra
parameters */
DPNP_FN_RIGHT_SHIFT, /**< Used in numpy.right_shift() impl */
DPNP_FN_RNG_BETA, /**< Used in numpy.random.beta() impl */
DPNP_FN_RNG_BETA_EXT, /**< Used in numpy.random.beta() impl, requires extra
parameters */
DPNP_FN_RNG_BINOMIAL, /**< Used in numpy.random.binomial() impl */
DPNP_FN_RNG_BINOMIAL_EXT, /**< Used in numpy.random.binomial() impl,
requires extra parameters */
DPNP_FN_RNG_CHISQUARE, /**< Used in numpy.random.chisquare() impl */
Expand Down
57 changes: 1 addition & 56 deletions dpnp/backend/kernels/dpnp_krnl_bitwise.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,14 +127,6 @@ void (*dpnp_invert_default_c)(void *,
void *,
size_t) = dpnp_invert_c<_DataType>;

template <typename _DataType>
DPCTLSyclEventRef (*dpnp_invert_ext_c)(DPCTLSyclQueueRef,
void *,
void *,
size_t,
const DPCTLEventVectorRef) =
dpnp_invert_c<_DataType>;

static void func_map_init_bitwise_1arg_1type(func_map_t &fmap)
{
fmap[DPNPFuncName::DPNP_FN_INVERT][eft_BLN][eft_BLN] = {
Expand All @@ -144,13 +136,6 @@ static void func_map_init_bitwise_1arg_1type(func_map_t &fmap)
fmap[DPNPFuncName::DPNP_FN_INVERT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_invert_default_c<int64_t>};

fmap[DPNPFuncName::DPNP_FN_INVERT_EXT][eft_BLN][eft_BLN] = {
eft_BLN, (void *)dpnp_invert_ext_c<bool>};
fmap[DPNPFuncName::DPNP_FN_INVERT_EXT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_invert_ext_c<int32_t>};
fmap[DPNPFuncName::DPNP_FN_INVERT_EXT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_invert_ext_c<int64_t>};

return;
}

Expand Down Expand Up @@ -399,16 +384,7 @@ static void func_map_init_bitwise_1arg_1type(func_map_t &fmap)
const shape_elem_type *, const void *, const size_t, const size_t, \
const shape_elem_type *, const shape_elem_type *, const void *, \
const size_t, const size_t, const shape_elem_type *, \
const shape_elem_type *, const size_t *) = __name__<_DataType>; \
\
template <typename _DataType> \
DPCTLSyclEventRef (*__name__##_ext)( \
DPCTLSyclQueueRef, void *, const size_t, const size_t, \
const shape_elem_type *, const shape_elem_type *, const void *, \
const size_t, const size_t, const shape_elem_type *, \
const shape_elem_type *, const void *, const size_t, const size_t, \
const shape_elem_type *, const shape_elem_type *, const size_t *, \
const DPCTLEventVectorRef) = __name__<_DataType>;
const shape_elem_type *, const size_t *) = __name__<_DataType>;

#include <dpnp_gen_2arg_1type_tbl.hpp>

Expand All @@ -419,57 +395,26 @@ static void func_map_init_bitwise_2arg_1type(func_map_t &fmap)
fmap[DPNPFuncName::DPNP_FN_BITWISE_AND][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_bitwise_and_c_default<int64_t>};

fmap[DPNPFuncName::DPNP_FN_BITWISE_AND_EXT][eft_BLN][eft_BLN] = {
eft_BLN, (void *)dpnp_bitwise_and_c_ext<bool>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_AND_EXT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_bitwise_and_c_ext<int32_t>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_AND_EXT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_bitwise_and_c_ext<int64_t>};

fmap[DPNPFuncName::DPNP_FN_BITWISE_OR][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_bitwise_or_c_default<int32_t>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_OR][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_bitwise_or_c_default<int64_t>};

fmap[DPNPFuncName::DPNP_FN_BITWISE_OR_EXT][eft_BLN][eft_BLN] = {
eft_BLN, (void *)dpnp_bitwise_or_c_ext<bool>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_OR_EXT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_bitwise_or_c_ext<int32_t>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_OR_EXT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_bitwise_or_c_ext<int64_t>};

fmap[DPNPFuncName::DPNP_FN_BITWISE_XOR][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_bitwise_xor_c_default<int32_t>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_XOR][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_bitwise_xor_c_default<int64_t>};

fmap[DPNPFuncName::DPNP_FN_BITWISE_XOR_EXT][eft_BLN][eft_BLN] = {
eft_BLN, (void *)dpnp_bitwise_xor_c_ext<bool>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_XOR_EXT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_bitwise_xor_c_ext<int32_t>};
fmap[DPNPFuncName::DPNP_FN_BITWISE_XOR_EXT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_bitwise_xor_c_ext<int64_t>};

fmap[DPNPFuncName::DPNP_FN_LEFT_SHIFT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_left_shift_c_default<int32_t>};
fmap[DPNPFuncName::DPNP_FN_LEFT_SHIFT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_left_shift_c_default<int64_t>};

fmap[DPNPFuncName::DPNP_FN_LEFT_SHIFT_EXT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_left_shift_c_ext<int32_t>};
fmap[DPNPFuncName::DPNP_FN_LEFT_SHIFT_EXT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_left_shift_c_ext<int64_t>};

fmap[DPNPFuncName::DPNP_FN_RIGHT_SHIFT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_right_shift_c_default<int32_t>};
fmap[DPNPFuncName::DPNP_FN_RIGHT_SHIFT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_right_shift_c_default<int64_t>};

fmap[DPNPFuncName::DPNP_FN_RIGHT_SHIFT_EXT][eft_INT][eft_INT] = {
eft_INT, (void *)dpnp_right_shift_c_ext<int32_t>};
fmap[DPNPFuncName::DPNP_FN_RIGHT_SHIFT_EXT][eft_LNG][eft_LNG] = {
eft_LNG, (void *)dpnp_right_shift_c_ext<int64_t>};

return;
}

Expand Down
1 change: 0 additions & 1 deletion dpnp/dpnp_algo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ set(dpnp_algo_pyx_deps
${CMAKE_CURRENT_SOURCE_DIR}/dpnp_algo_searching.pxi
${CMAKE_CURRENT_SOURCE_DIR}/dpnp_algo_indexing.pxi
${CMAKE_CURRENT_SOURCE_DIR}/dpnp_algo_logic.pxi
${CMAKE_CURRENT_SOURCE_DIR}/dpnp_algo_bitwise.pxi
${CMAKE_CURRENT_SOURCE_DIR}/dpnp_algo_special.pxi
)

Expand Down
43 changes: 0 additions & 43 deletions dpnp/dpnp_algo/dpnp_algo.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,6 @@ cdef extern from "dpnp_iface_fptr.hpp" namespace "DPNPFuncName": # need this na
DPNP_FN_AROUND_EXT
DPNP_FN_ASTYPE
DPNP_FN_ASTYPE_EXT
DPNP_FN_BITWISE_AND
DPNP_FN_BITWISE_AND_EXT
DPNP_FN_BITWISE_OR
DPNP_FN_BITWISE_OR_EXT
DPNP_FN_BITWISE_XOR
DPNP_FN_BITWISE_XOR_EXT
DPNP_FN_CBRT
DPNP_FN_CBRT_EXT
DPNP_FN_CEIL
Expand Down Expand Up @@ -148,12 +142,8 @@ cdef extern from "dpnp_iface_fptr.hpp" namespace "DPNPFuncName": # need this na
DPNP_FN_INITVAL_EXT
DPNP_FN_INV
DPNP_FN_INV_EXT
DPNP_FN_INVERT
DPNP_FN_INVERT_EXT
DPNP_FN_KRON
DPNP_FN_KRON_EXT
DPNP_FN_LEFT_SHIFT
DPNP_FN_LEFT_SHIFT_EXT
DPNP_FN_LOG10
DPNP_FN_LOG10_EXT
DPNP_FN_LOG1P
Expand Down Expand Up @@ -204,8 +194,6 @@ cdef extern from "dpnp_iface_fptr.hpp" namespace "DPNPFuncName": # need this na
DPNP_FN_RECIP_EXT
DPNP_FN_REPEAT
DPNP_FN_REPEAT_EXT
DPNP_FN_RIGHT_SHIFT
DPNP_FN_RIGHT_SHIFT_EXT
DPNP_FN_RNG_BETA
DPNP_FN_RNG_BETA_EXT
DPNP_FN_RNG_BINOMIAL
Expand Down Expand Up @@ -421,37 +409,6 @@ cdef DPNPFuncType dpnp_dtype_to_DPNPFuncType(dtype)
cdef dpnp_DPNPFuncType_to_dtype(size_t type)


"""
Bitwise functions
"""
cpdef dpnp_descriptor dpnp_bitwise_and(dpnp_descriptor x1_obj,
dpnp_descriptor x2_obj,
object dtype=*,
dpnp_descriptor out=*,
object where=*)
cpdef dpnp_descriptor dpnp_bitwise_or(dpnp_descriptor x1_obj,
dpnp_descriptor x2_obj,
object dtype=*,
dpnp_descriptor out=*,
object where=*)
cpdef dpnp_descriptor dpnp_bitwise_xor(dpnp_descriptor x1_obj,
dpnp_descriptor x2_obj,
object dtype=*,
dpnp_descriptor out=*,
object where=*)
cpdef dpnp_descriptor dpnp_invert(dpnp_descriptor x1)
cpdef dpnp_descriptor dpnp_left_shift(dpnp_descriptor x1_obj,
dpnp_descriptor x2_obj,
object dtype=*,
dpnp_descriptor out=*,
object where=*)
cpdef dpnp_descriptor dpnp_right_shift(dpnp_descriptor x1_obj,
dpnp_descriptor x2_obj,
object dtype=*,
dpnp_descriptor out=*,
object where=*)


"""
Logic functions
"""
Expand Down
1 change: 0 additions & 1 deletion dpnp/dpnp_algo/dpnp_algo.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ __all__ = [


include "dpnp_algo_arraycreation.pxi"
include "dpnp_algo_bitwise.pxi"
include "dpnp_algo_counting.pxi"
include "dpnp_algo_indexing.pxi"
include "dpnp_algo_linearalgebra.pxi"
Expand Down
Loading
Loading