On Thu, Jul 12, 2012 at 10:42 AM, Olga Tramontano <tramontanoolga at yahoo.it>wrote:
> Hi all > I am very new to PETSc. I just learnt its class structure and I just > understood that the interface Vec has been reimplemented with the class > VecCUSP that is able to support GPU. My question is: if I have a simple > code that allocates a vector and sets it with the database options, if I > specify -vec_type seqcusp then this vector is allocated AND computed on the > GPU? > Because I compared the execution time of the same algorithm with the > database options -vec_type seq and -vec_type seqcusp: these two times are > very close. > For any performance question, you have to send the output of -log_summary for all runs, or we have no idea what you actually did. Matt > This is the code: I'm just trying to compute how long does it take to > execute the function VecScale: > #include <petscvec.h> > #include <string.h> > > #undef __FUNCT__ > #define __FUNCT__ "main" > int main(int argc,char **argv) > { > Vec x; > PetscInt n; > PetscErrorCode ierr; > PetscBool exists; > PetscLogDouble t1,t2; > PetscInt a=10; > > ierr = PetscInitialize(&argc,&argv,(char*)0,help);CHKERRQ(ierr); > > ierr = PetscOptionsGetInt(PETSC_NULL,"-size",&n,&exists); CHKERRQ(ierr); > > ierr = VecCreate(PETSC_COMM_SELF,&x);CHKERRQ(ierr); > ierr = VecSetSizes(x,PETSC_DECIDE,n);CHKERRQ(ierr); > ierr = VecSetFromOptions(x);CHKERRQ(ierr); > > ierr = VecSetRandom(x, PETSC_NULL); CHKERRQ(ierr); > > PetscGetTime(&t1); > ierr = VecScale(x,a); CHKERRQ(ierr); > PetscGetTime(&t2); > ierr = PetscPrintf(PETSC_COMM_WORLD, "%2.5f\n",(t2-t1)); > > ierr = VecDestroy(&x);CHKERRQ(ierr); > > ierr = PetscFinalize(); > return 0; > } > > I use a vector of about 500000 numbers. With the database option > -vec_type seqcusp , the method VecScale should call the > method VecScale_SeqCUSP, right? Am I wrong? Should I do it expressly? > Anyway with the option -vec_type seq , the method VecScale takes 0.05681 > seconds, > with the option -vec_type seqcusp, the method VecScale takes 0.04242 > seconds. > > Is this speed up sufficient and realistic? > thanks > > Olga > -- 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/20120712/289e7281/attachment.html>