Sending this to petsc-dev for better brains then mine to look at.

   Barry


Begin forwarded message:

> From: Victor Minden <victorminden at gmail.com>
> Date: October 27, 2010 3:30:29 PM CDT
> To: Barry Smith <bsmith at mcs.anl.gov>
> Subject: Re: SACUDA - Cannot compile
> 
> Quick append: I realized that it would make the most sense to see if it 
> compiles at all with just smoothed_aggregation.h included, and it does.  This 
> caused me to look further and see that the first line that kills the compiler 
> and the next few ones I looked at were trying to define and then use a struct 
> (inside many nested namespaces) called VecType, which rang a bell--since 
> vectype is a flag for petsc, I assume we have a variable/struct/something 
> somewhere that is causing the compiler to not let us use it again--though it 
> should be valid since it's in a namespace.  Is this mangling/namespace 
> collision/something of the sort?  What's the best way around it?
> 
> 
> ---
> Victor L. Minden
> 
> Tufts University
> School of Engineering
> Class of 2012
> 
> 
> On Wed, Oct 27, 2010 at 4:21 PM, Victor Minden <victorminden at gmail.com> 
> wrote:
> I'm having trouble compiling with the new experimental versions of thrust and 
> cusp, but only the sacuda preconditioner is affected.  I pulled them out of 
> their respective hg repositories and edited the version numbers so petsc 
> would take them, and all the aijcuda and veccuda stuff seems to compile fine. 
>  However, when the compile gets to sacuda.cu, I get a whole bunch of
> 
> /usr/local/cuda/bin/../include/thrust/detail/device/cuda/detail/b40c/vector_types.h(37):
>  error: expected an identifier
> 
> and similar errors in two different files (make.log attached).
> 
> I pulled everything out of sacuda.cu except for the include statements (end 
> of email[1]), but it still says the same thing.  Looking around online, I 
> guess this could be a C/C++ problem, maybe needing some extern magic or 
> something?  The internet is not being very helpful.  
> 
> The files that are affecting things were both added to Thrust *after* the 
> last time we've looked at sacuda, vector_types.h [2] and 
> radixsort_scanscatter_kernel.h [3].  These appear to be both part of a 
> bundled radixsort code from an external source.  The files are protected at 
> the top by a #pragma once, but I think we're ignoring pragmas (? or at least 
> we have the flag -Wnounknownpragmas) so I tried popping in an if !defined and 
> such to no avail.
> 
> Does anything come to mind as a likely source of this problem?
> 
> -Victor
> 
> 
> 
> 
> [1]
> #define PETSCKSP_DLL
> 
> /*  -------------------------------------------------------------------- */
> 
> /* 
>    Include files needed for the CUDA Smoothed Aggregation preconditioner:
>      pcimpl.h - private include file intended for use by all preconditioners 
> */
> 
> #include "private/pcimpl.h"   /*I "petscpc.h" I*/
> #include "../src/mat/impls/aij/seq/aij.h"
> #include <cusp/precond/smoothed_aggregation.h>
> #include "../src/vec/vec/impls/dvecimpl.h"
> #include "../src/mat/impls/aij/seq/seqcuda/cudamatimpl.h"
> 
> 
> [2]
> http://code.google.com/p/thrust/source/browse/thrust/detail/device/cuda/detail/b40c/vector_types.h
> 
> [3]
> http://code.google.com/p/thrust/source/browse/thrust/detail/device/cuda/detail/b40c/radixsort_scanscatter_kernel.h
> ---
> Victor L. Minden
> 
> Tufts University
> School of Engineering
> Class of 2012
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101027/f6c35a21/attachment.html>

Reply via email to