<jupyter_start><jupyter_text>BackendsThe default backend is always [pyopencl](https://documen.tician.de/pyopencl/) based.<jupyter_code>import numpy as np
import pyclesperanto_prototype as cle

cle.get_device()
array = cle.push(np.asarray([[1, 2, 3]]))
cle.add_image_and_scalar(array, scalar = 5)<jupyter_output><empty_output><jupyter_text>cupy backendOne can switch to an experimental [cupy](https://cupy.dev) backend like this:<jupyter_code>cle.select_device("cupy")
array = cle.push(np.asarray([[1, 2, 3]]))
cle.add_image_and_scalar(array, scalar = 5)<jupyter_output>c:\structure\code\pyclesperanto_prototype\pyclesperanto_prototype\_tier0\_cuda_backend.py:31: UserWarning: clesperanto's cupy / CUDA backend is experimental. Please use it with care. The following functions are known to cause issues in the CUDA backend:
affine_transform, apply_vector_field, create(uint64), create(int32), create(int64), label_spots, labelled_spots_to_pointlist, resample, scale, spots_to_pointlist, standard_deviation_of_touching_neighbors
  warnings.warn("clesperanto's cupy / CUDA backend is experimental. Please use it with care. The following functions are known to cause issues in the CUDA backend:\n" +
{'fraction_non_alphanumeric': 0.10376569037656903, 'fraction_numerical': 0.014225941422594143, 'mean_word_length': 7.542857142857143, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '500888', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 412, 'n_tokens_neox': 390, 'n_words': 97, 'path': 'demo/basics/select_backend.ipynb', 'repo_name': 'cavenel/pyclesperanto_prototype', 'size': '1195'}