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]


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 <[email protected]> wrote:
> 
> > On Thu, Aug 15, 2013 at 3:35 PM, Harshad Sahasrabudhe <[email protected]> 
> > 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" <[email protected]>
> > To: "Harshad Sahasrabudhe" <[email protected]>
> > Cc: "Karl Rupp" <[email protected]>, "For users of the development version 
> > of PETSc" <[email protected]>
> > 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 < [email protected] 
> > > 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" < [email protected] >
> > To: "Harshad Sahasrabudhe" < [email protected] >
> > Cc: "Barry Smith" < [email protected] >, "For users of the development 
> > version of PETSc" < [email protected] >
> > 
> > 
> > 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" < [email protected] >
> > > To: "Harshad Sahasrabudhe" < [email protected] >
> > > Cc: "Barry Smith" < [email protected] >, "For users of the development 
> > > version of PETSc" < [email protected] >
> > > 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" < [email protected] >
> > >> To: "Harshad Sahasrabudhe" < [email protected] >
> > >> Cc: "Jed Brown" < [email protected] >, "For users of the development 
> > >> version of PETSc" < [email protected] >
> > >> 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 < [email protected] 
> > >> > wrote:
> > >>
> > >>> Attached is the diff and configure.log
> > >>>
> > >>> ----- Original Message -----
> > >>> From: "Jed Brown" < [email protected] >
> > >>> To: "Matthew Knepley" < [email protected] >
> > >>> Cc: "Harshad Sahasrabudhe" < [email protected] >, "For users of the 
> > >>> development version of PETSc" < [email protected] >
> > >>> 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" < [email protected] > wrote:
> > >>>
> > >>>
> > >>>
> > >>> On Thu, Aug 15, 2013 at 1:56 PM, Harshad Sahasrabudhe < 
> > >>> [email protected] > 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" < [email protected] >
> > >>> To: "Harshad Sahasrabudhe" < [email protected] >
> > >>> Cc: "For users of the development version of PETSc" < 
> > >>> [email protected] >
> > >>> 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 < 
> > >>> [email protected] > 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
> 
> 

Reply via email to