using hypre through petsc

Matt Funk mafunk at nmsu.edu
Tue Oct 3 23:14:15 CDT 2006


Hi guys,

first of all thanks for all the help. I was wondering another thing now 
though. The hypre options that i PETSC prints are:

 -pc_type Preconditioner:(one of) none jacobi pbjacobi bjacobi sor lu shell 
mg
      eisenstat ilu icc cholesky asm ksp composite redundant nn mat fieldsplit 
hypre tfs (PCSetType)
  HYPRE preconditioner options
  -pc_hypre_type <pilut> (choose one of) pilut parasails boomeramg euclid


I was wondering how come the other hypre preconditioners such as SMG or PFMG 
are not listed. (Or did i miss something)?

thanks
mat

On Friday 29 September 2006 19:56, Barry Smith wrote:
>   Yes, you must call SNESSetFromOptions, KSPSetFromOptions or
> PCSetFromOptions. It is at this point in the code that it checks the
> provided options and prints the help messages (as it checks them).
>
> You do not need to hardwire the options in the code to have the proper
> help printed.
>
>    Barry
>
> On Fri, 29 Sep 2006, Matt Funk wrote:
> > Hi,
> >
> > i don't know what i am doing wrong, but it still doesn't give me the any
> > hypre output.
> >
> > So i need to call KSPSetFromOptions? or PCSetFromOptions?
> >
> > Also, at what point in the program should it print those options out?
> > After i call XSetFromOptions?
> >
> > Do i need to set the PCType to hypre first and then
> > PCHYPRESetType(m_pc,"boomeramg")  and then it prints it out?
> >
> > mat
> >
> > On Friday 29 September 2006 15:35, Barry Smith wrote:
> > > On Fri, 29 Sep 2006, Yaron Kretchmer wrote:
> > > > If the latter (Petsc not configured to use Hypre), wouldn't Matt get
> > > > an error when specifying hypre as preconditioner?
> > >
> > >   Yes he would, but it could get lost among all the help messages
> > > printed.
> > >
> > >    Barry
> > >
> > > > Yaron
> > > >
> > > > On 9/29/06, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > > > >   Either you are not calling KSPSetFromOptions() in your
> > > > > code (or SNESSetFromOptions() OR PETSc was not configured
> > > > > to use hypre. To configure PETSc to use hypre you
> > > > > must use the additional config/configure.py option
> > > > > --download-hypre
> > > > >
> > > > >   Good luck,
> > > > >
> > > > >     Barry
> > > > >
> > > > > On Fri, 29 Sep 2006, Matt Funk wrote:
> > > > > > This might be a pretty stupid question, especially since i did
> > > > > > this a
> > > > >
> > > > > while
> > > > >
> > > > > > back and it worked.
> > > > > >
> > > > > > However, how do i specify thsis? Do i run my executable do and
> > > > > > then
> > > > >
> > > > > simply
> > > > >
> > > > > > append -pc_type hypre -pc_hypre_type boomeramg -help and it will
> > > > > > print
> > > > >
> > > > > out
> > > > >
> > > > > > the options?
> > > > > >
> > > > > >
> > > > > > Because when i do that i get:
> > > > > > Options for all PETSc programs:
> > > > > >  -on_error_abort: cause an abort when an error is detected.
> > > > > > Useful only when run in the debugger
> > > > > >  -on_error_attach_debugger [gdb,dbx,xxgdb,ups,noxterm]
> > > > > >        start the debugger in new xterm
> > > > > >        unless noxterm is given
> > > > > >  -start_in_debugger [gdb,dbx,xxgdb,ups,noxterm]
> > > > > >        start all processes in the debugger
> > > > > >  -on_error_emacs <machinename>
> > > > > >     emacs jumps to error file
> > > > > >  -debugger_nodes [n1,n2,..] Nodes to start in debugger
> > > > > >  -debugger_pause [m] : delay (in seconds) to attach debugger
> > > > > >  -stop_for_debugger : prints message on how to attach debugger
> > > > > > manually waits the delay for you to attach
> > > > > >  -display display: Location where graphics and debuggers are
> > > > > > displayed -no_signal_handler: do not trap error signals
> > > > > >  -mpi_return_on_error: MPI returns error code, rather than abort
> > > > > > on
> > > > >
> > > > > internal
> > > > >
> > > > > > error
> > > > > >  -fp_trap: stop on floating point exceptions
> > > > > >            note on IBM RS6000 this slows run greatly
> > > > > >  -malloc_dump <optional filename>: dump list of unfreed memory at
> > > > >
> > > > > conclusion
> > > > >
> > > > > >  -malloc: use our error checking malloc
> > > > > >  -malloc no: don't use error checking malloc
> > > > > >  -mallocinfo: prints total memory usage
> > > > > >  -malloc_debug: enables extended checking for memory corruption
> > > > > >  -options_table: dump list of options inputted
> > > > > >  -options_left: dump list of unused options
> > > > > >  -options_left no: don't dump list of unused options
> > > > > >  -tmp tmpdir: alternative /tmp directory
> > > > > >  -shared_tmp: tmp directory is shared by all processors
> > > > > >  -not_shared_tmp: each processor has separate tmp directory
> > > > > >  -memory_info: print memory usage at end of run
> > > > > >  -get_total_flops: total flops over all processors
> > > > > >  -log[_all _summary]: logging objects and events
> > > > > >  -log_trace [filename]: prints trace of all PETSc calls
> > > > > >  -info <optional filename>: print informative messages about the
> > > > >
> > > > > calculations
> > > > >
> > > > > >  -v: prints PETSc version number and release date
> > > > > >  -options_file <file>: reads options from file
> > > > > >  -petsc_sleep n: sleeps n seconds before running program
> > > > > >
> > > > > >
> > > > > > but nothing about hypre .... ?
> > > > > >
> > > > > >
> > > > > > mat
> > > > > >
> > > > > > On Tuesday 19 September 2006 17:05, Yaron Kretchmer wrote:
> > > > > > > Hi Matt
> > > > > > > You can start experimenting by using
> > > > > > > -pc_type hypre -pc_hypre_type boomeramg -help
> > > > > > > which will give you all the boomeramg options.
> > > > > > >
> > > > > > > When I use it I get intermittent segfaults, which I couldn't
> > > > > > > resolve
> > > > >
> > > > > with
> > > > >
> > > > > > > the Hypre guys, so good luck.
> > > > > > >
> > > > > > > Yaron
> > > > > > >
> > > > > > > On 9/19/06, Matt Funk <mafunk at nmsu.edu> wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > i am trying to use boomeramg from hypre in petsc. What i am
> > > > > > > > doing
> > > > >
> > > > > right
> > > > >
> > > > > > > > now is
> > > > > > > > simply do:
> > > > > > > >
> > > > > > > > m_ierr = PCSetType(m_pc,PCHYPRE);//CHKERRQ(ierr)
> > > > > > > > m_ierr = PCHYPRESetType(m_pc,"boomeramg");
> > > > > > > >
> > > > > > > > then i do my kspsetup etc...
> > > > > > > >
> > > > > > > > i was wondering what other things i need to configure/set to
> > > > >
> > > > > properly use
> > > > >
> > > > > > > > the
> > > > > > > > hypre preconditioner with petsc. This is new to me, so i am
> > > > > > > > not
> > > > >
> > > > > really
> > > > >
> > > > > > > > experienced with this (that is using external packages
> > > > > > > > through
> > > > >
> > > > > petsc).
> > > > >
> > > > > > > > Also,
> > > > > > > > these are the only hypre calls i found in the manual pages.
> > > > > > > >
> > > > > > > > Maybe somebody with more experience can share some of their
> > > > > > > > wisdom
> > > > >
> > > > > ...,
> > > > >
> > > > > > > > or point to a place where i can read up on it?
> > > > > > > >
> > > > > > > >
> > > > > > > > thanks
> > > > > > > > mat




More information about the petsc-users mailing list