Add GPU-accelerated Rayleigh integral as a tool
In v0.9.2 Rayleigh integral was added a tool (see tutorial Tutorial Notebooks\Tools -1 - Rayleigh Integral.ipynb
). This will be useful to combine models that include large volumes of water as Rayleigh integral benefits considerably of a GPU and the model is hyperparallel. The tool has support for 3 GPU backends: CUDA for Windows and Linux, and Metal and OpenCL for MacOS.
Given the simplicity of the kernel, for the Rayleigh integral we use pycuda
and pyopencl
to compile the kernel directly in the Python library. For Metal, a wrapper written in Swift language is compiled during the installation.