Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOError; could not spawn from the README example #13

Closed
miguelraz opened this issue Apr 29, 2019 · 2 comments
Closed

IOError; could not spawn from the README example #13

miguelraz opened this issue Apr 29, 2019 · 2 comments

Comments

@miguelraz
Copy link
Contributor

julia> analyze(mysum, Tuple{Vector{Float64}})
ERROR: IOError: could not spawn `/home/mrg/Desktop/iaca-lin64 -arch SKL /tmp/tmp6JsdjR/a.out`: permission denied (EACCES)
Stacktrace:
 [1] _spawn_primitive(::String, ::Cmd, ::Array{Any,1}) at ./process.jl:400
 [2] setup_stdios(::getfield(Base, Symbol("##505#506")){Cmd}, ::Array{Any,1}) at ./process.jl:413
 [3] _spawn at ./process.jl:412 [inlined]
 [4] #run#515(::Bool, ::Function, ::Cmd) at ./process.jl:725
 [5] run at ./process.jl:724 [inlined]
 [6] iaca(::Symbol, ::String, ::String) at /home/mrg/.julia/packages/MCAnalyzer/ReUXL/src/MCAnalyzer.jl:22
 [7] #invokelatest#1 at ./essentials.jl:742 [inlined]
 [8] invokelatest at ./essentials.jl:741 [inlined]
 [9] (::getfield(MCAnalyzer, Symbol("##2#4")){typeof(mysum),DataType,Symbol,typeof(MCAnalyzer.jloptimize!)})(::String) at /home/mrg/.julia/packages/MCAnalyzer/ReUXL/src/MCAnalyzer.jl:91
 [10] mktempdir(::getfield(MCAnalyzer, Symbol("##2#4")){typeof(mysum),DataType,Symbol,typeof(MCAnalyzer.jloptimize!)}, ::String) at ./file.jl:581
 [11] mktempdir(::Function) at ./file.jl:579
 [12] analyze at /home/mrg/.julia/packages/MCAnalyzer/ReUXL/src/MCAnalyzer.jl:82 [inlined] (repeats 3 times)
 [13] top-level scope at none:0

but

shell> ls -la
total 8576
drwxrwxrwx  2 mrg mrg    4096 oct 23  2017 ./
drwxr-xr-x 26 mrg mrg   16384 abr 29 08:48 ../
-rwxrwxrwx  1 mrg mrg 8755272 oct 23  2017 iaca*
-rwxrwxrwx  1 mrg mrg    1840 oct 23  2017 iacaMarks.h*

and

shell> pwd
/home/mrg/Desktop/iaca-lin64

shell> ls
iaca*  iacaMarks.h*

julia> ENV["IACA_PATH"] = "/home/mrg/Desktop/iaca-lin64"
"/home/mrg/Desktop/iaca-lin64"

on Julia 1.1, Linux 16.04.

@miguelraz miguelraz changed the title IOError; could not spawn IOError; could not spawn from the README example Apr 29, 2019
@vchuravy
Copy link
Member

It needs the full path to the binary e.g. :julia> ENV["IACA_PATH"] = "/home/mrg/Desktop/iaca-lin64/iaca"

@miguelraz
Copy link
Contributor Author

Success!

julia> analyze(mysum, Tuple{Vector{Float64}})
Intel(R) Architecture Code Analyzer Version -  v3.0-28-g1ba2cbb build date: 2017-10-23;16:42:45
Analyzed File -  /tmp/tmp1kDxv7/a.out
Binary Format - 64Bit
Architecture  -  SKL
Analysis Type - Throughput

Throughput Analysis Report
--------------------------
Block Throughput: 4.00 Cycles       Throughput Bottleneck: Dependency chains
Loop Count:  32
Port Binding In Cycles Per Iteration:
--------------------------------------------------------------------------------------------------
|  Port  |   0   -  DV   |   1   |   2   -  D    |   3   -  D    |   4   |   5   |   6   |   7   |
--------------------------------------------------------------------------------------------------
| Cycles |  0.5     0.0  |  0.5  |  1.0     1.0  |  1.0     1.0  |  0.0  |  0.5  |  0.5  |  0.0  |
--------------------------------------------------------------------------------------------------

DV - Divider pipe (on port 0)
D - Data fetch pipe (on ports 2 and 3)
F - Macro Fusion with the previous instruction occurred
* - instruction micro-ops not bound to a port
^ - Micro Fusion occurred
# - ESP Tracking sync uop was issued
@ - SSE instruction followed an AVX256/AVX512 instruction, dozens of cycles penalty is expected
X - instruction not supported, was not accounted in Analysis

| Num Of   |                    Ports pressure in cycles                         |      |
|  Uops    |  0  - DV    |  1   |  2  -  D    |  3  -  D    |  4   |  5   |  6   |  7   |
-----------------------------------------------------------------------------------------
|   1      |             |      | 1.0     1.0 |             |      |      |      |      | mov rdx, qword ptr [rdi]
|   2      | 0.5         | 0.5  |             | 1.0     1.0 |      |      |      |      | vaddsd xmm0, xmm0, qword ptr [rdx+rcx*8]
|   1      |             |      |             |             |      | 0.5  | 0.5  |      | add rcx, 0x1
|   1*     |             |      |             |             |      |      |      |      | cmp rax, rcx
|   0*F    |             |      |             |             |      |      |      |      | jnz 0xffffffffffffffe9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants