Comments (3)
This is about mapslices
-like operations, and I take it that you're not really looking for maximum(z; dims=1)
but want other things.
That these work at all in Tullio is a bit of an accident, I thought a bit about this long ago in #20 . Mostly Tullio wants arrays of numbers only, things for which zero(T)
makes sense.
I don't think there's any nice way of doing these on GPU arrays really, with or without this package. Something like map(f, eachcol(z))
iterates on the CPU & launches one GPU operation per slice, which will be slow. Tullio instead tries to generate a kernel, but such kernels should get numbers not whole arrays, and this is what the error is trying to say.
What you probably want to do is to alter f
to act on the whole array, not ones slice at a time.
from tullio.jl.
Thank you for the detailed (and fast!) reply! Yes, my ideal workflow would be to vmap
a function along a batch dimension for a CUDA array which seems extremely difficult/inefficient for CuArrays in Julia.
The longer story is that I want to have a user specify a symbolic function f(x, p)
for symbolic vectors x
, p
, and to then evaluate the function for in parallel for batches of parameters P
. If you have any more thoughts on how to do this, they'd be much appreciated, but this seems well outside the package scope -- but thanks for your work on this, Tullio is really great.
from tullio.jl.
Yes I think many people would like something like vmap
. I've sent an invitation to something which may interest you...
from tullio.jl.
Related Issues (20)
- Alternative to Tullio for Chained Multiplication HOT 4
- @views macro causes module compilation failure HOT 3
- Reporting a bug when Tullio being included with LoopVectorization HOT 1
- [Question] Is it possible to create a vector of SVectors from a Matrix using Tullio? HOT 2
- [Question] How to change summation order? HOT 5
- Use package extensions HOT 1
- How finalizers `|>` work HOT 5
- Method error when broadcast and sum of matrices HOT 1
- GPU Kernel Compilation Failed with Interpolations HOT 2
- Upgrade to CUDA.CUDAKernels HOT 9
- Bug when using Tullio + LoopVectorization HOT 5
- Add Finch.jl backend HOT 4
- CUDA v4 support HOT 2
- Using threads, vs setting threads=false gives different result HOT 3
- Error when specifying the range of an index with a UnitRange HOT 4
- Scalar indexing with CUDA HOT 10
- Please update dep of FillArrays to v1.
- Bad interaction with Enzyme? HOT 6
- Zygote with Tullio gives wrong gradients/pullbacks using CUDA HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tullio.jl.