Bug#768185: [Pkg-opencl-devel] Bug#768185: Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-07 Thread Giuseppe Bilotta
On Fri, Nov 7, 2014 at 7:45 PM, Rebecca N. Palmer
 wrote:
> Warning on the kernel upgrade: it froze my system, see #768483.
>
>> Ah, that's tricky, at the packaging level. What I think is:
>>
>> * all GPU-related ICDs should be installed, whenever the corresponding
>> video driver is;
>> * at least one CPU-capable ICD should also be installed;
>
> Linking it to the video driver doesn't help because those currently default
> to installing them all (which is where I got the idea of doing the same for
> ICDs): you still need to properly handle the "ICD installed (platform) but
> no hardware (device)" case, which as noted in this bug and in
> http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20140421/000122.html
> , many things currently don't.

Ah, good point. I had missed the detailed comment about that on my
first quick read. I'll think about it.

>> Should I subscribe to the pkg-opencl-devel ML?
>
> If you want to participate in more general OpenCL-in-Debian discussions,
> yes; anyone can do so.  It does receive some spam, but typically only every
> few days.

I've subscribed, and sent a comment about the clinfo. I'll also share
my thoughts on the ICD thing as soon as I have an idea about it.

-- 
Giuseppe "Oblomov" Bilotta


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: [Pkg-opencl-devel] Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-07 Thread Rebecca N. Palmer

Warning on the kernel upgrade: it froze my system, see #768483.


Ah, that's tricky, at the packaging level. What I think is:

* all GPU-related ICDs should be installed, whenever the corresponding
video driver is;
* at least one CPU-capable ICD should also be installed;
Linking it to the video driver doesn't help because those currently 
default to installing them all (which is where I got the idea of doing 
the same for ICDs): you still need to properly handle the "ICD installed 
(platform) but no hardware (device)" case, which as noted in this bug 
and in 
http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20140421/000122.html 
, many things currently don't.



Should I subscribe to the pkg-opencl-devel ML?
If you want to participate in more general OpenCL-in-Debian discussions, 
yes; anyone can do so.  It does receive some spam, but typically only 
every few days.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: [Pkg-opencl-devel] Bug#768185: Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-07 Thread Giuseppe Bilotta
On Fri, Nov 7, 2014 at 2:37 PM, Rebecca N. Palmer
 wrote:
>> It's a Dell XPS 15 from two months ago. [...]
>> 00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen
>> Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
>> (prog-if 00 [VGA controller]) [...]
>> model name : Intel(R) Core(TM) i7-4712HQ CPU @ 2.30GHz
>
> That should work after upgrading linux if the Intel GPU is enabled (see
> http://nouveau.freedesktop.org/wiki/Optimus/ for how to check that), but
> shared local memory won't work.  (There is a fix for that, but for security
> reasons I can't recommend it:
> https://01.org/beignet/downloads/linux-kernel-patch-hsw-support?langredirect=1
> )

Thanks for the information. The IGP is enabled (it's what I use for my
primary display). I'm only toying around with it for compute though (I
use the discrete NVIDIA GPU for the serious stuff, due to the ratio in
power), but thanks for the hint.

>> library should _not_ call an exit() in case of error
>
> I agree: one of my goals is to have OpenCL just work (without the user
> needing to specifically set it up), which requires proper "hardware not
> supported" handling:
> http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20140421/000122.html

Ah, that's tricky, at the packaging level. What I think is:

* all GPU-related ICDs should be installed, whenever the corresponding
video driver is;
* at least one CPU-capable ICD should also be installed;

tagging the ICDs appropriately might be the way to go about it.

>> The clinfo in Debian fails on my system due to the presence of 1.1
>> platforms and platforms without devices (mesa).
>
> That was supposed to be fixed (#721103), but #767985 suggests you're not the
> only one with that problem.

I think the 1.1 was fixed, but the "platform with no devices"
definitely wasn't. Possibly because I forgot to report it.

>> Giuseppe "Oblomov" Bilotta
>
> Oblomov as in the author of this clinfo?

Yes, I'm in fact the author of this clinfo.

> We're currently discussing whether
> to replace Debian's clinfo with it (though due to the release freeze, this
> can't happen immediately):
> http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20141103/date.html

Well, I can obviously recommend mine 8-)

Should I subscribe to the pkg-opencl-devel ML?

-- 
Giuseppe "Oblomov" Bilotta


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: [Pkg-opencl-devel] Bug#768185: Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-07 Thread Rebecca N. Palmer

It's a Dell XPS 15 from two months ago. [...]
00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen
Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
(prog-if 00 [VGA controller]) [...]
model name : Intel(R) Core(TM) i7-4712HQ CPU @ 2.30GHz
That should work after upgrading linux if the Intel GPU is enabled (see 
http://nouveau.freedesktop.org/wiki/Optimus/ for how to check that), but 
shared local memory won't work.  (There is a fix for that, but for 
security reasons I can't recommend it:
https://01.org/beignet/downloads/linux-kernel-patch-hsw-support?langredirect=1 
)



library should _not_ call an exit() in case of error
I agree: one of my goals is to have OpenCL just work (without the user 
needing to specifically set it up), which requires proper "hardware not 
supported" handling: 
http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20140421/000122.html



The clinfo in Debian fails on my system due to the presence of 1.1
platforms and platforms without devices (mesa).
That was supposed to be fixed (#721103), but #767985 suggests you're not 
the only one with that problem.



Giuseppe "Oblomov" Bilotta
Oblomov as in the author of this clinfo?  We're currently discussing 
whether to replace Debian's clinfo with it (though due to the release 
freeze, this can't happen immediately): 
http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20141103/date.html



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: [Pkg-opencl-devel] Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-07 Thread Giuseppe Bilotta
On Wed, Nov 5, 2014 at 9:33 PM, Rebecca N. Palmer
 wrote:
>> Kernel: Linux 3.16-3-amd64 (SMP w/8 CPU cores)
>
> beignet doesn't work on that version of Linux (#767148); a fixed version was
> uploaded yesterday.  Does upgrading to that help?

Ah, interesting. I see there's also a kernel upgrade. I'll upgrade
everything and report back on it.

> What hardware are you using?

It's a Dell XPS 15 from two months ago. This is the lspci -nnvv of my
integrated GPU:

00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen
Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
(prog-if 00 [VGA controller])
Subsystem: Dell Device [1028:05fe]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
SERR-  [disabled]
Capabilities: 
Kernel driver in use: i915

The CPU is an eight-core specced as such:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4712HQ CPU @ 2.30GHz
stepping : 3
microcode : 0x1c
cpu MHz : 2308.625
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl
xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor
ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic
movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm
ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept
vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips : 4589.41
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

(etc)

> Does the error occur on any attempt to use OpenCL, or only with this
> program?  (If you don't have any real OpenCL-using programs yet, there's a
> test script at
> https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=beignet_test.py;att=1;bug=767148
> , requires python3-pyopencl, python3-numpy)

I have a variety of opencl applications, and the error appears quite
consistently when I try to compile my kernels.

> If the latter, the clinfo Debian package is a different program with similar
> functionality, so you may want to use that instead (though I do agree this
> is probably a beignet bug).

The clinfo in Debian fails on my system due to the presence of 1.1
platforms and platforms without devices (mesa).

There is most likely something in my system that causes the issue,
which needs to be looked into more closely, but the point is that the
library should _not_ call an exit() in case of error (and it shouldn't
dump compilation errors on stderr).

I'm adding more information about the configuration of my system in my
reply to Andreas.

-- 
Giuseppe "Oblomov" Bilotta


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-07 Thread Giuseppe Bilotta
On Wed, Nov 5, 2014 at 8:38 PM, Andreas Beckmann  wrote:
> On 2014-11-05 20:16, Giuseppe Bilotta wrote:
>> Running clinfo from http://github.com/Oblomov/clinfo with beignet installed
>
> Which other icds do you have installed?
>
> find /etc/OpenCL/vendors

I have a multitude of them:

mesa.icd (from Debian's unstable package repositories)
nvidia.icd (from Debian's unstable package repositories)
amdocl64.icd (from Debian's unstable package repositories)
intel64.icd (Intel's proprietary CPU OpenCL platform, downloaded from
their website)
intel-beignet.icd (from Debian's unstable package repositories)
pocl.icd (hand-compiled from pocl' master git branch)

> I've seen that as well, but it seems to be related to ordering of
> multiple icds that may not cooperate cleanly depending on the loading
> order ...
>
> have you tried
>
> OCL_ICD_VENDORS=intel-beignet.icd path/to/your/clinfo

I've filtered out all vendors and then started adding them back one by
one. The one that causes troubles seems to be the mesa ICD.

So there are actually THREE issues here:

1. kernel build errors should not go to stderr, but to the build log;
2. the library shoud not terminate the calling program in case of errors;
3. there's a conflict with the mesa ICD (maybe beignet and mesa are
compiled against different versions of libllvm?)

-- 
Giuseppe "Oblomov" Bilotta


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: [Pkg-opencl-devel] Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-05 Thread Rebecca N. Palmer

Kernel: Linux 3.16-3-amd64 (SMP w/8 CPU cores)
beignet doesn't work on that version of Linux (#767148); a fixed version 
was uploaded yesterday.  Does upgrading to that help?


What hardware are you using?

Does the error occur on any attempt to use OpenCL, or only with this 
program?  (If you don't have any real OpenCL-using programs yet, there's 
a test script at 
https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=beignet_test.py;att=1;bug=767148 
, requires python3-pyopencl, python3-numpy)


If the latter, the clinfo Debian package is a different program with 
similar functionality, so you may want to use that instead (though I do 
agree this is probably a beignet bug).



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-05 Thread Andreas Beckmann
On 2014-11-05 20:16, Giuseppe Bilotta wrote:
> Running clinfo from http://github.com/Oblomov/clinfo with beignet installed

Which other icds do you have installed?

find /etc/OpenCL/vendors

> results in two undesired behaviours when clinfo tries to compile some
> kernels:
> 
> 1. the following messages are logged to stderr
> 
> : CommandLine Error: Option 'error-reporting-is-cold' registered 
> more than once!
...
> : CommandLine Error: Option 'pass-remarks' registered more than once!
> LLVM ERROR: inconsistency in registered CommandLine options

I've seen that as well, but it seems to be related to ordering of
multiple icds that may not cooperate cleanly depending on the loading
order ...

have you tried

OCL_ICD_VENDORS=intel-beignet.icd path/to/your/clinfo


Andreas

Note to us maintainers: which additional information should be collected
from a bug-script to ease debugging such things?


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#768185: beignet kills calling application on program build errors, logging errors to console

2014-11-05 Thread Giuseppe Bilotta
Package: beignet
Version: 0.9.3~dfsg-1
Severity: important

Running clinfo from http://github.com/Oblomov/clinfo with beignet installed
results in two undesired behaviours when clinfo tries to compile some
kernels:

1. the following messages are logged to stderr

: CommandLine Error: Option 'error-reporting-is-cold' registered more 
than once!
: CommandLine Error: Option 'simplifycfg-hoist-cond-stores' registered 
more than once!
: CommandLine Error: Option 'simplifycfg-sink-common' registered more 
than once!
: CommandLine Error: Option 'simplifycfg-dup-ret' registered more than 
once!
: CommandLine Error: Option 'phi-node-folding-threshold' registered 
more than once!
: CommandLine Error: Option 'unlikely-branch-weight' registered more 
than once!
: CommandLine Error: Option 'likely-branch-weight' registered more 
than once!
: CommandLine Error: Option 'no-discriminators' registered more than 
once!
: CommandLine Error: Option 'combine-loads' registered more than once!
: CommandLine Error: Option 'reroll-loops' registered more than once!
: CommandLine Error: Option 'use-new-sroa' registered more than once!
: CommandLine Error: Option 'use-gvn-after-vectorization' registered 
more than once!
: CommandLine Error: Option 'vectorize-slp-aggressive' registered more 
than once!
: CommandLine Error: Option 'vectorize-slp' registered more than once!
: CommandLine Error: Option 'vectorize-loops' registered more than 
once!
: CommandLine Error: Option 'internalize-public-api-list' registered 
more than once!
: CommandLine Error: Option 'internalize-public-api-file' registered 
more than once!
: CommandLine Error: Option 'inlinecold-threshold' registered more 
than once!
: CommandLine Error: Option 'inlinehint-threshold' registered more 
than once!
: CommandLine Error: Option 'inline-threshold' registered more than 
once!
: CommandLine Error: Option 'enable-objc-arc-opts' registered more 
than once!
: CommandLine Error: Option 'enable-tbaa' registered more than once!
: CommandLine Error: Option 'verify-scev' registered more than once!
: CommandLine Error: Option 'scalar-evolution-max-iterations' 
registered more than once!
: CommandLine Error: Option 'verify-loop-info' registered more than 
once!
: CommandLine Error: Option 'da-delinearize' registered more than once!
: CommandLine Error: Option 'info-output-file' registered more than 
once!
: CommandLine Error: Option 'track-memory' registered more than once!
: CommandLine Error: Option 'stats' registered more than once!
: CommandLine Error: Option 'rng-seed' registered more than once!
: CommandLine Error: Option 'view-background' registered more than 
once!
: CommandLine Error: Option 'version' registered more than once!
: CommandLine Error: Option 'print-all-options' registered more than 
once!
: CommandLine Error: Option 'print-options' registered more than once!
: CommandLine Error: Option 'help-hidden' registered more than once!
: CommandLine Error: Option 'help' registered more than once!
: CommandLine Error: Option 'help-list-hidden' registered more than 
once!
: CommandLine Error: Option 'help-list' registered more than once!
: CommandLine Error: Option 'sample-profile-max-propagate-iterations' 
registered more than once!
: CommandLine Error: Option 'sample-profile-file' registered more than 
once!
: CommandLine Error: Option 'sroa-strict-inbounds' registered more 
than once!
: CommandLine Error: Option 'sroa-random-shuffle-slices' registered 
more than once!
: CommandLine Error: Option 'force-ssa-updater' registered more than 
once!
: CommandLine Error: Option 'mlsm' registered more than once!
: CommandLine Error: Option 'loop-unswitch-threshold' registered more 
than once!
: CommandLine Error: Option 'pragma-unroll-threshold' registered more 
than once!
: CommandLine Error: Option 'unroll-runtime' registered more than once!
: CommandLine Error: Option 'unroll-allow-partial' registered more 
than once!
: CommandLine Error: Option 'unroll-count' registered more than once!
: CommandLine Error: Option 'unroll-threshold' registered more than 
once!
: CommandLine Error: Option 'rotation-max-header-size' registered more 
than once!
: CommandLine Error: Option 'max-reroll-increment' registered more 
than once!
: CommandLine Error: Option 'disable-licm-promotion' registered more 
than once!
: CommandLine Error: Option 'jump-threading-threshold' registered more 
than once!
: CommandLine Error: Option 'liv-reduce' registered more than once!
: CommandLine Error: Option 'verify-indvars' registered more than once!
: CommandLine Error: Option 'max-recurse-depth' registered more than 
once!
: CommandLine Error: Option 'enable-load-pre' registered more than 
once!
: CommandLine Error: Option 'enable-pre' registered more than once!
: CommandLine Error: Option 'tsan-instrument-memintrinsics' registered 
more than once!
: CommandLine Error: Option 'tsan-instrument-atomics' registered more 
than once!
: CommandLine Error: Option 'tsan-instrument-func-entry-exit' 
registered m