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

Support NumPy 1.24 #7243

Closed
8 tasks done
kmaehashi opened this issue Dec 19, 2022 · 5 comments
Closed
8 tasks done

Support NumPy 1.24 #7243

kmaehashi opened this issue Dec 19, 2022 · 5 comments
Assignees
Labels
cat:enhancement Improvements to existing features prio:high
Milestone

Comments

@kmaehashi
Copy link
Member

kmaehashi commented Dec 19, 2022

Tasks

@kmaehashi
Copy link
Member Author

kmaehashi commented Dec 20, 2022

The following tests need to be updated.

https://ci.preferred.jp/cupy.linux.cuda-head/118940/ (full log):

FAILED cupy_tests/binary_tests/test_elementwise.py::TestElementwise::test_bitwise_and
FAILED cupy_tests/binary_tests/test_elementwise.py::TestElementwise::test_bitwise_or
FAILED cupy_tests/binary_tests/test_elementwise.py::TestElementwise::test_bitwise_xor
FAILED cupy_tests/binary_tests/test_elementwise.py::TestElementwise::test_invert
FAILED cupy_tests/binary_tests/test_elementwise.py::TestElementwise::test_left_shift
FAILED cupy_tests/binary_tests/test_elementwise.py::TestElementwise::test_right_shift
FAILED cupy_tests/core_tests/test_core.py::TestMinScalarType::test_numpy_scalar
FAILED cupy_tests/core_tests/test_core.py::TestMinScalarType::test_cupy_scalar
FAILED cupy_tests/core_tests/test_core.py::TestMinScalarType::test_numpy_ndarray
FAILED cupy_tests/core_tests/test_core.py::TestMinScalarType::test_cupy_ndarray

-> #7245

FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayAdvancedIndexingGetitemParametrizedIndexError::test_adv_getitem[_param_0_{indexes=[[1, 1], 1], shape=(2, 3, 4)}]
FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayAdvancedIndexingGetitemParametrizedIndexError::test_adv_getitem[_param_1_{indexes=[[1], slice(1, 2, None)], shape=(2, 3, 4)}]
FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayAdvancedIndexingGetitemParametrizedIndexError::test_adv_getitem[_param_2_{indexes=[[[1]], slice(1, 2, None)], shape=(2, 3, 4)}]
FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayInvalidValueAdvGetitem::test_invalid_adv_getitem[_param_0_{indexes=[1, [1, [1]]], shape=(2, 3, 4)}]
FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayAdvancedIndexingSetitemScalarValueIndexError2::test_adv_setitem[_param_0_{indexes=[[1, 0], 2], shape=(2, 3, 4), value=1}]
FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayAdvancedIndexingSetitemScalarValueIndexError2::test_adv_setitem[_param_1_{indexes=[[1], slice(1, 2, None)], shape=(2, 3, 4), value=1}]
FAILED cupy_tests/core_tests/test_ndarray_adv_indexing.py::TestArrayAdvancedIndexingSetitemScalarValueIndexError2::test_adv_setitem[_param_2_{indexes=[[[1]], slice(1, 2, None)], shape=(2, 3, 4), value=1}]

-> #7286

FAILED cupy_tests/core_tests/test_ndarray_complex_ops.py::TestAngle::test_angle

-> Might be a NumPy issue: np.arctan2(1, np.array([1], dtype=np.float16)) returns float32 in NumPy 1.24 (float16 in NumPy 1.23). Maybe related to numpy/numpy#22240 ?

FAILED cupy_tests/core_tests/test_ndarray_copy_and_view.py::TestArrayFill::test_fill_with_numpy_scalar_ndarray
FAILED cupy_tests/core_tests/test_ndarray_copy_and_view.py::TestArrayFill::test_fill_with_cupy_scalar_ndarray

