[Beignet] GROMACS on beignet

Szilárd Páll sin.pecado at gmail.com
Sun Mar 27 23:49:50 UTC 2016


Hi Xiuli,

Thanks for the quick reply!

On Fri, Mar 25, 2016 at 4:06 AM, Pan, Xiuli <xiuli.pan at intel.com> wrote:

> Hi Szilárd,
>
>
>
> What do you mean about quoted includes?
>

I mean -I"/path/to/headers" does not work, but  -I/path/to/headers does.


> If you mean the include in kernels, I think we may have some problem with
> that. The *.cl we used for clang actually was a copied tmp version stored
> not in where is used to be. So I think if you just put what need to be
> included in the old place, clang could not find it. You could try a
> workaround to pass “-I where/your/header/is”  as a build option to
> clBuildProgram.
>
>
>
> Then if you have some double types used on Haswell it may have some
> problem. The hardware for HSW does not support double very well as we have
> refined our double support to hardware then, so HSW may have some issues
> with double type. If it is not the problem with double float, you can send
> your kernel as an attachment or report a bug on our Bugzilla(
> https://bugs.freedesktop.org) and we will tried to fix it.
>

No double precision in the kernels.

For now I'll post here, I feel like a bug report may be an overkill -
especially as I can't provide a full repro case that does not involve
building the entire application.

I've attached a minimum set of source files that's needed to compile. We
have pretty heavy preprocessor use that generates kernels for the different
inputs / outputs / computation combinations, so one particular flavor
that's known to produce incorrect results is generated compiling
nbnxn_ocl_kernels.cl with the following flags:

-D_WARPLESS_SOURCE_ -DGMX_OCL_FASTGEN -DEL_RF -DEELNAME=_ElecRF
-DLJ_COMB_GEOM -DVDWNAME=_VdwLJCombGeom -DCENTRAL=22
-DNBNXN_GPU_NCLUSTER_PER_SUPERCLUSTER=8 -DNBNXN_GPU_CLUSTER_SIZE=8
-DNBNXN_GPU_JGROUP_SIZE=4 -DNBNXN_AVOID_SING_R2_INC=1.0e-12f


Additionally I had a closer look and so far I have observed three issues
(additional to the minor include issue mentione before):

1. If I do a manual prefetch into local memory followed by a mem fence
(seenbnxn_ocl_kernel_nowarp.clh line 339), I get the following error:
drm_intel_gem_bo_context_exec() failed: Input/output error
The next kernel call then fails with CL_OUT_OF_RESOURCES.
Without the manual prefetch it works better, but...

2. The results produced by the kernel are still somewhat off. It could be
that I missed a subtle detail and the kernels still do not conform to the
hardware's execution model. I'm very familar with Intel's hardware and
these kernels were originally designed for 32/64 wide execution.

3. All task enqueue calls seem to be blocking.


Thanks & Cheers,
--
Szilárd


>
> Thanks
>
> Xiuli
>
>
>
> *From:* Beignet [mailto:beignet-bounces at lists.freedesktop.org] *On Behalf
> Of *Szilárd Páll
> *Sent:* Friday, March 25, 2016 7:16 AM
> *To:* beignet at lists.freedesktop.org
> *Subject:* [Beignet] GROMACS on beignet
>
>
>
> Hi,
>
>
>
> I am a developer of the GROMACS (www.gromacs.org) molecular dynamics
> simulation package. We have OpenCL offload for some of the
> compute-intensive kernels which that works very well on AMD. I wanted to
> assess how feasible is to use an Intel iGPU in GROMACS and after jumping
> through some hoops I got a 4.2 kernel and beignet master installed.
>
>
>
> Then I ran into the first minor issue: it seems that beignet does not
> accept quoted includes although AFAIK the double-quoted include paths
> should be accepted, but that did not work. No big deal, it doesn't work
> with Apple's OpenCL either, but I thought I'd ask.
>
>
>
> However, the bigger issue is that running on Haswell (HD 4600, I think)
> the kernel produces results that are very off (while the very same source
> gives correct results on other platforms). I've not much time to dig
> deeper, but I thought I'd drop a mail maybe somebody is interested in
> helping out with tips or even tracking down where the issue is.
>
>
>
> Suggestions would be welcome!
>
>
>
> Cheers,
>
> --
> Szilárd
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/beignet/attachments/20160328/ce4c4947/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gmx-ocl-src.tar.gz
Type: application/x-gzip
Size: 13071 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/beignet/attachments/20160328/ce4c4947/attachment-0001.bin>


More information about the Beignet mailing list