Comments (8)
Timings should probably exclude or special handle custom abstract interpreters.
cc: @aviatesk
from snoopcompile.jl.
Would a viable solution be to specify a module whose code would not be precompiled?
GPU and CPU code is often part of the same module; disabling based on the AbstractInterpreter (involved) seems like the best way.
from snoopcompile.jl.
I believe this is basically JuliaLang/julia#48453. If so, GPUCompiler can implement a workaroud on its side. xref: https://github.com/aviatesk/JET.jl/blob/c0adbac27844dd07ee1df7e92689fdc571acba85/src/analyzers/jetanalyzer.jl#L44-L56
from snoopcompile.jl.
We will likely run into that next, but this is more that a custom absint is reporting it's timings and those are taking as truth by SnoopCompile. We should note Wich AbsInt cause a timings entry to create
from snoopcompile.jl.
This should be addressed now in Precompiler, since that's the future. (I don't think I can transfer to an organization.) Would a viable solution be to specify a module whose code would not be precompiled?
Note Precompiler/SnoopPrecompile is best for intervening at the "root" of inference, i.e., if the given method is dispatched at runtime. If it's deeper into an inferrable callgraph, we'd have to write code to look for it. In either case, I think the only option would be to nix the entire tree; caching part of an inferrable callgraph but omitting other parts introduces all sorts of trouble.
from snoopcompile.jl.
Fixed in JuliaLang/julia#49391 which is also part of 1.9.0-rc3
from snoopcompile.jl.
Thanks!
from snoopcompile.jl.
With exclusion, we may need to do some work to ensure whole "inference trees" are really ready to go, cf JuliaLang/julia#35972. But that's clearly not 1.9 work.
from snoopcompile.jl.
Related Issues (20)
- `suggest` is producing `StackOverflowError`
- Add a `.JuliaFormatter.toml` and format?
- There are not tags for SnoopPrecompile in the repo HOT 10
- Clarify docs re: precompile and runtime dispatch HOT 2
- MethodError on `invalidation_trees` HOT 2
- Rethink how we use Preferences HOT 8
- confusing output of mt_backedges HOT 4
- A lazier approach to precompilation HOT 3
- can't SnoopPrecompile ModelingToolkit / DifferentialEquations :( HOT 5
- Loading ReverseDiff and UnicodePlots together and looking at their invalidations prints tens of thousands of lines HOT 3
- Failure to insert invalidations by invalidation_trees()
- Register new versions of SnoopCompileCore? HOT 1
- `MethodError` with `invalidation_trees` on Julia 1.8.2, works on 1.9.1
- `Illegal inttoptr` error on HPC HOT 3
- Error in showing output of `invalidation_trees`
- Why is Pkg.jl a dependency?
- Sorting on number of children seems to have regressed HOT 2
- Next breaking release HOT 10
- Support for cross-environment (de-)serialization of records and offline analysis 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 snoopcompile.jl.