[petsc-dev] Error while building MAGMA from PETSc

Matthew Knepley knepley at gmail.com
Thu Aug 15 19:06:00 CDT 2013


On Thu, Aug 15, 2013 at 6:51 PM, Satish Balay <balay at mcs.anl.gov> wrote:

> Alternative way to handle this is:
>
> >>>
> #define HAVE_CUBLAS
> #include "magma.h"
> <<<
>
> both in configure test - and petsc code that uses magma.h
> [but I'm not sure if this is possible with configure/package.py]
>

This is even worse. Just let Barry pollute our code with bad solutions that
we will eventually have
to fix up by doing it right.

I think we need to impose some order on things we incorporate, if only to
reduce the maintenance
burden on us.

   Matt


> Satish
>
>
> On Thu, 15 Aug 2013, Barry Smith wrote:
>
> >
> >    Damn Matt, why do you persist in giving such bad idealist advice.
> Magma is badly designed so be it, we can't do anything about that. You
> can't suddenly impose that magma do something reasonable.  We have to live
> with their silly decisions.
> >
> >    Harshad should use insertCompilerFlag() to simply add this flag
> -DHAVE_CUBLAS so that it gets used by everything compiled by BuildSystem.
> Unfortunately since the compiler stuff is handled in such an arcane way in
> BuildSystem I don't know on what object this method should be called on.
> self?  self.framework? some compiler beasty? Anyways just tell him how call
> insertCompilerFlag() and the proper place to call it from within magma.py
> and everything will be fine.
> >
> >    Barry
> >
> >
> >
> > On Aug 15, 2013, at 3:38 PM, Matthew Knepley <knepley at gmail.com> wrote:
> >
> > > On Thu, Aug 15, 2013 at 3:35 PM, Harshad Sahasrabudhe <
> hsahasra at purdue.edu> wrote:
> > > I don't know how to write a config header. Can you give me an example
> package which I can look at?
> > >
> > > ---magmaconfig.h
> > >
> > > #define HAVE_CUBLAS 1
> > >
> > >
> > >     Matt
> > >
> > > ----- Original Message -----
> > > From: "Matthew Knepley" <knepley at gmail.com>
> > > To: "Harshad Sahasrabudhe" <hsahasra at purdue.edu>
> > > Cc: "Karl Rupp" <rupp at mcs.anl.gov>, "For users of the development
> version of PETSc" <petsc-dev at mcs.anl.gov>
> > > Sent: Thursday, August 15, 2013 4:29:12 PM
> > > Subject: Re: [petsc-dev] Error while building MAGMA from PETSc
> > >
> > >
> > > On Thu, Aug 15, 2013 at 3:24 PM, Harshad Sahasrabudhe <
> hsahasra at purdue.edu > wrote:
> > >
> > >
> > >
> > >
> > > It is getting passed... Here is one line from configure.log:
> > >
> > > nvcc -g -DADD_ -Xcompiler -fno-strict-aliasing -DGPUSHMEM=130
> -DHAVE_CUBLAS -gencode arch=compute_13,code=sm_13 -gencode
> arch=compute_13,code=compute_13 -gencode arch=compute_10,code=compute_10
> -I/home/harshad/cuda-5.5/include -I../include -I../control -c
> zgeadd_batched.cu -o zgeadd_batched.cu_o
> > >
> > >
> > > During the Magma build. HOWEVER, when you compile with this header,
> you need to have this defined as well.
> > > I suggest writing a config header for that package since this "define
> on the command
> > > line stuff" is horrible. Then include that header in the regular Magma
> header that you are checking for.
> > >
> > >
> > > Matt
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "Karl Rupp" < rupp at mcs.anl.gov >
> > > To: "Harshad Sahasrabudhe" < hsahasra at purdue.edu >
> > > Cc: "Barry Smith" < bsmith at mcs.anl.gov >, "For users of the
> development version of PETSc" < petsc-dev at mcs.anl.gov >
> > >
> > >
> > > Sent: Thursday, August 15, 2013 4:23:37 PM
> > > Subject: Re: [petsc-dev] Error while building MAGMA from PETSc
> > >
> > > Hi again,
> > >
> > > > Yes, -DHAVE_CUBLAS is defined while compilation, but somehow I'm
> > > getting this error.
> > >
> > > Make sure this also gets passed to the CUDA compiler (nvcc).
> > >
> > > Best regards,
> > > Karli
> > >
> > >
> > > >
> > > > ----- Original Message -----
> > > > From: "Karl Rupp" < rupp at mcs.anl.gov >
> > > > To: "Harshad Sahasrabudhe" < hsahasra at purdue.edu >
> > > > Cc: "Barry Smith" < bsmith at mcs.anl.gov >, "For users of the
> development version of PETSc" < petsc-dev at mcs.anl.gov >
> > > > Sent: Thursday, August 15, 2013 4:18:57 PM
> > > > Subject: Re: [petsc-dev] Error while building MAGMA from PETSc
> > > >
> > > > Hey,
> > > >
> > > > apparently there must be one out of {CUBLAS, clAmdBlas, ICC for MIC}
> > > > installed. CUBLAS is already made available via --with-cuda, so you
> > > > should be fine pointing Magma to the CUDA folder. We don't have
> package
> > > > checks for clAmdBlas or MIC.
> > > >
> > > > Best regards,
> > > > Karli
> > > >
> > > >
> > > > On 08/15/2013 03:13 PM, Harshad Sahasrabudhe wrote:
> > > >> How does the testing work? What headers and functions do I need to
> include in magma.py?
> > > >>
> > > >> ----- Original Message -----
> > > >> From: "Barry Smith" < bsmith at mcs.anl.gov >
> > > >> To: "Harshad Sahasrabudhe" < hsahasra at purdue.edu >
> > > >> Cc: "Jed Brown" < jedbrown at mcs.anl.gov >, "For users of the
> development version of PETSc" < petsc-dev at mcs.anl.gov >
> > > >> Sent: Thursday, August 15, 2013 4:01:29 PM
> > > >> Subject: Re: [petsc-dev] Error while building MAGMA from PETSc
> > > >>
> > > >>
> > > >> Possible ERROR while running preprocessor: In file included from
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magmablas_z.h:14:0,
> > > >> from
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magmablas.h:12,
> > > >> from
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magma.h:15,
> > > >> from /tmp/petsc-Z_wD6e/config.headers/conftest.c:3:
> > > >>
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magma_types.h:146:6:
> error: #error "One of HAVE_CUBLAS, HAVE_clAmdBlas, or HAVE_MIC must be
> defined. This typically happens in Makefile.internal."
> > > >> ret = 256
> > > >> error message = {In file included from
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magmablas_z.h:14:0,
> > > >> from
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magmablas.h:12,
> > > >> from
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magma.h:15,
> > > >> from /tmp/petsc-Z_wD6e/config.headers/conftest.c:3:
> > > >>
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug/include/magma_types.h:146:6:
> error: #error "One of HAVE_CUBLAS, HAVE_clAmdBlas, or HAVE_MIC must be
> defined. This typically happens in Makefile.internal."
> > > >>
> > > >>
> > > >> On Aug 15, 2013, at 2:43 PM, Harshad Sahasrabudhe <
> hsahasra at purdue.edu > wrote:
> > > >>
> > > >>> Attached is the diff and configure.log
> > > >>>
> > > >>> ----- Original Message -----
> > > >>> From: "Jed Brown" < jedbrown at mcs.anl.gov >
> > > >>> To: "Matthew Knepley" < knepley at gmail.com >
> > > >>> Cc: "Harshad Sahasrabudhe" < hsahasra at purdue.edu >, "For users of
> the development version of PETSc" < petsc-dev at mcs.anl.gov >
> > > >>> Sent: Thursday, August 15, 2013 3:33:33 PM
> > > >>> Subject: Re: [petsc-dev] Error while building MAGMA from PETSc
> > > >>>
> > > >>>
> > > >>>
> > > >>> ... and send the changes you have made. One way to do that is to
> 'git add config/PETSc/packages/magma.py' and send the output if 'git diff
> master'.
> > > >>> On Aug 15, 2013 2:28 PM, "Matthew Knepley" < knepley at gmail.com >
> wrote:
> > > >>>
> > > >>>
> > > >>>
> > > >>> On Thu, Aug 15, 2013 at 1:56 PM, Harshad Sahasrabudhe <
> hsahasra at purdue.edu > wrote:
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> Hi,
> > > >>>
> > > >>> Now MAGMA compiles correctly and libmagma.a is generated, however
> PETSc says
> > > >>>
> > > >>> Downloaded magma could not be used. Please check install in
> /home/harshad/workspace/petsc-hg/arch-linux2-c-debug
> > > >>>
> > > >>> I am copying the generated library and include files to the
> install directory using
> > > >>>
> > > >>> includeDir = os.path.join(self.installDir, self.includedir)
> > > >>> output,err,ret = PETSc.package.NewPackage.executeShellCommand('cd
> '+self.packageDir+' && mv -f lib/*.* '+libDir+'/. && cp -f include/*.*
> '+includeDir+'/.', timeout=2500, log = self.framework.log)
> > > >>>
> > > >>> I need help in resolving this error.
> > > >>>
> > > >>>
> > > >>>
> > > >>> Always send configure.log.
> > > >>>
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>>
> > > >>> Thanks,
> > > >>> Harshad
> > > >>>
> > > >>> ----- Original Message -----
> > > >>> From: "Matthew Knepley" < knepley at gmail.com >
> > > >>> To: "Harshad Sahasrabudhe" < hsahasra at purdue.edu >
> > > >>> Cc: "For users of the development version of PETSc" <
> petsc-dev at mcs.anl.gov >
> > > >>> Sent: Wednesday, August 14, 2013 6:27:04 PM
> > > >>> Subject: Re: [petsc-dev] Error while building MAGMA from PETSc
> > > >>>
> > > >>>
> > > >>> On Wed, Aug 14, 2013 at 5:23 PM, Harshad Sahasrabudhe <
> hsahasra at purdue.edu > wrote:
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> Hi,
> > > >>>
> > > >>> I'm trying the write the package compiler for MAGMA using PETSc
> build system. I'm getting the following error while building MAGMA. With
> the error, I'm also getting a couple hundred warnings:
> > > >>>
> > > >>> sormqr_gpu_2stage.cpp: In function ‘magma_int_t
> magma_sormqr_gpu_2stages(char, char, magma_int_t, magma_int_t, magma_int_t,
> float*, magma_int_t, float*, magma_int_t, float*, magma_int_t,
> magma_int_t*)’:
> > > >>> sormqr_gpu_2stage.cpp:98: warning: unused variable ‘c_one’
> > > >>> sormqr_gpu_2stage.cpp:107: warning: unused variable ‘lwkopt’
> > > >>> strsm_m.cpp: In function ‘magma_int_t magma_strsm_m(magma_int_t,
> char, char, char, char, magma_int_t, magma_int_t, float, float*,
> magma_int_t, float*, magma_int_t)’:
> > > >>> strsm_m.cpp:181: warning: unused variable ‘jj’
> > > >>> strsm_m.cpp:181: warning: unused variable ‘jjb’
> > > >>> sgeev.cpp: In function ‘magma_int_t magma_sgeev(char, char,
> magma_int_t, float*, magma_int_t, float*, float*, float*, magma_int_t,
> float*, magma_int_t, float*, magma_int_t, magma_int_t*)’:
> > > >>> sgeev.cpp:126: warning: unused variable ‘c_n1’
> > > >>> nvcc fatal : redefinition of argument 'gpu-architecture'
> > > >>>
> > > >>>
> > > >>> What is the easiest way to debug this kind of an error?
> > > >>>
> > > >>>
> > > >>>
> > > >>> 1) Make the MAGMA build system print out the full compile line
> > > >>>
> > > >>>
> > > >>> 2) Make the MAGMA people clean up their sloppy code, which would
> eliminate the warnings
> > > >>>
> > > >>>
> > > >>> Matt
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> Thanks,
> > > >>> Harshad
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> --
> > > >>> 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
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> --
> > > >>> 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<diff_magma><configure.log>
> > > >>
> > > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > 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
> > >
> > >
> > >
> > > --
> > > 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
> >
> >
>



-- 
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/20130815/b30d5680/attachment.html>


More information about the petsc-dev mailing list