[petsc-users] Unable to configure PETSc with CUDA: Problem with thrust directory

Matthew Knepley knepley at gmail.com
Mon Sep 1 05:56:33 CDT 2014


On Mon, Sep 1, 2014 at 3:56 AM, Christophe Ortiz <christophe.ortiz at ciemat.es
> wrote:

> Hi all,
>
> Thanks a lot for your answers.
>
> I followed Satish's advice and downloaded pets-dev. Then I tried to
> configure it with CUDA 6.0. It complained because I did not have flex
> installed, no big deal. Then it complained because it prefers GNU compilers
> than Intel ones, no big deal.
>
> This being fixed, I was able to configure and compile pets-dev with CUDA
> 6.0. There was no problem due to deprecated arch or thrust directory.
>
> I configured it with the following options:
>
> --with-x=1 --with-mpi=0 --with-cc=gcc --with-cxx=g++ --with-clanguage=cxx
> --with-fc=gfortran --with-cuda=1 --with-cuda-dir=/usr/local/cuda-6.0
> --with-cuda-arch=sm_35 --with-thrust=1
> --with-thrust-dir=/usr/local/cuda-6.0/include/thrust --with-cusp=1
> --with-cusp-dir=/usr/local/cuda-6.0/include/cusp --with-debugging=1
> --with-scalar-type=real --with-precision=double --download-fblaslapack
>
>
> Now this is done, how should I port my code to use it with CUDA ? Should I
> change something and include some CUDA directives in the code ? Is there
> some examples of makefile with nvcc that I could use ?
>

You just change the types of objects to those that use the GPU.
See here: http://www.mcs.anl.gov/petsc/features/gpus.html

  Thanks,

   Matt


> Thanks in advance.
> Christophe
>
>
>
>
>
> On Fri, Aug 29, 2014 at 6:29 PM, Jed Brown <jed at jedbrown.org> wrote:
>
>> Satish Balay <balay at mcs.anl.gov> writes:
>>
>> > On Fri, 29 Aug 2014, Dominic Meiser wrote:
>> >
>> >> On 08/29/2014 08:31 AM, Matthew Knepley wrote:
>> >> > On Fri, Aug 29, 2014 at 9:35 AM, Dominic Meiser <dmeiser at txcorp.com
>> >> > <mailto:dmeiser at txcorp.com>> wrote:
>> >
>> >> > >     Dominic, I think that thrust.py should depend on cuda.py. Do
>> you
>> >> > >     know why it does not?
>> >> >     In principle you are right, thrust.py should depend on cuda.py.
>> >> >
>> >> >     However, in my opinion, thrust.py should go away as a separate
>> >> >     package altogether. Thrust is shipped as part of any recent
>> >> >     version of the cuda toolkit (I forget since which version, Paul
>> >> >     might know) and it's always installed in
>> >> >     $CUDA_TOOLKIT_ROOT/include/thrust. Thus we can automatically
>> >> >     deduct the thrust location from the cuda location. Thrust should
>> >> >     be considered part of cuda.
>> >
>> > I also think it should be removed.
>>
>> Agreed.  If it was correct to consolidate umfpack, cholmod, etc., into
>> suitesparse, then there is no question that thrust should be
>> consolidated into cuda.
>>
>
>


-- 
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-users/attachments/20140901/284df3c6/attachment.html>


More information about the petsc-users mailing list