-> Needs fix in CuPy. From the Release Notes: array.fill(scalar) may behave slightly different (numpy/numpy#20924)

FAILED cupy_tests/core_tests/test_ndarray_math.py::TestRoundHalfway_param_0_{decimals=-3}::test_round_halfway_int
FAILED cupy_tests/core_tests/test_ndarray_math.py::TestRoundHalfway_param_0_{decimals=-3}::test_round_halfway_uint

-> out-of-bound Python integers

FAILED cupy_tests/core_tests/test_ndarray_ufunc.py::TestArrayUfunc::test_unary_op
FAILED cupy_tests/core_tests/test_ndarray_ufunc.py::TestArrayUfunc::test_unary_op_out
FAILED cupy_tests/core_tests/test_ndarray_ufunc.py::TestUfunc::test_types[sin]

-> types of np.sin seems to have changed

FAILED cupy_tests/core_tests/test_ndarray_unary_op.py::TestArrayUnaryOp::test_abs_zerodim
FAILED cupy_tests/core_tests/test_ndarray_unary_op.py::TestArrayUnaryOp::test_abs_zerodim_full
FAILED cupy_tests/core_tests/test_ndarray_unary_op.py::TestArrayUnaryOp::test_neg_zerodim
FAILED cupy_tests/core_tests/test_ndarray_unary_op.py::TestArrayUnaryOp::test_pos_zerodim
FAILED cupy_tests/core_tests/test_ndarray_unary_op.py::TestArrayIntUnaryOp::test_invert_zerodim
FAILED cupy_tests/creation_tests/test_ranges.py::TestRanges::test_arange4 - A...
FAILED cupy_tests/creation_tests/test_ranges.py::TestRanges::test_arange8 - A...
FAILED cupy_tests/creation_tests/test_ranges.py::TestRanges::test_arange9 - T...
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_ndarray_condlist_funclist
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_ndim_input
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_otherwise_condition2
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_scalar_condition
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_scalar_input
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_zero_dim_condlist
FAILED cupy_tests/functional_tests/test_piecewise.py::TestPiecewise::test_piecewise_zero_dim_input
FAILED cupy_tests/functional_tests/test_vectorize.py::TestVectorizeOps::test_vectorize_bit_invert
FAILED cupy_tests/functional_tests/test_vectorize.py::TestVectorizeOps::test_vectorize_lshift
FAILED cupy_tests/functional_tests/test_vectorize.py::TestVectorizeOps::test_vectorize_pow
FAILED cupy_tests/functional_tests/test_vectorize.py::TestVectorizeOps::test_vectorize_sub
FAILED cupy_tests/functional_tests/test_vectorize.py::TestVectorizeOps::test_vectorize_usub
FAILED cupy_tests/functional_tests/test_vectorize.py::TestVectorize::test_vectorize_arithmetic_ops

-> out-of-bound Python integers

FAILED cupy_tests/indexing_tests/test_generate.py::TestIndices::test_indices_list3

-> TypeError: arange() is only supported for booleans when the result has at most length 2.

FAILED cupy_tests/indexing_tests/test_indexing.py::TestChoose::test_choose_broadcast

-> out-of-bound Python integers


The followings are still under investigation.

FAILED cupy_tests/indexing_tests/test_indexing.py::TestChoose::test_choose_broadcast
FAILED cupy_tests/logic_tests/test_comparison.py::TestAllclose::test_allclose_finite
FAILED cupy_tests/logic_tests/test_comparison.py::TestAllclose::test_allclose_min_int
FAILED cupy_tests/logic_tests/test_comparison.py::TestIsclose::test_is_close_finite
FAILED cupy_tests/logic_tests/test_comparison.py::TestIsclose::test_is_close_min_int
FAILED cupy_tests/manipulation_tests/test_add_remove.py::TestTrim_zeros_param_0_{trim='fb'}::test_trim_non_zeros
FAILED cupy_tests/manipulation_tests/test_add_remove.py::TestTrim_zeros_param_1_{trim='f'}::test_trim_non_zeros
FAILED cupy_tests/manipulation_tests/test_add_remove.py::TestTrim_zeros_param_2_{trim='b'}::test_trim_non_zeros
FAILED cupy_tests/math_tests/test_arithmetic.py::TestArithmeticUnary::test_unary[_param_90_{arg1=array([[1., 2., 3.],\n       [4., 5., 6.]], dtype=float16), deg=True, name='angle'}]
FAILED cupy_tests/math_tests/test_arithmetic.py::TestArithmeticUnary::test_unary[_param_91_{arg1=array([[1., 2., 3.],\n       [4., 5., 6.]], dtype=float16), deg=False, name='angle'}]
FAILED cupy_tests/math_tests/test_arithmetic.py::TestArithmeticUnary::test_unary[_param_96_{arg1=array([[1, 2, 3],\n       [4, 5, 6]], dtype=int8), deg=True, name='angle'}]
FAILED cupy_tests/math_tests/test_arithmetic.py::TestArithmeticUnary::test_unary[_param_97_{arg1=array([[1, 2, 3],\n       [4, 5, 6]], dtype=int8), deg=False, name='angle'}]
FAILED cupy_tests/math_tests/test_arithmetic.py::TestArithmeticUnary::test_unary[_param_104_{arg1=array([[1, 2, 3],\n       [4, 5, 6]], dtype=uint8), deg=True, name='angle'}]
FAILED cupy_tests/math_tests/test_arithmetic.py::TestArithmeticUnary::test_unary[_param_105_{arg1=array([[1, 2, 3],\n       [4, 5, 6]], dtype=uint8), deg=False, name='angle'}]
FAILED cupy_tests/math_tests/test_misc.py::TestMisc::test_interp - AssertionE...
FAILED cupy_tests/math_tests/test_misc.py::TestMisc::test_interp_period - Ass...
FAILED cupy_tests/math_tests/test_misc.py::TestMisc::test_interp_left_right
FAILED cupy_tests/math_tests/test_sumprod.py::TestEdiff1d::test_ediff1d_ed1
FAILED cupy_tests/math_tests/test_trigonometric.py::TestTrigonometric::test_arctan2
FAILED cupy_tests/math_tests/test_trigonometric.py::TestTrigonometric::test_cos
FAILED cupy_tests/math_tests/test_trigonometric.py::TestTrigonometric::test_sin
FAILED cupy_tests/polynomial_tests/test_polyutils.py::TestAsSeries_param_0_{trim=True}::test_as_series_list
FAILED cupy_tests/polynomial_tests/test_polyutils.py::TestAsSeries_param_1_{trim=False}::test_as_series_list
FAILED cupy_tests/sorting_tests/test_search.py::TestNanArgMin::test_nanargmin_nan4
FAILED cupy_tests/sorting_tests/test_search.py::TestNanArgMin::test_nanargmin_nan5
FAILED cupy_tests/sorting_tests/test_search.py::TestNanArgMax::test_nanargmax_nan4
FAILED cupy_tests/sorting_tests/test_search.py::TestNanArgMax::test_nanargmax_nan5
FAILED cupy_tests/testing_tests/test_loops.py::TestIgnoreOfNegativeValueDifferenceOnCpuAndGpu::test_correct_success
FAILED cupyx_tests/scipy_tests/interpolate_tests/test_bspline.py::TestBSpline::test_design_matrix_same_as_BSpline_call[_param_1_{c=[-1, 2, 0, -1], extrapolate=False}]
FAILED cupyx_tests/scipy_tests/interpolate_tests/test_bspline.py::TestBSpline::test_design_matrix_same_as_BSpline_call[_param_4_{c=[[-1, 2, 0, -1], [-1, 2, 0, -1], [-1, 2, 0, -1], [-1, 2, 0, -1], [-1, 2, 0, -1]], extrapolate=False}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_60_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_61_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_62_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_63_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_64_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_65_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_66_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_67_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_68_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_69_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_70_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_71_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_72_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_73_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_74_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_75_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_76_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_77_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_78_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_79_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_80_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_81_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_82_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_83_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_84_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_85_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_86_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_87_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_88_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_convolve2d[_param_89_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_60_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_61_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_62_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_63_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_64_{boundary='fill', fillvalue=-1, mode='full', size1=(5, 10), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_65_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_66_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_67_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_68_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_69_{boundary='fill', fillvalue=-1, mode='full', size1=(10, 7), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_70_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_71_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_72_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_73_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_74_{boundary='fill', fillvalue=-1, mode='same', size1=(5, 10), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_75_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_76_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_77_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_78_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_79_{boundary='fill', fillvalue=-1, mode='same', size1=(10, 7), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_80_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_81_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_82_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_83_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_84_{boundary='fill', fillvalue=-1, mode='valid', size1=(5, 10), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_85_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(3, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_86_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(3, 3)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_87_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(2, 2)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_88_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(10, 10)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolveCorrelate2D::test_correlate2d[_param_89_{boundary='fill', fillvalue=-1, mode='valid', size1=(10, 7), size2=(11, 11)}]
FAILED cupyx_tests/scipy_tests/signal_tests/test_signaltools.py::TestConvolve2DEdgeCase::test_convolve2d_1
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_6_{axis=None, dtype=float32, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_16_{axis=None, dtype=float64, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_26_{axis=None, dtype=complex64, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_36_{axis=None, dtype=complex128, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_46_{axis=(0, 1), dtype=float32, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_56_{axis=(0, 1), dtype=float64, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_66_{axis=(0, 1), dtype=complex64, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_76_{axis=(0, 1), dtype=complex128, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_86_{axis=(1, -2), dtype=float32, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_96_{axis=(1, -2), dtype=float64, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_106_{axis=(1, -2), dtype=complex64, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestMatrixNorm::test_matrix_norm[_param_116_{axis=(1, -2), dtype=complex128, ord=2}]
FAILED cupyx_tests/scipy_tests/sparse_tests/test_linalg.py::TestLOBPCG::test_verbosity
FAILED cupyx_tests/scipy_tests/special_tests/test_log_softmax.py::TestLogSoftmax::test_log_softmax_ndarray_2
FAILED cupyx_tests/scipy_tests/special_tests/test_logsumexp.py::TestLogsumexp::test_large_numbers
FAILED cupyx_tests/scipy_tests/special_tests/test_logsumexp.py::TestLogsumexp::test_sign_argument
FAILED cupyx_tests/scipy_tests/special_tests/test_logsumexp.py::TestLogsumexp::test_sign_zero

@kmaehashi
Copy link
Member Author

@seberg It seems that part of test failures are due to that types of several ufunc's being changed between NumPy 1.23 (-) and 1.24 (+):

-arctan2 : ['ee->e', 'ff->f', 'dd->d', 'gg->g', 'OO->O']
+arctan2 : ['ff->f', 'dd->d', 'ee->e', 'ff->f', 'dd->d', 'gg->g', 'OO->O']

-cos : ['e->e', 'f->f', 'd->d', 'f->f', 'd->d', 'g->g', 'F->F', 'D->D', 'G->G', 'O->O']
+cos : ['f->f', 'e->e', 'd->d', 'f->f', 'd->d', 'g->g', 'F->F', 'D->D', 'G->G', 'O->O']

-sin : ['e->e', 'f->f', 'd->d', 'f->f', 'd->d', 'g->g', 'F->F', 'D->D', 'G->G', 'O->O']
+sin : ['f->f', 'e->e', 'd->d', 'f->f', 'd->d', 'g->g', 'F->F', 'D->D', 'G->G', 'O->O']

For example, np.arctan2(1, np.array([1], dtype=np.float16)) returns float32 in NumPy 1.24 (but was float16 in NumPy 1.23 or earlier, which is an expected result).

I'm happy to file an issue in NumPy, but would like to check with you first whether this is considered a bug 😃

@seberg
Copy link
Contributor

seberg commented Jan 10, 2023

Thanks. We had numpy/numpy#22376 with numba noticing some of these. But I didn't see that the fix forgot about the transcendentals, and we had missed arctan2 anyway.

To some degree, numpy doesn't actually use the order but for arctan2 it seems to be used and this is indeed a bug!

I will look into it we should try to make the 1.24.2 release. No need to open an issue, but happy if you do.

@leofang
Copy link
Member

leofang commented Jan 15, 2023

@kmaehashi Would it be possible to add a task to the NumPy TODO list (and assign it to me if you like) for updating cupy.array_api code?

I give up following closely with upstream changes since 1. there's no notification mechanism we can rely on, 2. lack of bandwidth. But at least we can catch up whenever NumPy makes a new (minor or patch) release 🙂

@kmaehashi
Copy link
Member Author

Sounds good, added it to the task list (and the template).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cat:enhancement Improvements to existing features prio:high
Projects
Status: Done
Development

No branches or pull requests

3 participants