Page 1 of 2 12 LastLast
Results 1 to 25 of 43

Thread: ATI Stream SDK V2.0 | OpenCL Full CPU & GPU Support | Introduction

  1. #1
    Xtreme Enthusiast
    Join Date
    Dec 2008
    Location
    Austin, Texas
    Posts
    599

    ATI Stream SDK V2.0 | OpenCL Full CPU & GPU Support | Introduction

    The ATI Stream Team is proud to make available the fourth beta release of ATI Stream SDK v2.0 that provides the first complete OpenCL™ development platform. This release is certified fully compliant with OpenCL 1.0 by the Khronos Group and is supported on a wide range of AMD GPUs as well as any x86 multi-core CPU supporting SSE3. AMD offers the market both high-performance CPU and GPU technology, and as such we are delivering on this unique ability to provide an OpenCL platform that enables developers to create applications that run the way they were meant to be run, on all the available processors in the system! The beta is available for immediate download as part of our ATI Stream SDK beta program and we encourage you to take a look. For an introduction, see Simon Solotko on the impact of open, paralell computing.
    Dealing With Reality | The Introduction | ATI Stream Technology and OpenCL | Part 1 by Simon Solotko

    And for anyone who has writen in C or C++, I thought there was a gap between some of the deep dive technical material and the glossy material so I interviewed AMD's Ben Sander and we explain how OpenCL works and some of the basic development methodologies.
    Dealing With Reality | The Introduction | ATI Stream Technology and OpenCL | Part 2 by Simon Solotko

    Edit - Good discussion point that explains how some of this works:

    Quote Originally Posted by Solus Corvus View Post
    After looking at the documentation it seems that I was correct. You shouldn't have to recompile for other architectures because OpenCL enumerates and utilizes resources (GPU/CPU/Cell/Etc) at runtime. A compiled OpenCL Kernel should be able to run on either company's hardware. There is a way to include what they call Native Kernels in your program. They are hardware specific - but they also aren't standard and being able to execute native kernels apparently isn't even a requirement in the standard.
    Brace yourselves. The Kernel is not compiled until just prior to execution (hardware-specific native Kernels seem unlikely in practice since the whole idea is to be hardware independent but the HPC guys might do this) when it is directed to be built/compiled by the application. The compilation step is hardware dependent; if the application is executing on a platform with an x86 processor and an ATI GPU the Kernel will have either path available for compilation, potentially even determined at runtime! So if the GPU is busy, your applications could complile the Kernel for the CPU, execute it, and at a later time, compile it for the GPU, and execute it! You could hold an iner-application race, compiling separate instances for both, one for x86 and one for the GPU, and running them concurrently! I describe some of this in the interview: http://links.amd.com/openinterview
    Last edited by 64NOMIS; 10-13-2009 at 07:44 PM.

  2. #2
    Registered User
    Join Date
    Dec 2008
    Posts
    91
    So, opencl support only for radeon gpus with compute shaders, its 4 series and higher.

  3. #3
    I am Xtreme
    Join Date
    Dec 2008
    Location
    France
    Posts
    9,060
    But something made in OpenCL should still work with Geforce, right?
    Donate to XS forums
    Quote Originally Posted by jayhall0315 View Post
    If you are really extreme, you never let informed facts or the scientific method hold you back from your journey to the wrong answer.

  4. #4
    Xtreme Enthusiast
    Join Date
    Feb 2005
    Posts
    970
    You know, I just now realised the huge advantage AMD has here. When AMD says they are the only ones with both CPU and GPU, it's more than just marketing talk. Once DirectX11 and OpenCL release, AMD's platform releases with both, this should be the platform of choice for developers. Now that we have this announcement, all that is left is the Win7 launch I guess.
    Last edited by flippin_waffles; 10-13-2009 at 12:10 PM.

  5. #5
    Xtremely Kool
    Join Date
    Jul 2006
    Location
    UK
    Posts
    1,875
    "ATI Radeon HD 5700 Series" = ati2mtag_Evergreen, PCI\VEN_1002&DEV_68B8
    "ATI Radeon HD 5700 Series " = ati2mtag_Evergreen, PCI\VEN_1002&DEV_68B9
    "ATI Radeon HD 5700 Series " = ati2mtag_Evergreen, PCI\VEN_1002&DEV_68BE
    "ATI Radeon HD 5800 Series" = ati2mtag_Evergreen, PCI\VEN_1002&DEV_6898
    "ATI Radeon HD 5800 Series " = ati2mtag_Evergreen, PCI\VEN_1002&DEV_6899
    "ATI Radeon HD 5900 Series" = ati2mtag_Evergreen, PCI\VEN_1002&DEV_689C
    "ATI Radeon HD 5900 Series " = ati2mtag_Evergreen, PCI\VEN_1002&DEV_689D
    inf's

  6. #6
    Xtreme 3D Team
    Join Date
    Mar 2007
    Location
    Rio de Janeiro, Brazil
    Posts
    445
    Its very nice to be able to test CPU and GPU performance and check which one runs better for the specific code.
    [SIGPIC][/SIGPIC]

  7. #7
    I am Xtreme
    Join Date
    Dec 2007
    Posts
    7,750
    "ATI Radeon HD 5900 Series" = ati2mtag_Evergreen, PCI\VEN_1002&DEV_689C
    "ATI Radeon HD 5900 Series " = ati2mtag_Evergreen, PCI\VEN_1002&DEV_689D
    is there a 5900 being planned?

  8. #8
    Xtreme Enthusiast
    Join Date
    Dec 2008
    Location
    Austin, Texas
    Posts
    599
    Here is the link for the Stream SDK V2.0 - lots of info and the download.

    http://developer.amd.com/GPU/ATISTRE...s/default.aspx

  9. #9
    Xtreme Guru
    Join Date
    Aug 2007
    Posts
    3,562
    Quote Originally Posted by zalbard View Post
    But something made in OpenCL should still work with Geforce, right?
    Yes. That's the whole point of having an open platform.

  10. #10
    I am Xtreme
    Join Date
    Dec 2008
    Location
    France
    Posts
    9,060
    Quote Originally Posted by SKYMTL View Post
    Yes. That's the whole point of having an open platform.
    Just making sure that it is the case for this SDK in particular, you never know lol.
    Donate to XS forums
    Quote Originally Posted by jayhall0315 View Post
    If you are really extreme, you never let informed facts or the scientific method hold you back from your journey to the wrong answer.

  11. #11
    Xtreme Cruncher
    Join Date
    May 2009
    Location
    Bloomfield
    Posts
    1,968
    Quote Originally Posted by zalbard View Post
    But something made in OpenCL should still work with Geforce, right?
    you still have to port it. its not like you compile it twice and you are done. the question is "will it run well on both gpu's". opencl is a lot like cuda but a bit more abstract so it can be run on more architectures.

  12. #12
    Xtreme Addict
    Join Date
    Jul 2007
    Posts
    1,488
    About time ATI. Now let's see some OpenCL benchmark programs made.
    Quote Originally Posted by Chumbucket843 View Post
    you still have to port it. its not like you compile it twice and you are done. the question is "will it run well on both gpu's". opencl is a lot like cuda but a bit more abstract so it can be run on more architectures.
    Are you sure about this? If so it's the worst news I have heard in a while. I thought the whole point of OpenCL was that you would get a single binary compatible with multiple GPU architectures. If you have to port the code to each GPU and compile a new binary for each that would pretty much ruin it, imo. Now I'm going to have to go do some research to make sure that you are wrong, lol.

  13. #13
    Registered User
    Join Date
    Dec 2008
    Posts
    91
    Developers still can make opencl code nvidia-only or ati-only, for example, in SnowLeopard, some of demos from Apple and Nvidia runs on Radeons, some doesnt, because of errors.

    or can be blocked by vendor-id, just like in batman aa.

  14. #14
    Xtreme Addict
    Join Date
    Jul 2007
    Posts
    1,488
    I don't doubt that it has that capability. Any robust language/API should let you make exclusive cases like that, if you choose to do so.

    My problem would be if there isn't the ability for binary compatibility across multiple GPU architectures/vendors. If it HAS to be like: ATI exe, NV exe, larrabee exe, CPU exe, etc. Then half the point of OpenCL just failed before it even started.

  15. #15
    Registered User
    Join Date
    Dec 2008
    Posts
    91
    if opencl kernel code exists in source form in app- then it should be almost compatible, but if it exists in binary form for some specific target device, then, you know the answer.

  16. #16
    Xtreme Addict
    Join Date
    Jul 2007
    Posts
    1,488
    After looking at the documentation it seems that I was correct. You shouldn't have to recompile for other architectures because OpenCL enumerates and utilizes resources (GPU/CPU/Cell/Etc) at runtime. A compiled OpenCL Kernel should be able to run on either company's hardware. There is a way to include what they call Native Kernels in your program. They are hardware specific - but they also aren't standard and being able to execute native kernels apparently isn't even a requirement in the standard.

    Some information:
    http://www.khronos.org/registry/cl/s...ncl-1.0.43.pdf
    http://arstechnica.com/apple/reviews...-x-10-6.ars/15

  17. #17
    Xtreme Member
    Join Date
    Apr 2008
    Location
    Stockholm, Sweden
    Posts
    324
    Sigh... I just don't seem to have any talent in parallel/stream programing. Ive looked at Cuda, CTM, OpenCL and C-based hardware description languages such as Verilog, Mitrion C and Impulse C. Many claim they use ANSI C. But i just don't have any clue in any of their 'easiest' examples.

    Why aren't there never any 'Hello World' examples? Is it because i don't know C++ that i never understand anything?
    I do know a lot of C and Java.
    Last edited by Eson; 10-13-2009 at 02:07 PM.

  18. #18
    Xtreme Addict
    Join Date
    Jul 2007
    Posts
    1,488
    "Hello World" isn't very parallel.

  19. #19
    Xtreme Addict
    Join Date
    Aug 2005
    Location
    Germany
    Posts
    2,247
    Quote Originally Posted by Manicdan View Post
    is there a 5900 being planned?
    i'm wondering as well, as there wasn't a x900 before with the 3000 and 4000 series, only a 4890
    1. Asus P5Q-E / Intel Core 2 Quad Q9550 @~3612 MHz (8,5x425) / 2x2GB OCZ Platinum XTC (PC2-8000U, CL5) / EVGA GeForce GTX 570 / Crucial M4 128GB, WD Caviar Blue 640GB, WD Caviar SE16 320GB, WD Caviar SE 160GB / be quiet! Dark Power Pro P7 550W / Thermaltake Tsunami VA3000BWA / LG L227WT / Teufel Concept E Magnum 5.1 // SysProfile


    2. Asus A8N-SLI / AMD Athlon 64 4000+ @~2640 MHz (12x220) / 1024 MB Corsair CMX TwinX 3200C2, 2.5-3-3-6 1T / Club3D GeForce 7800GT @463/1120 MHz / Crucial M4 64GB, Hitachi Deskstar 40GB / be quiet! Blackline P5 470W

  20. #20
    Xtreme CCIE
    Join Date
    Dec 2004
    Location
    Atlanta, GA
    Posts
    3,842
    Quote Originally Posted by Eson View Post
    Sigh... I just don't seem to have any talent in parallel/stream programing. Ive looked at Cuda, CTM, OpenCL and C-based hardware description languages such as Verilog, Mitrion C and Impulse C. Many claim they use ANSI C. But i just don't have any clue in any of their 'easiest' examples.

    Why aren't there never any 'Hello World' examples? Is it because i don't know C++ that i never understand anything?
    I do know a lot of C and Java.
    Well... here's a hello world program for CUDA. Only issue is it's got to be 100+ lines long... not exactly what I would call intuitive.

    I can get around basically in C++, but I don't think I understand more than a few lines of that. Wish I did though, I always thought it would be fun to know how to use CUDA.
    Dual CCIE (Route\Switch and Security) at your disposal. Have a Cisco-related or other network question? My PM box is always open.

    Xtreme Network:
    - Cisco 3560X-24P PoE Switch
    - Cisco ASA 5505 Firewall
    - Cisco 4402 Wireless LAN Controller
    - Cisco 3502i Access Point

  21. #21
    Xtreme Member
    Join Date
    Apr 2008
    Location
    Stockholm, Sweden
    Posts
    324
    OK now im crying. Did they make a multithreaded 'Hello World' or is all that just to get a 'Hello World' printed out on the screen?

  22. #22
    Xtreme Addict
    Join Date
    Jul 2007
    Posts
    1,488
    That's not too bad. Most of that's just setup, the actual kernel isn't very big.

  23. #23
    Xtreme Addict
    Join Date
    Oct 2006
    Posts
    2,141
    Quote Originally Posted by Solus Corvus View Post
    "Hello World" isn't very parallel.
    Ah but wouldnt it be fun to see just how fast you could process that command with 8 cores or more
    Rig 1:
    ASUS P8Z77-V
    Intel i5 3570K @ 4.75GHz
    16GB of Team Xtreme DDR-2666 RAM (11-13-13-35-2T)
    Nvidia GTX 670 4GB SLI

    Rig 2:
    Asus Sabertooth 990FX
    AMD FX-8350 @ 5.6GHz
    16GB of Mushkin DDR-1866 RAM (8-9-8-26-1T)
    AMD 6950 with 6970 bios flash

    Yamakasi Catleap 2B overclocked to 120Hz refresh rate
    Audio-GD FUN DAC unit w/ AD797BRZ opamps
    Sennheiser PC350 headset w/ hero mod

  24. #24
    Xtreme Enthusiast
    Join Date
    Jan 2008
    Posts
    637
    No HD3000 series support?

    Why is that? they support Compute Shaders, just like the HD4000 series cards...

  25. #25
    Xtreme Addict
    Join Date
    Jul 2007
    Posts
    1,488
    Also from the links provided so far: http://developer.amd.com/gpu/ATIStre...ialOpenCL.aspx

Page 1 of 2 12 LastLast

Tags for this Thread

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •