Skip to content

Commit 885f9a2

Browse files
committed
added dask cupy test for aspect func
1 parent 8b01c59 commit 885f9a2

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ In the GIS world, rasters are used for representing continuous phenomena (e.g. e
208208

209209
| Name | NumPy xr.DataArray | Dask xr.DataArray | CuPy GPU xr.DataArray | Dask GPU xr.DataArray |
210210
|:----------:|:----------------------:|:--------------------:|:-------------------:|:------:|
211-
| [Aspect](xrspatial/aspect.py) | ✅️ | ✅️ | ✅️ | |
211+
| [Aspect](xrspatial/aspect.py) | ✅️ | ✅️ | ✅️ | |
212212
| [Curvature](xrspatial/curvature.py) | ✅️ | | | ⚠️ |
213213
| [Hillshade](xrspatial/hillshade.py) | ✅️ | ✅️ | | |
214214
| [Slope](xrspatial/slope.py) | ✅️ | ✅️ | ✅️ | ⚠️ |

xrspatial/tests/general_checks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,13 @@ def assert_numpy_equals_cupy(numpy_agg, cupy_agg, func, nan_edges=True, atol=0,
123123
numpy_result.data, cupy_result.data.get(), equal_nan=True, atol=atol, rtol=rtol)
124124

125125

126-
def assert_numpy_equals_dask_cupy(numpy_agg, dask_cupy_agg, func, nan_edges=True):
126+
def assert_numpy_equals_dask_cupy(numpy_agg, dask_cupy_agg, func, nan_edges=True, atol=0, rtol=1e-7):
127127
numpy_result = func(numpy_agg)
128128
if nan_edges:
129129
assert_nan_edges_effect(numpy_result)
130130

131131
dask_cupy_result = func(dask_cupy_agg)
132132
general_output_checks(dask_cupy_agg, dask_cupy_result)
133133
np.testing.assert_allclose(
134-
numpy_result.data, dask_cupy_result.data.compute().get(), equal_nan=True
134+
numpy_result.data, dask_cupy_result.data.compute().get(), equal_nan=True, atol=atol, rtol=rtol
135135
)

xrspatial/tests/test_aspect.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
import pytest
33

44
from xrspatial import aspect
5-
from xrspatial.tests.general_checks import (assert_nan_edges_effect, assert_numpy_equals_cupy,
5+
from xrspatial.tests.general_checks import (assert_nan_edges_effect,
6+
assert_numpy_equals_cupy,
7+
assert_numpy_equals_dask_cupy,
68
assert_numpy_equals_dask_numpy, create_test_raster,
79
cuda_and_cupy_available, general_output_checks)
810

@@ -75,3 +77,13 @@ def test_numpy_equals_cupy_random_data(random_data):
7577
numpy_agg = create_test_raster(random_data, backend='numpy')
7678
cupy_agg = create_test_raster(random_data, backend='cupy')
7779
assert_numpy_equals_cupy(numpy_agg, cupy_agg, aspect, atol=1e-6, rtol=1e-6)
80+
81+
82+
@cuda_and_cupy_available
83+
@pytest.mark.parametrize("size", [(2, 4), (10, 15)])
84+
@pytest.mark.parametrize(
85+
"dtype", [np.int32, np.int64, np.uint32, np.uint64, np.float32, np.float64])
86+
def test_numpy_equals_dask_cupy_random_data(random_data):
87+
numpy_agg = create_test_raster(random_data, backend='numpy')
88+
dask_cupy_agg = create_test_raster(random_data, backend='dask+cupy')
89+
assert_numpy_equals_dask_cupy(numpy_agg, dask_cupy_agg, aspect, atol=1e-6, rtol=1e-6)

0 commit comments

Comments
 (0)