# vtune.jl function profile_test(n) for i = 1:n A = randn(100,100,20) m = maximum(A) Am = mapslices(sum, A; dims=2) B = A[:,:,5] Bsort = mapslices(sort, B; dims=1) b = rand(100) C = B.*b end end profile_test(1) profile_test(10)
As described in the relevant section of the Julia documentation, I compiled Julia (release-1.3) with
USE_INTEL_JITEVENTS=1 in the Make.user file and set the environment variable
ENABLE_JITPROFILING=1. Specifically, since I’m on Windows I cross compiled Julia using the recommended Cygwin-to-MinGW path.
To profile the code I fired up VTune and created a simple analysis (inspired by the Python tutorial here):
Inspecting the “Bottom-up” analysis results I see all kinds of low level
jl_* stuff but cannot find anything about my vtune.jl file or the included
Is there something else I need to do? Is VTune expected to work with Julia? If yes, to what extend? In the python tutorial (linked above) both the script file
runtime.py as well as the function
black_scholes could be clearly identified as a bottleneck.
I’d appreciate any comments/hints on how to get better profiling results with VTune + Julia!