← Back to team overview

dorsal team mailing list archive

Re: PETSc GPU support in Dorsal

 

On Wed, Mar 07, 2012 at 08:59:31PM +0000, Garth N. Wells wrote:
> On 7 March 2012 20:18, Anders Logg <logg@xxxxxxxxx> wrote:
> > On Wed, Mar 07, 2012 at 07:47:17PM +0000, Garth N. Wells wrote:
> >> On 7 March 2012 19:37, Fredrik Heffer Valdmanis <fredva@xxxxxxxxxx> wrote:
> >> > 2012/3/7 Anders Logg <logg@xxxxxxxxx>
> >> >>
> >> >> On Wed, Mar 07, 2012 at 04:24:13PM +0100, Fredrik Heffer Valdmanis wrote:
> >> >> > I think it might be a good time to bring this thread up again now. My
> >> >> > Dorsal branch is still working fine, but there are a couple of issues
> >> >> > that
> >> >> > should be discussed before merging:
> >> >> >
> >> >> > 1: As mentioned in my first email, the user has to set "default
> >> >> > CUDA_DIR=<path to cuda installation>" in the platform file, and add the
> >> >> > packages cusp and thrust to the beginning of the list of packages to
> >> >> > build
> >> >> > PETSc with Cusp support. This might not be the best way to solve this.
> >> >> > One
> >> >> > could of course set CUDA_DIR in dorsal/local.cfg instead, but the list
> >> >> > of
> >> >> > packages to install still has to be modified. Any opinions? Could this
> >> >> > be
> >> >> > (semi) automated?
> >> >>
> >> >> How about making a new package file called petscwithcuda or petsc-cuda or
> >> >> whatever naming schem Harish suggests.
> >> >>
> >> >> I think it is OK to require the user to set the environment variable
> >> >> CUDA_DIR before running Dorsal, either as part of the user's
> >> >> environment setup or in local.cfg.
> >> >>
> >> >>
> >> >> > 2: Thrust and Cusp only comes packaged in .zip-files, which Dorsal
> >> >> > doesn't
> >> >> > support as far as I can see. To get around this this, {thrust,
> >> >> > cusp}.package currently pull the latest hg repositories from Google
> >> >> > Code.
> >> >> > To make these development versions play nice with petsc-3.2-p6, I have
> >> >> > had
> >> >> > to add a patch to PETSc. A possible solution would be to package stable
> >> >> > versions of cusp and thrust ourselves and host them on
> >> >> > fenicsproject.org. PETSc-dev
> >> >> > works fine with these development versions, so we can skip the patching
> >> >> > once 3.2-p7 is released.
> >> >>
> >> >> I don't fully understand. Are there stable Thrust and Cusp packages
> >> >> available which work with stable PETsc?
> >> >>
> >> > Yes, the latest stable versions of Cusp (0.3.0 [1]) and Thrust (1.5.1 [2])
> >> > work fine with PETSc 3.2-p6, but they are only available as .zip-files, a
> >> > packaging scheme which is not supported by Dorsal as far as I understand.
> >> > Hence, we must either use the mercurial repositories, which is a type of
> >> > repo that Dorsal can pull, or we must repackage Cusp and Thrust in an
> >> > archive format that Dorsal supports and host them ourselves. It is not
> >> > really an alternative to use development versions, so we should repackage
> >> > Cusp and Thrust. Or implement zip-support in Dorsal ...
> >> >
> >>
> >> An up-to-date Thrust is part of the CUDA toolkit.
> >>
> >> Having installed the CUDA toolkit a number of times recently, I still
> >> don't think that it's ready for Dorsal.
> >
> > I don't understand this objection.
>
> Where's the 'objection'? It's an opinion based on my experience of
> installing the CUDA toolkit.

It sounded like an objection to me. Maybe with your experience you
could help to tweak the package files when they are added.

--
Anders


> Garth
>
> > It's about adding a couple of
> > package files. It's not like we're making anything else depend on
> > those packages.
> >
> >
> >
> >> Garth
> >>
> >> > [1] http://code.google.com/p/cusp-library/downloads/list
> >> > [2] http://code.google.com/p/thrust/downloads/list
> >> >
> >> >
> >> > _______________________________________________
> >> > Mailing list: https://launchpad.net/~dorsal
> >> > Post to     : dorsal@xxxxxxxxxxxxxxxxxxx
> >> > Unsubscribe : https://launchpad.net/~dorsal
> >> > More help   : https://help.launchpad.net/ListHelp
> >> >
>
>
>


Follow ups

References