Skip to content

Gillespie simulations on GPU #543

@GeekyPeas

Description

@GeekyPeas

I recently came across the package Catalyst.jl (and I am very impressed with/ excited about it!).

I need many samples (in the order of 10^5) from the Gillespie simulation of a chemical reaction network. I would like to use a GPU for this purpose. A GPU, I believe, can output in the order of 10^3 samples per batch.

So, how to do this with Catalyst.jl?

Sorry I am very new to both Julia and Catalyst.jl. In the description of Catalyst.jl it does say "High performance, GPU-parallelized, and O(1) solvers". However I couldn't find any documentation on running Catalyst.jl code on GPU.

So far this is what I am thinking:

dprob = DiscreteProblem(model,u0,tspan,p); jprob = JumpProblem(model,dprob,Direct());

are one-time operations.

It is the:

solve(jprob,SSAStepper())

that needs to be run many times on the GPU.

Using @which solve(jprob,SSAStepper()) I see this method is actually outside of the Catalyst.jl package and comes from the DiffEqBase package.

As of now, I have not figured out how code should be run on GPU in Julia. But I thought, asking may get me answers faster!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions