No announcement yet.

OpenCL + r600g : Segmentation Fault!

  • Filter
  • Time
  • Show
Clear All
new posts

  • OpenCL + r600g : Segmentation Fault!

    I am using OpenSUSE 12.3 x86_64 with ATI 6850HD.

    I just experiment OpenCL but I cannot make it with open source tools.

    Using mesa-trunk with ./configure --with-gallium-drivers=r600 --prefix=/usr --libdir=/usr/lib64 --enable-{vdpau,texture-float} --with-dri-drivers="" --enable-{gallium-llvm,r600-llvm-compiler,opencl} --enable-glx-tls --enable-shared-{glapi,dricore}
    And compiled llvm, clang with : ./configure --libdir=/usr/lib64 --prefix=/usr --enable-{optimized,pic,shared} --disable-{assertions,docs,timestamps} --enable-targets="x86_64" --enable-experimental-targets="R600"
    (for llvm compilation, used

    but every utility that I tried, gives a segmentation error to me :-/

    [ 3453.462803] python[7401]: segfault at 60 ip 00007f55c16292c0 sp 00007fff191b9138 error 4 in[7f55c14c0000+299000]
    [ 3465.707476] pyrit[7529]: segfault at 0 ip 00007f53614fb7cb sp 00007f535f2bc5c0 error 6 in[7f5360eb1000+1004000]
    [ 3674.192257] cgminer[8773]: segfault at 20 ip 00007f2b65088710 sp 00007fffc1f24908 error 4 in[7f2b648af000+1004000]

    Does any one know / guess where I make the mistake?
    Last edited by Death Knight; 30 April 2013, 09:03 PM.

  • #2
    This output might give a hint...

    > pyrit benchmark
    Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg
    This code is distributed under the GNU General Public License v3+
    Calibrating... 0x7faf109a72e0: i32 = GlobalAddress<i32 (i32, i32, i32)* @llvm.AMDGPU.bit.extract.u32.> 0
    Undefined function
    UNREACHABLE executed at /run/media/death/OldRoot/temp/llvm/lib/Target/R600/AMDGPUISelLowering.h:56!
    Stack dump:
    0.	Running pass 'Function Pass Manager' on module 'radeon'.
    1.	Running pass 'AMDGPU DAG->DAG Pattern Instruction Selection' on function '@sha1_process'
    Does my gpu not support open source OpenCL, yet?


    • #3
      Make sure you build llvm first and build mesa against the new llvm. You chips is supported.


      • #4
        Hi! Thanks for answer. But...

        I am %100 percent sure that I compiled LLVM before mesa.
        Also I am using latest 3.9 kernel, but 3.8.9 is same...

        Now I tried again.

        Updated to revision 180878.

        <llvm-build-dir> ../llvm/configure --libdir=/usr/lib64 --prefix=/usr --enable-{optimized,pic,shared,assertions} --disable-{docs,timestamps} --enable-targets="x86_64" --enable-experimental-targets="R600"
        and installed.

        Also made "git pull" from xf86-video-ati and drm git repos

        <mesa-dir>git clean -dfx
        <mesa-dir>git pull
        <mesa-dir>./configure --with-gallium-drivers=r600 --prefix=/usr --libdir=/usr/lib64 --enable-{vdpau,texture-float} --with-dri-drivers="" --enable-{gallium-llvm,r600-llvm-compiler,opencl} --enable-glx-tls --enable-shared-{glapi,dricore}

        and installed.

        Result: Same!
        I don't know where is the problem.

        Also with "cgminer --benchmark" I got,

        [2013-05-02 02:01:32] Started cgminer 2.11.4Segmentation fault

        dmesg says that:
        [ 213.683079] cgminer[3553]: segfault at 20 ip 00007f87c4f743f0 sp 00007fff9c6af2d8 error 4 in[7f87c47c7000+10a4000]

        I tried with python;
        >>>import opencl
        >>> opencl.test()
        [<opencl.Device name='AMD BARTS' type=4L>]
        test_broadcast_0D (test.test_memobj.TestBuffer) ... ok
        test_broadcast_2D (test.test_memobj.TestBuffer) ... ok
        test_copy_1D (test.test_memobj.TestBuffer) ... FAIL
        test_copy_2D (test.test_memobj.TestBuffer) ... FAIL
        test_copy_2D_negative_stride (test.test_memobj.TestBuffer) ... expected failure
        test_copy_contig (test.test_memobj.TestBuffer) ... Segmentation fault

        dmesg says that: [ 313.634980] python[3984]: segfault at 60 ip 00007f8f69efb2d0 sp 00007fff723b6868 error 4 in[7f8f69d92000+299000]

        I really feel uncomfortable with this situation.
        Don't know what the issue is.
        Last edited by Death Knight; 01 May 2013, 07:11 PM.


        • #5
          I think this is LLVM error, does it?
          I don't know where to report this issue.
          LLVM? Mesa?

          Also not have any information about how could I collect more information about this segmentation faults...


          • #6
            You can open an r600 gallium bug:


            • #7
              As you requested.