It turns out that the machine I am using has CUDA (nvcc), so petsc disables cmake build (apparently even with --with-cuda=0, as long as nvcc is detected). Then I noticed this comment: "# Our CMake build does not support CUDA at this time" in config/PETSc/Configure.py (line 468)
I tried the same configure options on a different machine that has no cuda -- cmake build works as expected. Shao-Ching On Mon, Nov 7, 2011 at 2:11 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: > > ?With petsc-3.2 if you have a recent version of cmake installed on your > machine then it does exactly that and if you, for example, change one file > the rebuilding of the library is very fast. > > ? Barry > > On Nov 7, 2011, at 2:07 PM, Shao-Ching Huang wrote: > >> Thanks guys. >> >> I was thinking rebuilding in 5 seconds, if I could reuse most of the >> already-built .o files. (Like in a typical makefile scenario -- only >> the changed source files are re-compiled). It seems that the petsc >> "make" command cleans up all the .o files automatically. >> >> I have no problem of rebuilding the whole thing afresh. Actually that >> is what I have been doing. >> >> Thanks, >> >> Shao-Ching >> >> On Mon, Nov 7, 2011 at 1:56 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: >>> >>> ?If you find that ./configure or the make are taking a huge amount of time >>> you might investigate where the files are stored. If, for example, they are >>> stored on a separate file server it may be most of the time is due to the >>> file server. For example configuring and compiling each take me about 5 >>> minutes on my laptop; on a desktop using a file server might take 1/2 an >>> hour. >>> >>> ? Barry >>> >>> On Nov 7, 2011, at 3:52 PM, Satish Balay wrote: >>> >>>> On Mon, 7 Nov 2011, Shao-Ching Huang wrote: >>>> >>>>> Hi >>>>> >>>>> I downloaded petsc using the "hg clone >>>>> http://petsc.cs.iit.edu/petsc/releases/petsc-3.2" method. Now, after >>>>> hg pull/update (some files are changed), do I always have to build >>>>> from scratch (i.e. compiling everything, including the --download-xxx >>>>> stuff)? Is there a short cut to rebuild libpetsc.{so,a} when I have no >>>>> configuration change? >>>> >>>> This is a tricky thing. Generally updates to petsc-3.2 should not >>>> require a rerun of configure or a rebuild of all library code - but >>>> this is not always true. [sometimes you might have to pull/update >>>> BuildSystem and rerun configure - or rebuild externalpackages - as the >>>> tarballs for these packages get updated]. >>>> >>>> For the generaly case - an update of the libraries can be done with: >>>> >>>> [for cmake build] >>>> make >>>> >>>> [for non-cmake build] >>>> make ACTION=lib tree >>>> >>>> And if a rerun of configure is needed - one can run >>>> ./PETSC_ARCH/conf/reconfigure_PETSC_ARCH.py >>>> >>>> Satish >>> >>> > >
