<br>If I am moving configureTypes() to config/BuildSystem/config/<div id=":4a">compile/CUDA.py won't I also need a Configure class for it be contained?<br></div><br>Also, there is another check config/PETSc/packages/cuda.py has which might be needed: <br>
 def checkNVCCDoubleAlign(self)<br><br><br><div class="gmail_quote">On Mon, Sep 12, 2011 at 4:20 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
  Daniel,<br>
<br>
    The way we have things set up currently is kind of stupid. We have two cuda.py files one to set up the cuda compiler and the other that sets up PETSc to use cuda and cusp/thrust. So the first one handles the -with-cudac="" command which makes sense but the second one handles the --with-cuda-arch command which does not make sense; essentially the configureType() method from the second cuda.py should be moved to the first cuda.py and used.  Then the second cuda.py should be renamed something else; perhaps the way to set PETSc to use everything could be with --with-cuda-cusp-thrust or some other better command.<br>

<br>
   Anyways you or anyone else can try moving the configureType() from config/PETSc/packages/cuda.py to config/BuildSystem/config/compile/CUDA.py and rework it to use the precision provider stuff like is done in config/BuildSystem/config/packages/BlasLapack.py and then you would just provide the --with-cudac and --with-cuda-arch and not use the --with-cuda<br>

<font color="#888888"><br>
<br>
<br>
   Barry<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
<br>
On Sep 12, 2011, at 4:00 PM, Daniel Lowell wrote:<br>
<br>
> Is there a way to configure PETSc to build with nvcc CUDA support, but without the CUSP flags being set? I'd like to set up PETSc independent of any CUSP flags or MACROs.<br>
><br>
> Default, any configuration settings require you specify CUSP and THRUST support.<br>
><br>
> Here is my current configuration file:<br>
><br>
> CFLG="--CFLAGS=-O2 -fopenmp -msse2 -mfpmath=sse -g -ggdb"<br>
> FFLG="--FFLAGS=-O2 -fopenmp -g"<br>
> WCC="--with-cc=gcc"<br>
> MPI_DIR="--with-mpi-dir=$MPICH2_HOME"<br>
> WBL="--with-blas-lapack-dir=$INTEL_MKL"<br>
> LAD="--download-c-blas-lapack=yes --download-f-blas-lapack=yes"<br>
> HYP="--download-hypre=1"<br>
> HDF="--with-hdf5=1 --download-hdf5=1"<br>
> CUD="--with-cuda-dir=/soft/cuda-4.0/cuda"<br>
> USP="--with-thrust-dir=/soft/cuda-4.0/cuda/include --with-cusp-dir=/soft/cuda-4.0/cuda/include"<br>
><br>
><br>
> ./config/configure.py $MPI_DIR $LAD $CFLG $FFLG $HYP $HDF $CUD \<br>
> --with-cudac="nvcc -m64" \<br>
> --with-precision=double \<br>
> --with-clanguage=c \<br>
> --with-cuda-arch=sm_20 \<br>
> PETSC_ARCH=structgrid_cuda<br>
><br>
><br>
><br>
> Note my USP flag is not included in the configuration invocation.<br>
><br>
><br>
><br>
> Thanks,<br>
><br>
> Daniel Lowell<br>
<br>
</div></div></blockquote></div><br>