Giter VIP home page Giter VIP logo

Comments (3)

mcabbott avatar mcabbott commented on June 20, 2024

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.

pculbertson avatar pculbertson commented on June 20, 2024

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.

mcabbott avatar mcabbott commented on June 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.