diff --git a/onedal/tests/utils/_dataframes_support.py b/onedal/tests/utils/_dataframes_support.py index 6d56f3aa59..86aaebcd1e 100644 --- a/onedal/tests/utils/_dataframes_support.py +++ b/onedal/tests/utils/_dataframes_support.py @@ -27,6 +27,13 @@ except ImportError: dpnp_available = False +try: + import torch + + torch_available = True +except ImportError: + torch_available = False + try: # This should be lazy imported in the # future along with other popular @@ -50,7 +57,7 @@ from onedal.tests.utils._device_selection import get_queues test_frameworks = os.environ.get( - "ONEDAL_PYTEST_FRAMEWORKS", "numpy,pandas,dpnp,array_api" + "ONEDAL_PYTEST_FRAMEWORKS", "numpy,pandas,dpnp,array_api,torch" ) @@ -116,6 +123,8 @@ def get_df_and_q(dataframe: str): or array_api_enabled() ): dataframes_and_queues.append(pytest.param("array_api", None, id="array_api")) + if torch_available and "torch" in dataframe_filter_: + dataframes_and_queues.extend(get_df_and_q("torch")) return dataframes_and_queues @@ -124,6 +133,8 @@ def _as_numpy(obj, *args, **kwargs): """Converted input object to numpy.ndarray format.""" if dpnp_available and isinstance(obj, dpnp.ndarray): return obj.asnumpy(*args, **kwargs) + if torch_available and isinstance(obj, torch.Tensor): + return obj.cpu().detach().numpy(*args, **kwargs) if isinstance(obj, pd.DataFrame) or isinstance(obj, pd.Series): return obj.to_numpy(*args, **kwargs) if sp.issparse(obj): @@ -162,5 +173,10 @@ def _convert_to_dataframe(obj, sycl_queue=None, target_df=None, *args, **kwargs) xp = array_api_modules[target_df] return xp.asarray(obj) + elif target_df == "torch": + if hasattr(torch, "xpu") and torch.xpu.is_available(): + return torch.as_tensor(obj, device="xpu", *args, **kwargs) + else: + return torch.as_tensor(obj, device="cpu", *args, **kwargs) raise RuntimeError("Unsupported dataframe conversion") diff --git a/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py b/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py index 48d83e63df..3dd1b645e4 100644 --- a/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +++ b/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py @@ -38,7 +38,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_basic_stats_spmd_gold(dataframe, queue): @@ -82,7 +82,7 @@ def test_basic_stats_spmd_gold(dataframe, queue): @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("array_api_dispatch", [True, False]) @pytest.mark.mpi diff --git a/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py b/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py index 0e16e1c481..3f5c7edd61 100644 --- a/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +++ b/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py @@ -38,7 +38,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("weighted", [True, False]) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @@ -104,7 +104,7 @@ def test_incremental_basic_statistics_fit_spmd_gold(dataframe, queue, weighted, ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("num_blocks", [1, 2]) @pytest.mark.parametrize("weighted", [True, False]) @@ -178,7 +178,7 @@ def test_incremental_basic_statistics_partial_fit_spmd_gold( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("num_blocks", [1, 2]) @pytest.mark.parametrize("weighted", [True, False]) @@ -247,7 +247,7 @@ def test_incremental_basic_statistics_single_option_partial_fit_spmd_gold( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("num_blocks", [1, 2]) @pytest.mark.parametrize("weighted", [True, False]) diff --git a/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py b/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py index 71b7341d67..bac1de6104 100644 --- a/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +++ b/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py @@ -36,7 +36,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_dbscan_spmd_gold(dataframe, queue): @@ -67,7 +67,7 @@ def test_dbscan_spmd_gold(dataframe, queue): @pytest.mark.parametrize("min_samples", [2, 5, 15]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py b/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py index 0b576d27c0..c1b923e1d2 100644 --- a/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +++ b/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py @@ -39,7 +39,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_kmeans_spmd_gold(dataframe, queue): @@ -107,7 +107,7 @@ def test_kmeans_spmd_gold(dataframe, queue): @pytest.mark.parametrize("n_clusters", [2, 5, 15]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/covariance/tests/test_covariance_spmd.py b/sklearnex/spmd/covariance/tests/test_covariance_spmd.py index 3a049a0571..58bce438e3 100644 --- a/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +++ b/sklearnex/spmd/covariance/tests/test_covariance_spmd.py @@ -37,7 +37,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_covariance_spmd_gold(dataframe, queue): @@ -83,7 +83,7 @@ def test_covariance_spmd_gold(dataframe, queue): @pytest.mark.parametrize("assume_centered", [True, False]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py b/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py index f3348c7fbf..ce18f150e4 100644 --- a/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +++ b/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py @@ -37,7 +37,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("assume_centered", [True, False]) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @@ -88,7 +88,7 @@ def test_incremental_covariance_fit_spmd_gold(dataframe, queue, assume_centered, ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("num_blocks", [1, 2]) @pytest.mark.parametrize("assume_centered", [True, False]) @@ -149,7 +149,7 @@ def test_incremental_covariance_partial_fit_spmd_gold( @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("array_api_dispatch", [True, False]) @pytest.mark.mpi diff --git a/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py b/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py index bd298d55db..d958480d9a 100644 --- a/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +++ b/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py @@ -47,7 +47,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("whiten", [True, False]) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @@ -95,7 +95,7 @@ def test_incremental_pca_fit_spmd_gold(dataframe, queue, whiten, dtype): ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("whiten", [True, False]) @pytest.mark.parametrize("num_blocks", [1, 2]) @@ -159,7 +159,7 @@ def test_incremental_pca_partial_fit_spmd_gold( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("whiten", [True, False]) @pytest.mark.parametrize("n_components", [None, 2, 5]) @@ -211,7 +211,7 @@ def test_incremental_pca_fit_spmd_random( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("whiten", [True, False]) @pytest.mark.parametrize("n_components", [None, 2, 5]) diff --git a/sklearnex/spmd/decomposition/tests/test_pca_spmd.py b/sklearnex/spmd/decomposition/tests/test_pca_spmd.py index 8a899fcf73..73f01e4d23 100644 --- a/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +++ b/sklearnex/spmd/decomposition/tests/test_pca_spmd.py @@ -37,7 +37,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_pca_spmd_gold(dataframe, queue): @@ -90,7 +90,7 @@ def test_pca_spmd_gold(dataframe, queue): @pytest.mark.parametrize("whiten", [True, False]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/ensemble/tests/test_forest_spmd.py b/sklearnex/spmd/ensemble/tests/test_forest_spmd.py index e4ede074c5..beaf19ae7c 100644 --- a/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +++ b/sklearnex/spmd/ensemble/tests/test_forest_spmd.py @@ -38,7 +38,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_rfcls_spmd_gold(dataframe, queue): @@ -107,7 +107,7 @@ def test_rfcls_spmd_gold(dataframe, queue): @pytest.mark.parametrize("local_trees_mode", [False, True]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) @@ -173,7 +173,7 @@ def test_rfcls_spmd_synthetic( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_rfreg_spmd_gold(dataframe, queue): @@ -242,7 +242,7 @@ def test_rfreg_spmd_gold(dataframe, queue): @pytest.mark.parametrize("local_trees_mode", [False, True]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py b/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py index b38bb655df..e20f7c0160 100644 --- a/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +++ b/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py @@ -37,7 +37,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("fit_intercept", [True, False]) @pytest.mark.parametrize("macro_block", [None, 1024]) @@ -112,7 +112,7 @@ def test_incremental_linear_regression_fit_spmd_gold( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("fit_intercept", [True, False]) @pytest.mark.parametrize("num_blocks", [1, 2]) @@ -196,7 +196,7 @@ def test_incremental_linear_regression_partial_fit_spmd_gold( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("fit_intercept", [True, False]) @pytest.mark.parametrize("num_samples", [100, 1000]) @@ -261,7 +261,7 @@ def test_incremental_linear_regression_fit_spmd_random( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("fit_intercept", [True, False]) @pytest.mark.parametrize("num_blocks", [1, 2]) diff --git a/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py b/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py index 3eb147af81..754018916d 100644 --- a/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +++ b/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py @@ -38,7 +38,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_linear_spmd_gold(dataframe, queue): @@ -102,7 +102,7 @@ def test_linear_spmd_gold(dataframe, queue): @pytest.mark.parametrize("n_features", [10, 100]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py b/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py index ebd63e6d0c..a20badf2e7 100644 --- a/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +++ b/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py @@ -38,7 +38,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_logistic_spmd_gold(dataframe, queue): @@ -112,7 +112,7 @@ def test_logistic_spmd_gold(dataframe, queue): @pytest.mark.parametrize("tol", [1e-2, 1e-4]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) diff --git a/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py b/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py index 2f35d98782..9d7b4a32d3 100644 --- a/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +++ b/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py @@ -39,7 +39,7 @@ ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_knncls_spmd_gold(dataframe, queue): @@ -109,7 +109,7 @@ def test_knncls_spmd_gold(dataframe, queue): @pytest.mark.parametrize("weights", ["uniform", "distance"]) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) @@ -175,7 +175,7 @@ def test_knncls_spmd_synthetic( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_knnreg_spmd_gold(dataframe, queue): @@ -247,7 +247,7 @@ def test_knnreg_spmd_gold(dataframe, queue): ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) @@ -312,7 +312,7 @@ def test_knnreg_spmd_synthetic( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_knnsearch_spmd_gold(dataframe, queue): @@ -349,7 +349,7 @@ def test_knnsearch_spmd_gold(dataframe, queue): ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.parametrize("dtype", [np.float32, np.float64]) @pytest.mark.parametrize("array_api_dispatch", [True, False]) @@ -398,7 +398,7 @@ def test_knnsearch_spmd_synthetic( ) @pytest.mark.parametrize( "dataframe,queue", - get_dataframes_and_queues(dataframe_filter_="dpnp", device_filter_="gpu"), + get_dataframes_and_queues(dataframe_filter_="dpnp,torch", device_filter_="gpu"), ) @pytest.mark.mpi def test_knn_spmd_empty_kneighbors(dataframe, queue):