SciML / AutoOffload.jl

Automatic GPU, TPU, FPGA, Xeon Phi, Multithreaded, Distributed, etc. offloading for scientific machine learning (SciML) and differential equations
https://benchmarks.sciml.ai/
MIT License
35 stars 4 forks source link

Find out design for Pirate mode #1

Open ChrisRackauckas opened 5 years ago

ChrisRackauckas commented 5 years ago

It would be nice to have using AutoOffload.Pirate take over mul!, *, etc. to check sizes and then fallback to the original method if it doesn't satisfy the heuristics for accelerator speedups. However, making that not fall into an infinite loop seems a little tricky.

jpsamaroo commented 5 years ago

I would argue that using a context-based approach (a la Cassette) is an overall better and safer experience for the user and packages which want this functionality. It is easier to disable if you know offload will be problematic, and with the help of a REPL mode or hook into IJulia, should be easy enough to enable for an entire session.