On Sep 6, 2011, at 9:08 AM, Barry Smith wrote: > > > On Sep 6, 2011, at 10:59 AM, Daniel Lowell wrote: > >> On this page: http://www.mcs.anl.gov/petsc/petsc-as/features/gpus.html >> >> It states: "All of the Krylov methods except KSPIBCGS run on the GPU." >> I actually could only find ksp/pc/bicgstabcusp for any ksp implementation on >> the GPU. > > Daniel, > > All the vector operations and the matrix-vector product used by the > Krylov methods implemented in PETSc (except KSPIBCGS) run on the GPU without > copying up or down vector or matrix values, in the same way as > ksp/pc/bicgstabcusp does, hence we say they run on the GPU. In fact, in our > tests our BiGCStab runs just as fast as the Nvidia CUSP code > ksp/pc/bicgstabcusp. > > In other words, higher level algorithms such as Krylov methods and Newton > methods do not need to be "written for the GPU", so long as the kernel > operations run on the GPU. > > > > Barry
Barry, But is this still only for real data types? Last time I checked, earlier this year, complex valued data were not supported under PETSc, even though complex data types are supported in CUSP. Randy > >> >> CUSP does have everything mentioned in the above PETSc link: >> http://code.google.com/p/cusp-library/wiki/QuickStartGuide#Iterative_Solvers >> >> However I don't see where any of it is implemented in the latest Dev >> release, Krylov solvers or preconditioners. >> >> Can anyone clear this up for me? >> >> Thanks, >> >> Daniel Lowell >