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

Add integer datatypes and add types to tests #2097

Open
wants to merge 1 commit into
base: extended_types_support
Choose a base branch
from

Conversation

AlexanderKalistratov
Copy link
Collaborator

  • Add integer dtypes (int8,int16, uint8-uint64) to dpnp interface
  • Extend tests types matrix by these types
  • Add environment variable DPNP_TEST_ALL_INTEGER_TYPES to enable/disable these types in tests

Failing dpnp tests:

test_arraycreation.py::test_geomspace
test_arraycreation.py::test_linspace
test_arraycreation.py::test_logspace
test_fft.py::TestFft2::test_fft2
test_fft.py::TestRfft2::test_rfft2
test_histogram.py::TestDigitize::test_digitize
test_indexing.py::TestPut::test_input_1d
test_indexing.py::TestPut::test_input_2d
test_indexing.py::TestPutAlongAxis::test_replace_max
test_indexing.py::TestTake::test_1d
test_indexing.py::TestTake::test_2d
test_indexing.py::TestTakeAlongAxis::test_broadcast
test_indexing.py::TestTakeAlongAxis::test_empty
test_indexing.py::TestTakeAlongAxis::test_empty
test_indexing.py::TestTakeAlongAxis::test_multi_dimensions
test_linalg.py::TestCond::test_cond
test_linalg.py::TestEigenvalue::test_eigenvalues
test_linalg.py::TestLstsq::test_lstsq_diff_type
test_linalg.py::TestNorm::test_norm_1D
test_linalg.py::TestNorm::test_norm_2D
test_linalg.py::TestNorm::test_norm_ND
test_linalg.py::TestNorm::test_norm_usm_ndarray
test_linalg.py::TestPinv::test_pinv
test_linalg.py::TestQr::test_qr
test_linalg.py::TestSvd::test_svd
test_manipulation.py::TestUnique::test_2d_axis_signed_inetger
test_manipulation.py::test_copyto_dtype
test_mathematical.py::TestAngle::test_angle
test_mathematical.py::TestCumLogSumExp::test_basic
test_mathematical.py::TestCumProd::test_out_dtype
test_mathematical.py::TestCumSum::test_out_dtype
test_mathematical.py::TestFix::test_basic
test_mathematical.py::TestFix::test_out
test_mathematical.py::TestHypot::test_hypot
test_mathematical.py::TestLogSumExp::test_logsumexp
test_mathematical.py::TestLogSumExp::test_logsumexp_dtype
test_mathematical.py::TestLogSumExp::test_logsumexp_out
test_mathematical.py::TestLogSumExp::test_logsumexp_out_dtype
test_mathematical.py::TestMathematical::test_remainder
test_mathematical.py::TestMatmul::test_matmul_axes_ND_ND
test_mathematical.py::TestMatmul::test_matmul_axes_out
test_mathematical.py::TestMatmul::test_matmul_dtype
test_mathematical.py::TestMatmul::test_matmul_dtype_matrix_inout
test_mathematical.py::TestMatmul::test_matmul_dtype_matrix_inputs
test_mathematical.py::TestMatmul::test_matmul_out1
test_mathematical.py::TestMatmul::test_matmul_out2
test_mathematical.py::TestPower::test_basic
test_mathematical.py::TestProd::test_prod_out_dtype
test_mathematical.py::TestReduceHypot::test_reduce_hypot
test_mathematical.py::TestReduceHypot::test_reduce_hypot_dtype
test_mathematical.py::TestReduceHypot::test_reduce_hypot_out
test_mathematical.py::TestUnwrap::test_discont
test_mathematical.py::TestUnwrap::test_rand_period
test_nanfunctions.py::TestNanProd::test_nanprod_out_dtype
test_product.py::TestDot::test_dot
test_product.py::TestDot::test_dot_ndarray
test_product.py::TestDot::test_dot_out
test_product.py::TestDot::test_dot_out_scalar
test_product.py::TestDot::test_dot_scalar
test_product.py::TestInner::test_inner
test_product.py::TestInner::test_inner_scalar
test_product.py::TestKron::test_kron_scalar
test_product.py::TestMultiDot::test_multi_dot
test_product.py::TestMultiDot::test_multi_dot_all_2d
test_product.py::TestMultiDot::test_multi_dot_out
test_product.py::TestTensordot::test_tensordot
test_product.py::TestTensordot::test_tensordot_axes
test_product.py::TestTensordot::test_tensordot_input_dtype_matrix
test_product.py::TestTensordot::test_tensordot_scalar
test_sort.py::test_partition
test_statistics.py::TestAverage::test_avg
test_statistics.py::TestAverage::test_avg_strided
test_statistics.py::TestStd::test_std_strided
test_statistics.py::TestVar::test_var_strided
test_statistics.py::test_median
test_strides.py::test_cumlogsumexp
test_strides.py::test_logsumexp
test_strides.py::test_reduce_hypot
test_strides.py::test_strides_erf
test_sum.py::test_sum
test_umath.py::TestArctan2::test_arctan2
test_umath.py::TestCbrt::test_cbrt
test_umath.py::TestCopySign::test_copysign
test_umath.py::TestFloatPower::test_negative_base_value_complex_dtype
test_umath.py::TestLogAddExp::test_logaddexp
test_umath.py::TestRsqrt::test_rsqrt
test_umath.py::TestUmath::test_out

@AlexanderKalistratov
Copy link
Collaborator Author

@antonwolfy

Comment on lines +260 to 262
export DPNP_TEST_ALL_TYPES=1
python -m pytest -n auto -q -ra --disable-warnings -vv ${{ env.TEST_SCOPE }}
working-directory: ${{ env.tests-path }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same can be done through env option:

Suggested change
export DPNP_TEST_ALL_TYPES=1
python -m pytest -n auto -q -ra --disable-warnings -vv ${{ env.TEST_SCOPE }}
working-directory: ${{ env.tests-path }}
python -m pytest -n auto -q -ra --disable-warnings -vv ${{ env.TEST_SCOPE }}
working-directory: ${{ env.tests-path }}
env:
DPNP_TEST_ALL_TYPES: 1

"int32",
"int64",
"uint8",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to add uint, uintc, unitp also

Comment on lines +66 to +69
"uint8",
"uint16",
"uint32",
"uint64",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to sort the names based on lexicographical order.

"int32",
"int64",
"uint8",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumPy also provides aliases, like: ubyte, ushort, ulong and similar (full list here: numpy/_core/numerictypes.pyi)

Copy link
Contributor

@antonwolfy antonwolfy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to update the list of supported type in documentation, please check doc/reference/dtypes_table.rst

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants