On Wed, Oct 27, 2010 at 4:22 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > Sending this to petsc-dev for better brains then mine to look at. > Yes, this is what bombs on the new version of Thrust. I reported it and they know about it. PETSc takes over VecType, and it would be much easier (maybe) for Thrust to just namespace that thing. Matt > 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 >> > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101027/e1852d88/attachment.html>
