Announcement

Collapse
No announcement yet.

Beignet: OpenCL/GPGPU Comes For Ivy Bridge On Linux

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phoronix
    started a topic Beignet: OpenCL/GPGPU Comes For Ivy Bridge On Linux

    Beignet: OpenCL/GPGPU Comes For Ivy Bridge On Linux

    Phoronix: Beignet: OpenCL/GPGPU Comes For Ivy Bridge On Linux

    For the open-source Radeon and Nouveau graphics drivers on Linux, OpenCL/GPGPU support has been implemented via the "Clover" OpenCL state tracker with the Radeon/Nouveau drivers built atop the Gallium3D driver architecture. While Intel's latest hardware supports OpenCL with its graphics core, their open-source Linux driver has lacked any support, but that is changing...

    http://www.phoronix.com/vr.php?view=MTI3MTU

  • nadrimajstor
    replied
    Did I just hear: Ivy Bridge bitcoin miner?

    Leave a comment:


  • gongzg
    replied
    Originally posted by bouliiii View Post
    This sounds really good. Note that there is a Makefile build system that does not require to have CMake files (one way to have Cmake files for LLVM is to compile LLVM with CMake :-)). As for further development, the best you can do is to contact Keith (Packard) to ask what they have in mind. I left Intel two months ago so I am not fully up-to-date about they are doing and what they want to do. As for technical questions, I can obviously answer. Use my personal email.

    Note that it was a *spare time* project of me at Intel. I never was in OTC (open source group) (I was in the GPU architecture team). So, at the time I was at Intel, nobody inside OTC worked on it. Just me and Keith who helped me to make the code base more presentable and easier to build :-)

    Cheers,
    Ben
    Ben,

    We have a small team in China OTC Graphics department, already have been working on the project created by you. Our progress are as below:
    0. Fix the cmake problem. Now cmake works fine.
    1. Added image support.
    2. Added OCL-OGL interoperation which is cl_khr_gl_sharing extension.
    3. Added barrier support...
    4..

    And some other new features to comply with the OCL spec. Although it's still not fully comply with the spec. I will push our work to the fdo's beignet tree soon and maybe I will create a new branch.

    Cheers,
    Zhigang Gong

    Leave a comment:


  • s_j_newbury
    replied
    Originally posted by karolherbst View Post
    Yeah I thought that too, but didn't want to do it. But now I should I think.



    Thanks for this advice
    For Gentoo I've modified my local live LLVM ebuild to install the LLVM cmake files, along with a FindLLVM.cmake I hacked together to provide the needed env vars.

    I've also created a live beignet ebuild, pulling in the source from karolhebst's changes branch along with a few patches of my own to make it build.

    If anybody is interested I'll create an overlay on github.

    Next, I'm planning on making it compatible with the other OpenCL implementations if you don't beat me to it. Right now I'm waiting for my new shiny i7 3840QM based (Ivy Bridge) laptop!

    Leave a comment:


  • karolherbst
    replied
    Originally posted by bouliiii View Post
    one way to have Cmake files for LLVM is to compile LLVM with CMake :-)
    Yeah I thought that too, but didn't want to do it. But now I should I think.

    Originally posted by bouliiii View Post
    As for further development, the best you can do is to contact Keith (Packard) to ask what they have in mind.
    Thanks for this advice

    Leave a comment:


  • bouliiii
    replied
    Originally posted by karolherbst View Post
    Hello bouliiii,

    I created a Fork of beignet on github: https://github.com/karolherbst/beignet/tree/changes

    my goal is it to make beignet full ICD compatible (what means to implement parts of cl_khr_icd extension). I think this would be a very good thing, because beignet could be then loaded and used by third party implementation. In the current state it is a bit useless, because I can't use the intel HD4000 with other system devices for computing (ivb i7 + nvidia gpu).

    But most of the changes are stored locally, because I can't find llvm with cmake (I don't have the llvm cmake files) and put nearly everything into cl_api.c

    But are there any other efforts to have an OpenCL implementation for intel GPUs on Linux?
    This sounds really good. Note that there is a Makefile build system that does not require to have CMake files (one way to have Cmake files for LLVM is to compile LLVM with CMake :-)). As for further development, the best you can do is to contact Keith (Packard) to ask what they have in mind. I left Intel two months ago so I am not fully up-to-date about they are doing and what they want to do. As for technical questions, I can obviously answer. Use my personal email.

    Note that it was a *spare time* project of me at Intel. I never was in OTC (open source group) (I was in the GPU architecture team). So, at the time I was at Intel, nobody inside OTC worked on it. Just me and Keith who helped me to make the code base more presentable and easier to build :-)

    Cheers,
    Ben

    Leave a comment:


  • karolherbst
    replied
    Hello bouliiii,

    I created a Fork of beignet on github: https://github.com/karolherbst/beignet/tree/changes

    my goal is it to make beignet full ICD compatible (what means to implement parts of cl_khr_icd extension). I think this would be a very good thing, because beignet could be then loaded and used by third party implementation. In the current state it is a bit useless, because I can't use the intel HD4000 with other system devices for computing (ivb i7 + nvidia gpu).

    But most of the changes are stored locally, because I can't find llvm with cmake (I don't have the llvm cmake files) and put nearly everything into cl_api.c

    But are there any other efforts to have an OpenCL implementation for intel GPUs on Linux?

    Leave a comment:


  • bouliiii
    replied
    Hello,
    I am the one who used to work on this code. Unfortunately, I am working for Intel anymore. I am not sure what the future will be for this code base. More info here:


    http://bouliiii.blogspot.co.uk/2013/...ivybridge.html


    This code base only uses documented parts of the chip so I guess that anybody motivated to play with it should be able to do so :-)

    About SandyBridge, the two architectures are pretty different and it will require a large amount of work to make it run on this machine. If you read both specs (both online), you will see that a substantial amount of features have been added to IVB to make it a DX11 chip.

    Cheers,
    Ben

    Leave a comment:


  • smitty3268
    replied
    Originally posted by Raven3x7 View Post
    So why doesn't this work with Sandy parts? Afaik the GPU architectures are quite similar, if not identical
    No, they aren't. Ivy was the first hardware from Intel able to support OpenCL fully - i think it was the same hardware limitation AMD had in the HD4000 series, but don't hold me to that.

    Leave a comment:


  • Raven3x7
    replied
    So why doesn't this work with Sandy parts? Afaik the GPU architectures are quite similar, if not identical

    Leave a comment:

Working...
X