MxUI / MUI

Multiscale Universal Interface: A Concurrent Framework for Coupling Heterogeneous Solvers
http://mxui.github.io/
Apache License 2.0
54 stars 40 forks source link

accelerating spatial samplers #85

Open SLongshaw opened 2 years ago

SLongshaw commented 2 years ago

The spatial samplers are all currently done as single threaded function call on the CPU, there might be scope for accelerating the majority for many-core architectures given they basically all loop over a set of points.

Immediate issues:

1) Memory transfer - the cell list is built for each data frame, so either that or the individual "data_points" subset found from the cell list would need to be transferred - this will be costly and hard to hide, might be scope for using CUDA MPI type approach. 2) The calls to filter() usually work on small subsets (< 50 points) - these would need to be bundled up and run in parallel to make the most of a GPU. 3) Ideally a solution should be hardware agnostic, so should be focused either on low-level like OpenCL or higher-level like SYCL type approach.

SLongshaw commented 1 year ago

Work is currently underway through a funded Intel oneAPI Centre of Excellence to accelerate parts of the library that rely on linear algebra (e.g. Radial Basis) using SYCL

https://www.scd.stfc.ac.uk/Pages/STFC-oneAPI-Centre.aspx