On Thu, Aug 15, 2013 at 6:51 PM, Satish Balay <[email protected]> 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 <[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 > > > > > -- 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
