[petsc-dev] Fwd: SACUDA - Cannot compile

Barry Smith bsmith at mcs.anl.gov
Wed Oct 27 16:22:01 CDT 2010


  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>


More information about the petsc-dev mailing list