Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 304903 - new ebuild for ati-stream-sdk-2.3
Summary: new ebuild for ati-stream-sdk-2.3
Status: RESOLVED DUPLICATE of bug 257626
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: Dane Smith (RETIRED)
URL: http://developer.amd.com/GPU/ATISTREA...
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2010-02-13 17:04 UTC by Olaf Leidinger
Modified: 2011-08-02 17:21 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
the actual ebuild (ati-stream-sdk-bin-2.01.ebuild,1.96 KB, text/plain)
2010-02-13 17:06 UTC, Olaf Leidinger
Details
new ebuild for version 2.2 (ati-stream-sdk-bin-2.2.ebuild,2.49 KB, text/plain)
2010-08-24 20:40 UTC, Olaf Leidinger
Details
fixed ebuild (ati-stream-sdk-bin-2.2.ebuild,2.33 KB, text/plain)
2010-10-06 15:44 UTC, J. M. Gottfried
Details
reworked ebuild (ati-stream-sdk-bin-2.2-r1.ebuild,3.55 KB, text/plain)
2010-10-08 13:38 UTC, J. M. Gottfried
Details
Ebuild version bump to AMD APP SDK 2.4 (amd-app-sdk-bin-2.4.ebuild,1.78 KB, text/plain)
2011-05-08 05:04 UTC, BigPapaSmurf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Olaf Leidinger 2010-02-13 17:04:45 UTC
This is a proposal including a first attempt for a new ebuild for ATI/AMD's stream-sdk. 

The packaging changed, therefor the old one from rion overlay doesn't work anymore.

Proposed package name: dev-util/ati-stream-sdk-bin-2.01.ebuild

Reproducible: Always

Steps to Reproduce:
Comment 1 Olaf Leidinger 2010-02-13 17:06:05 UTC
Created attachment 219465 [details]
the actual ebuild
Comment 2 Michael Zanetta 2010-02-28 12:22:37 UTC
Hi,

In fact, the original one was taken from our repo. I just added yours[1]. You can layman -a pentoo.

Thx for this ebuild!

[1] http://trac.pentoo.ch/changeset/1439
Comment 3 Lukasz Ligowski 2010-05-04 17:40:20 UTC
Two remarks:

1. it doesnt need ati-drivers as dependency you can use it without a GPU on any CPU that supports SSE3
2. libOpenCL.so will conflict with nvidia-drivers, nvidia-drivers provides libOpenCL.so too
Comment 4 Olaf Leidinger 2010-08-24 20:40:37 UTC
Created attachment 244461 [details]
new ebuild for version 2.2

