Coder Social home page Coder Social logo

Comments (13)

timholy avatar timholy commented on July 20, 2024

Pkg.build("CUDArt")? Any error messages that it emits?

from cudart.jl.

timholy avatar timholy commented on July 20, 2024

It's very strange that it seems to be there. I wonder if the file is corrupted or something.

from cudart.jl.

AStupidBear avatar AStupidBear commented on July 20, 2024

No error message.Sent from my Huawei Mobile

from cudart.jl.

timholy avatar timholy commented on July 20, 2024

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.

Roger-luo avatar Roger-luo commented on July 20, 2024

I got this problem and solved it by simply re-install the package... @AStupidBear

from cudart.jl.

AStupidBear avatar AStupidBear commented on July 20, 2024
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.

AStupidBear avatar AStupidBear commented on July 20, 2024
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.

AStupidBear avatar AStupidBear commented on July 20, 2024
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.

AStupidBear avatar AStupidBear commented on July 20, 2024
julia> Pkg.build("CUDArt")
INFO: Building CUDArt
make: Nothing to be done for `all'.
make: Nothing to be done for `all'.

from cudart.jl.

timholy avatar timholy commented on July 20, 2024

What if you go into the deps directory and touch wrapcuda.c; make?

from cudart.jl.

AStupidBear avatar AStupidBear commented on July 20, 2024

@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.

timholy avatar timholy commented on July 20, 2024

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.

AStupidBear avatar AStupidBear commented on July 20, 2024

Thank you.

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