Giter Site home page Giter Site logo

Comments (8)

oxinabox avatar oxinabox commented on June 30, 2024

What happens if we do a top level @nospecialiize on the whole package?

Answer: helps a bit but not much

from chainrulescore.jl.

iamed2 avatar iamed2 commented on June 30, 2024

What happens if we do a top level @nospecialiize on the whole package?

Is there still a large overhead between first and second call? Or are they about the same?

from chainrulescore.jl.

oxinabox avatar oxinabox commented on June 30, 2024

It was below the noise level for both.
Some minor different in allocations but not much.

from chainrulescore.jl.

iamed2 avatar iamed2 commented on June 30, 2024

You're probably just getting interpreter run time then

from chainrulescore.jl.

oxinabox avatar oxinabox commented on June 30, 2024

This feels a lot better when I was trying it after the breakup into two packages,
and when working in julia 1.3,
but I've not done new timing.
I suspect breaking into two packages has made precompilation happier.

from chainrulescore.jl.

oxinabox avatar oxinabox commented on June 30, 2024

#35 does indeed fix this.

Test Script

using Pkg: @pkg_str
pkg"activate /Users/oxinabox/JuliaEnvs/ChainRulesWorld/"
using ChainRules
using LinearAlgebra

function main()
    x = [1 2; 3 4]
    @time f, res = rrule(svd, x)
    r = (U = f.U, S=f.S, V=f.V)
    @time res(r)
end
main()

Timing Results

Current Master

rrule: 0.043273 seconds (29.90 k allocations: 1.602 MiB, 14.56% gc time)
res : 0.029336 seconds (59.08 k allocations: 3.668 MiB)

No cassette branch #35

rrule: 0.040967 seconds (29.90 k allocations: 1.602 MiB)
res: 0.000014 seconds (19 allocations: 1.891 KiB)

from chainrulescore.jl.

nickrobinson251 avatar nickrobinson251 commented on June 30, 2024

pkg"activate ChainRulesWorld"

😆

from chainrulescore.jl.

oxinabox avatar oxinabox commented on June 30, 2024

I have a Manifest.toml there
that has all the right branchs of ChainRules, ChainRulesCore, Zygote and FiniteDifferences etc
checked out for what ever I am working on.

from chainrulescore.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.