New ebuild for new version. The location of some files changed, dependency on ati-drivers removed, as this SDK also works on CPU.
Comment 5 Marcus Bannerman 2010-08-27 17:51:07 UTC
Installed this ebuild on my ATI 5870 and everything works as expected. Thanks!
Would love to see this ebuild make it into sunrise at least.
Comment 6 Kamil Kisiel 2010-09-02 17:49:36 UTC
(In reply to comment #3)
> Two remarks:
> 
> 1. it doesnt need ati-drivers as dependency you can use it without a GPU on any
> CPU that supports SSE3
> 2. libOpenCL.so will conflict with nvidia-drivers, nvidia-drivers provides
> libOpenCL.so too
> 

Maybe this could be fixed by not creating the symlinks in to /usr/lib but setting up LD_LIBRARY_PATH through a file in /etc/env.d ?
Comment 7 Marcus Bannerman 2010-09-02 18:34:22 UTC
(In reply to comment #6)
> (In reply to comment #3)
> > Two remarks:
> > 
> > 1. it doesnt need ati-drivers as dependency you can use it without a GPU on any
> > CPU that supports SSE3
> > 2. libOpenCL.so will conflict with nvidia-drivers, nvidia-drivers provides
> > libOpenCL.so too
> > 
> 
> Maybe this could be fixed by not creating the symlinks in to /usr/lib but
> setting up LD_LIBRARY_PATH through a file in /etc/env.d ?
> 

Two more comments to the comment. First, SDK 2.2 actually supports SSE2+, sorry for being a pedant.

Second,the libOpenCL conflict can be fixed in an easier way. Thanks to the ICD extension supported by NVidia and AMD, either implementation of libOpenCL is sufficient. Just have ati-stream-sdk and nvidia-drivers add a link to libopencl if no such link already exists. A correct setup of the ICD extension (/etc/OpenCL) is a requirement of both libraries anyhow.
Comment 8 Lukasz Ligowski 2010-09-03 10:48:42 UTC
(In reply to comment #7)
>
> Two more comments to the comment. First, SDK 2.2 actually supports SSE2+, sorry
> for being a pedant.

If you we're actually a pedant you'd check that this comment refers to earlier version of SDK which does not support SSE2 ;)
 
> Second,the libOpenCL conflict can be fixed in an easier way. Thanks to the ICD
> extension supported by NVidia and AMD, either implementation of libOpenCL is
> sufficient. Just have ati-stream-sdk and nvidia-drivers add a link to libopencl
> if no such link already exists. A correct setup of the ICD extension
> (/etc/OpenCL) is a requirement of both libraries anyhow.

I need to check that again. In theory you're right but my programs didnt work when linked against nvidia's libOpenCL (I've got /etc/OpenCL properly configured).
Comment 9 Marcus Bannerman 2010-09-03 12:17:14 UTC
> If you we're actually a pedant you'd check that this comment refers to earlier
> version of SDK which does not support SSE2 ;)
Damn! My pedantry is weak, the response to the comment was after the SDK came out, but not the original post, I bow to your superior pedantry. 

> I need to check that again. In theory you're right but my programs didnt work
> when linked against nvidia's libOpenCL (I've got /etc/OpenCL properly
> configured).

Speaking from my own experience, it works fine. I'm actually developing a OpenCL-GL render engine and simulator for both platforms at once. I installed ati-stream-sdk after the nvidia drivers, and just deleted the libOpenCL.so to get them to install. I've also reinstalled the nvidia-drivers since then, again just deleting the libOpenCL.so to get them to reinstall. At first AMD's library was more reliable but nowadays they're both stable, at least in this respect.
Comment 10 J. M. Gottfried 2010-10-06 15:44:48 UTC
Created attachment 249760 [details]
fixed ebuild

To be able to compile the example codes some make include files (e.g. openclskdfefs.mk and openclsdkrules.mk) were missing. Therefore it is necessary to install the "make" subfolder too (if example use flag is enabled). A fixed ebuild is attached.
Comment 11 J. M. Gottfried 2010-10-08 13:38:06 UTC
Created attachment 249938 [details]
reworked ebuild

Reworked the ebuild:
OpenCL (include/CL) and cal header are now installed into /usr/include;
libOpenCL and libatiocl are installed into /usr/lib(32/64)
examples and docs are installed into /usr/share/doc/${PF}
/opt/${PF} is kept since the original file structure and shipped versions of glut/GLEW are expected by the kernel compiler/loader but the files installed into /usr subfolders are replaced by symlinks

This should simplify working with OpenCL since no extra include or linker paths have to be specified. amd64 and multilib use flags are now respected (should install only 64bit versions if no-multilib amd64 arch)

Further testing and experiences are welcome
Comment 12 Michael Zanetta 2010-10-08 23:53:32 UTC
Hi,

I figured I'd step in the discussion as I'm doing regular usage of both ati stream and nvidia cuda.
I prefered the old ebuilds, as the one you did will block cuda sdk, and will block on nv libOpenCL.so too.
Also since it's full of bins, it should clearly go in /opt/* IMHO.
I made an eselect-opencl ebuild [1], along with an ati-stream ebuild [2] in the pentoo overlay. This way we can have both nv and ati sdks on the same system, and select which one we want for some opencl fun, much like the eselect opengl stuff.

Still the multilib stuff needs fixing in my ebuild, but that should be now fairly easy based on your work :-)

[1] http://trac.pentoo.ch/browser/portage/trunk/app-admin/eselect-opencl
[2] http://trac.pentoo.ch/browser/portage/trunk/dev-util/ati-stream-sdk-bin
Comment 13 Luke-Jr 2011-01-31 00:44:05 UTC
FYI: While it might theoretically be possible to use this SDK with nVidia cards, the license only allows usage with ATi/AMD hardware.

Since AMD has renamed it to "AMD APP SDK", I would suggest ebuilds all be moved to amd-app-sdk-bin-*.

Finally, version 2.1 should ideally be added to the tree also, since 2.2+ are broken for multi-GPU, and in general slower than 2.1 on the 5xxx models.
Comment 14 Luke-Jr 2011-02-03 04:18:44 UTC
pentoo's eselect-opencl doesn't do the header symlinks...
Comment 15 Dane Smith (RETIRED) gentoo-dev 2011-02-10 15:04:09 UTC
I'm going to start the process of getting this into portage. The multilib foo in the current ebuilds need a bit of cleaning, as do a few other things. When I have a semi-workable ebuild, it will show up in my dev overlay ('c1pher'). I will likely move it into portage soon after that.

@spock We should probably coordinate a bit with this as far as the potential use of eselect opencl (or however else we decide to handle the potential library collisions. I haven't dug into it enough just yet to know for sure =P)

Thanks to everyone who got this ball rolling. It is making my job a lot easier!
Comment 16 Luke-Jr 2011-02-10 15:19:57 UTC
Please be sure to add 2.1 also; there are major problems with 2.2 and 2.3:
- With 2.3, performance drops by 5-10% over 2.2 and older
- With both 2.2 and 2.3, OpenCL applications (and X server?) use 100% CPU (should be near 0% like with 2.1)

Renaming the pentoo overlay's 2.2 ebuild to 2.1, and making the missing /usr/include/CL symlink works.
Comment 17 Dane Smith (RETIRED) gentoo-dev 2011-02-24 19:26:29 UTC
As of today ati-stream-drivers-2.3 and ati-stream-drivers-2.1 are both in my dev overlay ('c1pher') in what I believe to be a more or less working state. It would be very beneficial for people to quickly check out that overlay and test some of their code etc with my versions of the ebuilds so that I can work out any kinks before moving this to portage.

Some notes:
Currently, I have this blocking nvidia-cuda-*. I hope to resolve this soon in the future.

If all goes well, I aim to have them hit portage this time next week.
Comment 18 Luke-Jr 2011-02-24 19:37:36 UTC
Comments on c1pher's ebuilds:
- Why are these fetch restricted?
- Shouldn't the package be named ati-stream-sdk-bin?
- No support for eselect?
Comment 19 Marcus Bannerman 2011-02-25 06:31:37 UTC
I tried to use your overlay c1pher, but it blocks on nvidia-cuda-sdk which I need as well. I second the use of an eselect mechanism, or if that's not possible can you not use use-flags to enable installing the headers and symbolic link to the library? Perhaps only these use flags would block on nvidia-cuda-sdk?
Comment 20 Michael Zanetta 2011-02-25 08:33:26 UTC
(In reply to comment #18)
> Comments on c1pher's ebuilds:
> - Why are these fetch restricted?
> - Shouldn't the package be named ati-stream-sdk-bin?
> - No support for eselect?
> 

Agreed, why don't you just take my crappy eselect-opencl [1] and do the needed corrections if any?
Also most atiocl projects checks for a ATISTREAMSDKROOT env var to find the common makefiles and will fail miserably.

[1]http://trac.pentoo.ch/browser/portage/trunk/app-admin/eselect-opencl
Comment 21 Nikolay Antonov 2011-04-29 13:24:22 UTC
AMD APP SDK 2.4 released.
Have anyone ebuild?
Comment 22 BigPapaSmurf 2011-05-08 05:04:36 UTC
Created attachment 272449 [details]
Ebuild version bump to AMD APP SDK 2.4

I've uploaded a rough and dirty ebuild that supports AMD APP SDK 2.4.  It's just a modified version of the ebuild for ATI Stream SDK 2.3 from the pentoo overlay.

The ebuild has been renamed to "dev-util/amd-app-sdk-bin" and the installation folder now defaults to /opt/amd-app-sdk.  It installs perfectly on my 64-bit system, but I believe it needs to be modified to support 32-bit platforms.  Also, for some reason it failed to create symlinks for the libOpenCL.so file.  If you get errors about OpenCL programs unable to find libOpenCL.so, simply create a symlink from /opt/amd-app-sdk/lib/x86_64/libOpenCL.so to /usr/lib64/libOpenCL.so.  Do the same from /opt/amd-app-sdk/lib/x86_64/libOpenCL.so.1 to /usr/lib64/libOpenCL.so.1
Comment 23 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-06-13 08:57:48 UTC
Please continue in the pending bug. For eselect-opencl, open a separate bug.

*** This bug has been marked as a duplicate of bug 257626 ***
Comment 24 step 2011-07-05 17:40:13 UTC
(In reply to comment #22)
> Created attachment 272449 [details]
> Ebuild version bump to AMD APP SDK 2.4
> 
> I've uploaded a rough and dirty ebuild that supports AMD APP SDK 2.4.  It's
> just a modified version of the ebuild for ATI Stream SDK 2.3 from the pentoo
> overlay.
> 
> The ebuild has been renamed to "dev-util/amd-app-sdk-bin" and the installation
> folder now defaults to /opt/amd-app-sdk.  It installs perfectly on my 64-bit
> system, but I believe it needs to be modified to support 32-bit platforms. 
> Also, for some reason it failed to create symlinks for the libOpenCL.so file. 
> If you get errors about OpenCL programs unable to find libOpenCL.so, simply
> create a symlink from /opt/amd-app-sdk/lib/x86_64/libOpenCL.so to
> /usr/lib64/libOpenCL.so.  Do the same from
> /opt/amd-app-sdk/lib/x86_64/libOpenCL.so.1 to /usr/lib64/libOpenCL.so.1


Why is it only has KEYWORDS="amd64"
Comment 25 step 2011-07-23 08:39:08 UTC
Can someone please make a ebuild for 32-bit platforms. 

Thank you.
Comment 26 Nicolas Bigaouette 2011-08-02 17:21:35 UTC
I wrote an ebuild for 2.3 adapted from an ArchLinux's PKGBUILD, then bumped it to 2.4. I think its a lot uglier then the attachment 272449 [details].

Also, see https://forums.gentoo.org/viewtopic-p-6772852.html and https://bugs.gentoo.org/show_bug.cgi?id=372847 for an eselect module.