Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 392179 - virtual/opencl new ebuild for OpenCL providers (nvidia/ati/etc...)
Summary: virtual/opencl new ebuild for OpenCL providers (nvidia/ati/etc...)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on: 257626
Blocks: opencl-tracker
  Show dependency tree
 
Reported: 2011-11-27 11:00 UTC by Michal Pytasz
Modified: 2012-02-10 20:24 UTC (History)
7 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michal Pytasz 2011-11-27 11:00:18 UTC
Well, I suppose nvidia is not only provider for opencl (ati/amd) is there really the need for hard dependency on nvidia on non-nvidia platform? is there a way to use opencl on AMD Llano in this case (ati drivers do have opencl use flag...)

Reproducible: Always

Steps to Reproduce:
1. USE +opencl on amd - only system with ati-drivers
2. emerge -avuD --newuse world

Actual Results:  
dependency conflict ati/nvidia drivers

Expected Results:  
no need cor nvidia drivers

# emerge --info
Portage 2.1.10.11 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.12.2-r0, 3.1.2-gentoo-k10gentoo x86_64)
=================================================================
System uname: Linux-3.1.2-gentoo-k10gentoo-x86_64-AMD_A6-3410MX_APU_with_Radeon-tm-_HD_Graphics-with-gentoo-2.0.3
Timestamp of tree: Sun, 27 Nov 2011 08:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.1.4-r3
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo moonrise science java-overlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA skype-eula dlj-1.1 cadsoft PUEL AdobeFlash-10.1 Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -mtune=amdfam10 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=amdfam10 -mtune=amdfam10 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distcc distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl"                                                                                                                                                                                                            
MAKEOPTS="-j16"                                                                                                                                                                                                         
PKGDIR="/usr/portage/packages"                                                                                                                                                                                          
PORTAGE_CONFIGROOT="/"                                                                                                                                                                                                  
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"                          
PORTAGE_TMPDIR="/var/tmp"                                                                                                                                                                                               
PORTDIR="/usr/portage"                                                                                                                                                                                                  
PORTDIR_OVERLAY="/var/lib/layman/moonrise /var/lib/layman/science /var/lib/layman/java-overlay"                                                                                                                         
SYNC="rsync://rsync.gentoo.org/gentoo-portage"                                                                                                                                                                          
USE="3dnow 3dnowext X a52 aac accessibility acl acpi akonadi alsa amd64 aspell avi berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative device-mapper dhcpcd disk-partition dri dts dv dvd dvdr dvdread eap-sim emboss encode exif extras fam fat ffmpeg firefox flac foomaticdb fortran fuse gadu gdbm gdu gif gmp gnutls gpm gtk2 iconv icu imagemagick ipv6 irc jack java java6 javacomm jpeg jpeg2k kde kde4 kdehiddenvisibility kipi laptop lcms ldap libnotify libv4l libv4l2 lm_sensors logitech-mouse logrotate mad madwifi melt mikmod mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib mysql ncurses nforce2 nls nptl nptlonly nsplugin ntfs ogg opencl openexr opengl openmp oss pam pango pcre pdf phonon plasma pmu png policykit postgres ppds pppd qt qt3support qt4 rdesktop rdp readline samba sdl secure-delete semantic-desktop session smp sms sndfile spell sql sse sse2 sse3 ssl ssse3 startup-notification subtitles svg sysfs tcl tcpd theora threads tiff timidity tk trascode truetype udev unicode usb v4l2 vcd vdpau vlc vorbis webkit wicd wifi wmf x264 xcb xcomposite xfs xinerama xml xorg xscreensaver xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="canon lg_gsm ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FOO2ZJS_DEVICES="sa315" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fglrx radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 SpanKY gentoo-dev 2011-12-20 19:32:49 UTC
the virtual is only half the problem.  we have blockers atm between these packages.  we'll need an eselect module to handle swapping out implementations, or perhaps integrating opencl with opengl.

