Re: [AMBER-Developers] SAXS OpenMP compile fails with icpc 16

From: Daniel Roe <daniel.r.roe.gmail.com>
Date: Fri, 25 Sep 2015 10:21:25 -0600

That seems to have done the trick, thanks Tim! I'll commit the fix.

-Dan

On Fri, Sep 25, 2015 at 9:03 AM, Timothy J Giese
<timothyjgiese.gmail.com> wrote:
> Might be worth trying (?)
>
> const size_t nx = dx[type].ngrid[0];
> const size_t ny = dx[type].ngrid[1];
> const size_t nz = dx[type].ngrid[2];
>
> #pragma omp parallel for shared (result, type, Z) collapse(3)
> for (size_t x = 0; x < nx; x++)
> for (size_t y = 0; y < ny; y++)
> for (size_t z = 0; z < nz; z++) {
>
>
>
>
> On 09/25/2015 10:46 AM, Daniel Roe wrote:
>>
>> Hi All,
>>
>> Since SAXS does not yet have a bugzilla entry I figured I would bring
>> this up here. SAXS fails to compile for me with intel compilers
>> version 16 using OpenMP. The specific error is here:
>>
>> icpc -c -fpic -O3 -openmp -DOPENMP -fpic
>> -I/uufs/chpc.utah.edu/common/home/u0827715/Amber/GIT/amber-intel/include
>> -o f_calc.o f_calc.cpp
>> f_calc.cpp(112): error: parallel loops with collapse must be perfectly
>> nested
>> for (size_t x = 0; x < dx[type].ngrid[0]; x++)
>> ^
>>
>> Error: the OpenMP "single" pragma must not be enclosed by the "for" pragma
>>
>> The code block in question is here (f_calc.cpp lines 111 to 118):
>>
>> #pragma omp parallel for shared (result, type, Z) collapse(3)
>> for (size_t x = 0; x < dx[type].ngrid[0]; x++)
>> for (size_t y = 0; y < dx[type].ngrid[1]; y++)
>> for (size_t z = 0; z < dx[type].ngrid[2]; z++) {
>> size_t index_center = dx_3Dindex_to_1Dindex
>> (dx[type], x, y, z);
>> double grid = (dx[type].value[index_center] -
>> 1) * dx[type].conc * Z;
>> result.value[index_center] += grid;
>> }
>>
>> It's not immediately obvious to me what the problem is with 'x';
>> normally that error means not all statements are in the innermost loop
>> but that's clearly not the issue here. Removing the "collapse(3)" gets
>> rid of the error. Any ideas?
>>
>> -Dan
>>
>>
>> -Dan
>>
>
>



-- 
-------------------------
Daniel R. Roe, PhD
Department of Medicinal Chemistry
University of Utah
30 South 2000 East, Room 307
Salt Lake City, UT 84112-5820
http://home.chpc.utah.edu/~cheatham/
(801) 587-9652
(801) 585-6208 (Fax)
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Fri Sep 25 2015 - 09:30:05 PDT
Custom Search