Comments (13)
Pkg.build("CUDArt")
? Any error messages that it emits?
from cudart.jl.
It's very strange that it seems to be there. I wonder if the file is corrupted or something.
from cudart.jl.
No error message.Sent from my Huawei Mobile
from cudart.jl.
This seems likely to be an OS or julia error. Assuming you're on linux, does readelf
do the expected things on libwrapcuda.so
? What's versioninfo()
? Are there other packages that use C code that give you problems?
This is not my strong suit, so if a little more poking around doesn't resolve the problem, you might be better off filing a julia issue. Sorry not to be more helpful.
from cudart.jl.
I got this problem and solved it by simply re-install the package... @AStupidBear
from cudart.jl.
shell> readelf -a libwrapcuda.so
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x610
Start of program headers: 64 (bytes into file)
Start of section headers: 4416 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 7
Size of section headers: 64 (bytes)
Number of section headers: 25
Section header string table index: 22
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .note.gnu.build-i NOTE 00000000000001c8 000001c8
0000000000000024 0000000000000000 A 0 0 4
[ 2] .gnu.hash GNU_HASH 00000000000001f0 000001f0
0000000000000040 0000000000000000 A 3 0 8
[ 3] .dynsym DYNSYM 0000000000000230 00000230
0000000000000180 0000000000000018 A 4 2 8
[ 4] .dynstr STRTAB 00000000000003b0 000003b0
00000000000000c4 0000000000000000 A 0 0 1
[ 5] .rela.dyn RELA 0000000000000478 00000478
00000000000000c0 0000000000000018 A 3 0 8
[ 6] .rela.plt RELA 0000000000000538 00000538
0000000000000060 0000000000000018 A 3 8 8
[ 7] .init PROGBITS 0000000000000598 00000598
000000000000001a 0000000000000000 AX 0 0 4
[ 8] .plt PROGBITS 00000000000005c0 000005c0
0000000000000050 0000000000000010 AX 0 0 16
[ 9] .text PROGBITS 0000000000000610 00000610
000000000000018c 0000000000000000 AX 0 0 16
[10] .fini PROGBITS 000000000000079c 0000079c
0000000000000009 0000000000000000 AX 0 0 4
[11] .eh_frame_hdr PROGBITS 00000000000007a8 000007a8
0000000000000024 0000000000000000 A 0 0 4
[12] .eh_frame PROGBITS 00000000000007d0 000007d0
0000000000000084 0000000000000000 A 0 0 8
[13] .init_array INIT_ARRAY 0000000000200e20 00000e20
0000000000000008 0000000000000000 WA 0 0 8
[14] .fini_array FINI_ARRAY 0000000000200e28 00000e28
0000000000000008 0000000000000000 WA 0 0 8
[15] .jcr PROGBITS 0000000000200e30 00000e30
0000000000000008 0000000000000000 WA 0 0 8
[16] .dynamic DYNAMIC 0000000000200e38 00000e38
00000000000001a0 0000000000000010 WA 4 0 8
[17] .got PROGBITS 0000000000200fd8 00000fd8
0000000000000028 0000000000000008 WA 0 0 8
[18] .got.plt PROGBITS 0000000000201000 00001000
0000000000000038 0000000000000008 WA 0 0 8
[19] .data PROGBITS 0000000000201038 00001038
0000000000000008 0000000000000000 WA 0 0 8
[20] .bss NOBITS 0000000000201040 00001040
0000000000000008 0000000000000000 WA 0 0 1
[21] .comment PROGBITS 0000000000000000 00001040
000000000000002b 0000000000000001 MS 0 0 1
[22] .shstrtab STRTAB 0000000000000000 0000106b
00000000000000ce 0000000000000000 0 0 1
[23] .symtab SYMTAB 0000000000000000 00001780
0000000000000510 0000000000000018 24 40 8
[24] .strtab STRTAB 0000000000000000 00001c90
00000000000001dd 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000854 0x0000000000000854 R E 200000
LOAD 0x0000000000000e20 0x0000000000200e20 0x0000000000200e20
0x0000000000000220 0x0000000000000228 RW 200000
DYNAMIC 0x0000000000000e38 0x0000000000200e38 0x0000000000200e38
0x00000000000001a0 0x00000000000001a0 RW 8
NOTE 0x00000000000001c8 0x00000000000001c8 0x00000000000001c8
0x0000000000000024 0x0000000000000024 R 4
GNU_EH_FRAME 0x00000000000007a8 0x00000000000007a8 0x00000000000007a8
0x0000000000000024 0x0000000000000024 R 4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 10
GNU_RELRO 0x0000000000000e20 0x0000000000200e20 0x0000000000200e20
0x00000000000001e0 0x00000000000001e0 R 1
Section to Segment mapping:
Segment Sections...
00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .rela.dyn .rela.plt .init .plt .text .fini .eh_frame_hdr .eh_frame
01 .init_array .fini_array .jcr .dynamic .got .got.plt .data .bss
02 .dynamic
03 .note.gnu.build-id
04 .eh_frame_hdr
05
06 .init_array .fini_array .jcr .dynamic .got
Dynamic section at offset 0xe38 contains 22 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libcudart.so.5.5]
0x000000007ffffffd (AUXILIARY) Auxiliary library: [PIC]
0x000000000000000c (INIT) 0x598
0x000000000000000d (FINI) 0x79c
0x0000000000000019 (INIT_ARRAY) 0x200e20
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x200e28
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x1f0
0x0000000000000005 (STRTAB) 0x3b0
0x0000000000000006 (SYMTAB) 0x230
0x000000000000000a (STRSZ) 196 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x201000
0x0000000000000002 (PLTRELSZ) 96 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x538
0x0000000000000007 (RELA) 0x478
0x0000000000000008 (RELASZ) 192 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffff9 (RELACOUNT) 3
0x0000000000000000 (NULL) 0x0
Relocation section '.rela.dyn' at offset 0x478 contains 8 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000200e20 000000000008 R_X86_64_RELATIVE 6c0
000000200e28 000000000008 R_X86_64_RELATIVE 680
000000201038 000000000008 R_X86_64_RELATIVE 201038
000000200fd8 000300000006 R_X86_64_GLOB_DAT 0000000000000000 __cxa_finalize + 0
000000200fe0 000500000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTa + 0
000000200fe8 000600000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_deregisterTMClone + 0
000000200ff0 000700000006 R_X86_64_GLOB_DAT 0000000000000000 _Jv_RegisterClasses + 0
000000200ff8 000800000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
Relocation section '.rela.plt' at offset 0x538 contains 4 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000201018 000200000007 R_X86_64_JUMP_SLO 0000000000000000 cudaMemset3D + 0
000000201020 000300000007 R_X86_64_JUMP_SLO 0000000000000000 __cxa_finalize + 0
000000201028 000400000007 R_X86_64_JUMP_SLO 0000000000000000 cudaMalloc3D + 0
000000201030 000800000007 R_X86_64_JUMP_SLO 0000000000000000 __gmon_start__ + 0
The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported.
Symbol table '.dynsym' contains 16 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000598 0 SECTION LOCAL DEFAULT 7
2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND cudaMemset3D
3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __cxa_finalize
4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND cudaMalloc3D
5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable
6: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab
7: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
8: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
9: 00000000000006f5 65 FUNC GLOBAL DEFAULT 9 wrapcudaMalloc3D
10: 0000000000201040 0 NOTYPE GLOBAL DEFAULT 19 _edata
11: 0000000000201048 0 NOTYPE GLOBAL DEFAULT 20 _end
12: 0000000000000598 0 FUNC GLOBAL DEFAULT 7 _init
13: 0000000000201040 0 NOTYPE GLOBAL DEFAULT 20 __bss_start
14: 0000000000000736 102 FUNC GLOBAL DEFAULT 9 wrapcudaMemset3D
15: 000000000000079c 0 FUNC GLOBAL DEFAULT 10 _fini
Symbol table '.symtab' contains 54 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000000001c8 0 SECTION LOCAL DEFAULT 1
2: 00000000000001f0 0 SECTION LOCAL DEFAULT 2
3: 0000000000000230 0 SECTION LOCAL DEFAULT 3
4: 00000000000003b0 0 SECTION LOCAL DEFAULT 4
5: 0000000000000478 0 SECTION LOCAL DEFAULT 5
6: 0000000000000538 0 SECTION LOCAL DEFAULT 6
7: 0000000000000598 0 SECTION LOCAL DEFAULT 7
8: 00000000000005c0 0 SECTION LOCAL DEFAULT 8
9: 0000000000000610 0 SECTION LOCAL DEFAULT 9
10: 000000000000079c 0 SECTION LOCAL DEFAULT 10
11: 00000000000007a8 0 SECTION LOCAL DEFAULT 11
12: 00000000000007d0 0 SECTION LOCAL DEFAULT 12
13: 0000000000200e20 0 SECTION LOCAL DEFAULT 13
14: 0000000000200e28 0 SECTION LOCAL DEFAULT 14
15: 0000000000200e30 0 SECTION LOCAL DEFAULT 15
16: 0000000000200e38 0 SECTION LOCAL DEFAULT 16
17: 0000000000200fd8 0 SECTION LOCAL DEFAULT 17
18: 0000000000201000 0 SECTION LOCAL DEFAULT 18
19: 0000000000201038 0 SECTION LOCAL DEFAULT 19
20: 0000000000201040 0 SECTION LOCAL DEFAULT 20
21: 0000000000000000 0 SECTION LOCAL DEFAULT 21
22: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
23: 0000000000200e30 0 OBJECT LOCAL DEFAULT 15 __JCR_LIST__
24: 0000000000000610 0 FUNC LOCAL DEFAULT 9 deregister_tm_clones
25: 0000000000000640 0 FUNC LOCAL DEFAULT 9 register_tm_clones
26: 0000000000000680 0 FUNC LOCAL DEFAULT 9 __do_global_dtors_aux
27: 0000000000201040 1 OBJECT LOCAL DEFAULT 20 completed.6973
28: 0000000000200e28 0 OBJECT LOCAL DEFAULT 14 __do_global_dtors_aux_fin
29: 00000000000006c0 0 FUNC LOCAL DEFAULT 9 frame_dummy
30: 0000000000200e20 0 OBJECT LOCAL DEFAULT 13 __frame_dummy_init_array_
31: 0000000000000000 0 FILE LOCAL DEFAULT ABS wrapcuda.c
32: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c
33: 0000000000000850 0 OBJECT LOCAL DEFAULT 12 __FRAME_END__
34: 0000000000200e30 0 OBJECT LOCAL DEFAULT 15 __JCR_END__
35: 0000000000000000 0 FILE LOCAL DEFAULT ABS
36: 0000000000200e38 0 OBJECT LOCAL DEFAULT 16 _DYNAMIC
37: 0000000000201040 0 OBJECT LOCAL DEFAULT 19 __TMC_END__
38: 0000000000201038 0 OBJECT LOCAL DEFAULT 19 __dso_handle
39: 0000000000201000 0 OBJECT LOCAL DEFAULT 18 _GLOBAL_OFFSET_TABLE_
40: 0000000000000736 102 FUNC GLOBAL DEFAULT 9 wrapcudaMemset3D
41: 0000000000000000 0 FUNC GLOBAL DEFAULT UND cudaMemset3D
42: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __cxa_finalize
43: 0000000000000000 0 FUNC GLOBAL DEFAULT UND cudaMalloc3D
44: 0000000000000598 0 FUNC GLOBAL DEFAULT 7 _init
45: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable
46: 00000000000006f5 65 FUNC GLOBAL DEFAULT 9 wrapcudaMalloc3D
47: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab
48: 0000000000201040 0 NOTYPE GLOBAL DEFAULT 20 __bss_start
49: 000000000000079c 0 FUNC GLOBAL DEFAULT 10 _fini
50: 0000000000201040 0 NOTYPE GLOBAL DEFAULT 19 _edata
51: 0000000000201048 0 NOTYPE GLOBAL DEFAULT 20 _end
52: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
53: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
Histogram for `.gnu.hash' bucket list length (total of 3 buckets):
Length Number % of total Coverage
0 0 ( 0.0%)
1 0 ( 0.0%) 0.0%
2 2 ( 66.7%) 57.1%
3 1 ( 33.3%) 100.0%
No version information found in this file.
Displaying notes found at file offset 0x000001c8 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
julia> versioninfo()
Julia Version 0.4.6
Commit 2e358ce (2016-06-19 17:16 UTC)
Platform Info:
System: Linux (x86_64-linux-gnu)
CPU: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
WORD_SIZE: 64
BLAS: libopenblas (NO_LAPACK NO_LAPACKE DYNAMIC_ARCH NO_AFFINITY Haswell)
LAPACK: liblapack.so.3
LIBM: libopenlibm
LLVM: libLLVM-3.3
from cudart.jl.
julia> libwrapcuda = Libdl.find_library(["libwrapcuda.so"],[joinpath(Pkg.dir(), "CUDArt", "de
ps")])
""
julia> libwrapcuda = Libdl.find_library(["libwrapcuda"],[joinpath(Pkg.dir(), "CUDArt", "de
ps")])
""
julia> libsvm = Libdl.find_library(["libsvm.so.2"],[joinpath(Pkg.dir(), "LIBSVM", "deps")])
"/home/rluser/.julia/v0.4/LIBSVM/deps/libsvm.so.2"
from cudart.jl.
julia> libwrapcuda = Libdl.find_library(["libwrapcuda.so"],[joinpath(Pkg.dir(), "CUDArt", "de
ps")])
""
julia> libwrapcuda = Libdl.find_library(["libwrapcuda"],[joinpath(Pkg.dir(), "CUDArt", "de
ps")])
""
julia> libsvm = Libdl.find_library(["libsvm.so.2"],[joinpath(Pkg.dir(), "LIBSVM", "deps")])
"/home/rluser/.julia/v0.4/LIBSVM/deps/libsvm.so.2"
from cudart.jl.
julia> Pkg.build("CUDArt")
INFO: Building CUDArt
make: Nothing to be done for `all'.
make: Nothing to be done for `all'.
from cudart.jl.
What if you go into the deps
directory and touch wrapcuda.c; make
?
from cudart.jl.
@timholy It works. But
julia> cd(Pkg.dir("CUDArt","deps"))
shell> touch wrapcuda.c; make
nvcc --shared --compiler-options=-fPIC --linker-options=-fPIC wrapcuda.c -o libwrapcuda.so
julia> using CUDArt
INFO: Precompiling module CUDArt...
julia> Pkg.test("CUDArt")
INFO: Testing CUDArt
ERROR: LoadError: LoadError: test failed: 0.5 <= 0.4668889045715332 <= 0.55
in expression: sleeptime <= r[2] - r[1] <= 1.1sleeptime
in error at ./error.jl:21
in default_handler at test.jl:28
in do_test at test.jl:53
in anonymous at /home/rluser/.julia/v0.4/CUDArt/test/test.jl:206
in devices at /home/rluser/.julia/v0.4/CUDArt/src/device.jl:61
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:320
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:320
in process_options at ./client.jl:280
in _start at ./client.jl:378
while loading /home/rluser/.julia/v0.4/CUDArt/test/test.jl, in expression starting on line 175
while loading /home/rluser/.julia/v0.4/CUDArt/test/runtests.jl, in expression starting on line 2
====================================================[ ERROR: CUDArt ]=====================================================
failed process: Process(`/usr/bin/julia --check-bounds=yes --code-coverage=none --color=yes /home/rluser/.julia/v0.4/CUDArt/test/runtests.jl`, ProcessExited(1)) [1]
==========================================================================================================================
ERROR: CUDArt had test errors
in error at ./error.jl:21
in test at pkg/entry.jl:803
in anonymous at pkg/dir.jl:31
in cd at file.jl:22
in cd at pkg/dir.jl:31
in test at pkg.jl:71
from cudart.jl.
That failure is relevant only if (1) you have multiple CUDA devices on the same machine, and (2) want to use multiple julia workers to synchronize work among the devices. Unless both of those apply to you, you should be good to go.
(Fixes for the error would of course be gratefully accepted, but it's hard for me to debug since that test works for me.)
from cudart.jl.
Thank you.
from cudart.jl.
Related Issues (20)
- Tests fail on Windows with 0.6 HOT 1
- Info about upcoming removal of packages in the General registry
- Support for ptx modules with external functions HOT 2
- Does CUDArt support cuda 8.0? HOT 1
- triggering gc based on gpu memory
- CUDArt assumptions not robust
- Precompile Error HOT 1
- Intermittent GC-related test failure (`isempty(cuda_ptrs)`) HOT 2
- New tag HOT 2
- Updated build script for visual studio 17 but get compile errors HOT 2
- error could not load library "libnvidia-ml" HOT 4
- Makefile needs to select correct gcc compiler HOT 1
- Rename types to CuArray, CuMatrix and so forth for consistency with CUDAdrv?
- CUDArt should not rely on `nvidia-smi` or `nvml` on Mac OSX HOT 31
- CUDArt fails to build when no CUDA device is present
- gcc5.4.0 support HOT 1
- OOB during package build HOT 7
- No method matching reset(::Cudadrv.CuPrimaryContext) HOT 3
- GCC Version On CUDA 8.0 HOT 3
- Unified Memory support HOT 11
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 cudart.jl.