i've started an virtual/opencl ebuild so people will stop wasting random maintainers times (like imagemagick/wine):
http://sources.gentoo.org/virtual/opencl/opencl-0.ebuild?rev=1.1
Comment 2 emil karlson 2011-12-20 21:09:06 UTC
Note that amd implementation still requires headers for compile time deps AFAIK (eg. AMD-app-sdk https://bugs.gentoo.org/show_bug.cgi?id=257626 - maintainer wanted )
Comment 3 SpanKY gentoo-dev 2011-12-20 22:09:01 UTC
thanks for the heads up.  i've dropped ati then for now.

http://sources.gentoo.org/virtual/opencl/opencl-0.ebuild?r1=1.1&r2=1.2
Comment 4 Beau V.C. Bellamy 2012-02-04 10:40:58 UTC
The headers are standardized and can be pulled from (http://www.khronos.org/registry/cl/).  It may be a good idea to package them separately rather than depend on the vendors to provide them.  Maybe even mask the vendor's versions to resolve potential conflicts.

Also, slightly related.  The opencl use flag is (erroneously?) masked on the hardened profile. I'm attempting to setup an automated scientific computing system on a hardened server.  I use both the CPU and GPU (AMD) opencl profiles for processing.
Comment 5 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-02-04 12:13:27 UTC
(In reply to comment #4)
> The headers are standardized and can be pulled from
> (http://www.khronos.org/registry/cl/).  It may be a good idea to package them
> separately rather than depend on the vendors to provide them.  Maybe even mask
> the vendor's versions to resolve potential conflicts.

I've just made several commits that take that into account, see app-admin/eselect-opencl :)

> Also, slightly related.  The opencl use flag is (erroneously?) masked on the
> hardened profile. I'm attempting to setup an automated scientific computing
> system on a hardened server.  I use both the CPU and GPU (AMD) opencl profiles
> for processing.

Yeah, that actually stopped me from committing updated version of virtual/opencl I've contacted hardened team so they could look into any issues.
Comment 6 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-02-04 12:39:10 UTC
*opencl-0-r1 (04 Feb 2012)

  04 Feb 2012; Kacper Kowalik <xarthisius@gentoo.org> +opencl-0-r1.ebuild,
  metadata.xml:
  Utilize new app-admin/eselect-opencl and the fact that we now have 3 viable
  providers, use flags are no longer mutually exclusive
Comment 7 jospezial 2012-02-07 12:26:25 UTC
Thank you for your work...
But now there is no dependency anymore to cuda-toolkit on nvidia systems.
So a depclean removed it and now wine says when emerging:

configure: error: OpenCL development files not found, OpenCL won't be supported.

Perhaps nvidia-drivers should depend on cuda-toolkit when opencl USE flag is set?
But ati-drivers doesn't have that USE flag too.

I see this bug is set to resolved fixed. Should I file this as a new bug?
Comment 8 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-02-07 15:46:06 UTC
(In reply to comment #7)
> Thank you for your work...
> But now there is no dependency anymore to cuda-toolkit on nvidia systems.
That's intended, x11-drivers/nvidia-drivers are enough to get working OpenCL.
> So a depclean removed it and now wine says when emerging:
> 
> configure: error: OpenCL development files not found, OpenCL won't be
> supported.
> 
> Perhaps nvidia-drivers should depend on cuda-toolkit when opencl USE flag is
> set?
> But ati-drivers doesn't have that USE flag too.
> 
> I see this bug is set to resolved fixed. Should I file this as a new bug?

I guess you've been hit by a bug 402407. Try running: eselect opencl set nvidia, latest version of ebuild already has it. Mea culpa...
Comment 9 jospezial 2012-02-10 20:24:05 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > Thank you for your work...
> > But now there is no dependency anymore to cuda-toolkit on nvidia systems.
> That's intended, x11-drivers/nvidia-drivers are enough to get working OpenCL.
> > So a depclean removed it and now wine says when emerging:
> > 
> > configure: error: OpenCL development files not found, OpenCL won't be
> > supported.
> > 
> > Perhaps nvidia-drivers should depend on cuda-toolkit when opencl USE flag is
> > set?
> > But ati-drivers doesn't have that USE flag too.
> > 
> > I see this bug is set to resolved fixed. Should I file this as a new bug?
> 
> I guess you've been hit by a bug 402407. Try running: eselect opencl set
> nvidia, latest version of ebuild already has it. Mea culpa...

It was more my fail. I was using my own overlay nvidia-drivers-295.17.ebuild that was based on the 290.10 ebuild. So I didn't see the new one. Now I took the 290.10-r1 as my source and all is fine.

Thanks