I wanted to open a quick discussion on how to handle JLArrays.jl.
I'm struggling a bit to come up with the correct way, because of the following clashing things:
JLArrays is mostly for testing and checking that no GPU-incompatible paths are taken. However, our GPU paths are totally separate from the CPU ones, and we don't want to ban scalar indexing on the CPU side, and pulling a JLArray through the CPU codepaths does not actually test that our GPU codepaths are clear of scalar indexing.
- On the flip side, it is very convenient to be able to test higher-level codebases (thinking of MPS libraries etc) and have the factorizations "just work", to test the code around without having to set up complicated special cases.
So, I think to make things convenient the best strategy might be to just "make it work", ie write a package extension that tries to do some overloads basically by inserting @allow_scalar more or less everywhere, and going from there.
I'd be open to suggestions and discussions though!
Tagging the following people to include in the discussion:
@kshyatt
@Jutho
@mtfishman
I wanted to open a quick discussion on how to handle
JLArrays.jl.I'm struggling a bit to come up with the correct way, because of the following clashing things:
JLArraysis mostly for testing and checking that no GPU-incompatible paths are taken. However, our GPU paths are totally separate from the CPU ones, and we don't want to ban scalar indexing on the CPU side, and pulling aJLArraythrough the CPU codepaths does not actually test that our GPU codepaths are clear of scalar indexing.So, I think to make things convenient the best strategy might be to just "make it work", ie write a package extension that tries to do some overloads basically by inserting
@allow_scalarmore or less everywhere, and going from there.I'd be open to suggestions and discussions though!
Tagging the following people to include in the discussion:
@kshyatt
@Jutho
@mtfishman