self.executeTest(self.configureConversion) self.executeTest(self.configureMPI2) self.executeTest(self.configureTypes) self.executeTest(self.configureMPITypes) self.executeTest(self.configureMissingPrototypes) self.executeTest(self.SGIMPICheck) self.executeTest(self.CxxMPICheck) self.executeTest(self.FortranMPICheck) self.executeTest(self.configureIO) if self.libraries.check( self.dlib, "MPI_Alltoallw") and self.libraries.check( self.dlib, "MPI_Type_create_indexed_block"): self.addDefine('HAVE_MPI_ALLTOALLW', 1) if self.libraries.check(self.dlib, "MPI_Comm_spawn"): self.addDefine('HAVE_MPI_COMM_SPAWN', 1) if self.libraries.check(self.dlib, "MPI_Win_create"): self.addDefine('HAVE_MPI_WIN_CREATE', 1) if self.libraries.check(self.dlib, "MPI_Finalized"): self.addDefine('HAVE_MPI_FINALIZED', 1) if __name__ == '__main__': import config.framework import sys framework = config.framework.Framework(sys.argv[1:]) framework.setupLogging(framework.clArgs) framework.children.append(Configure(framework)) framework.configure() framework.dumpSubstitutions()
return def checkForRoutine(self, routine): ''' used by other packages to see if a BLAS routine is available This is not really correct because other packages do not (usually) know about f2cblasLapack''' if self.f2c: return self.libraries.check(self.dlib, routine + '_') else: return self.libraries.check(self.dlib, routine, fortranMangle=hasattr( self.compilers, 'FC')) def configure(self): if self.defaultPrecision == 'double' or self.defaultPrecision == 'single': self.executeTest(self.configureLibrary) self.executeTest(self.checkESSL) self.executeTest(self.checkPESSL) self.executeTest(self.checkMissing) return if __name__ == '__main__': import config.framework import sys framework = config.framework.Framework(sys.argv[1:]) framework.setupLogging() framework.children.append(Configure(framework)) framework.configure() framework.dumpSubstitutions()
self.addDefine('HAVE_MPI_ALLTOALLW',1) if self.libraries.check(self.dlib, "MPI_Win_create"): self.addDefine('HAVE_MPI_WIN_CREATE',1) self.addDefine('HAVE_MPI_REPLACE',1) # MPI_REPLACE is strictly for use with the one-sided function MPI_Accumulate funcs = '''MPI_Comm_spawn MPI_Type_get_envelope MPI_Type_get_extent MPI_Type_dup MPI_Init_thread MPIX_Iallreduce MPI_Iallreduce MPI_Ibarrier MPI_Finalized MPI_Exscan'''.split() for f in funcs: if self.libraries.check(self.dlib, f): self.addDefine('HAVE_' + f.upper(),1) oldFlags = self.compilers.CPPFLAGS # Disgusting save and restore self.compilers.CPPFLAGS += ' '+self.headers.toString(self.include) if self.checkCompile('#include <mpi.h>', 'int combiner = MPI_COMBINER_DUP;'): self.addDefine('HAVE_MPI_COMBINER_DUP',1) self.compilers.CPPFLAGS = oldFlags if self.libraries.check(self.dlib, "MPIDI_CH3I_sock_set"): self.addDefine('HAVE_MPICH_CH3_SOCK', 1) if self.libraries.check(self.dlib, "MPIDI_CH3I_sock_fixed_nbc_progress"): # Indicates that this bug was fixed: http://trac.mpich.org/projects/mpich/ticket/1785 self.addDefine('HAVE_MPICH_CH3_SOCK_FIXED_NBC_PROGRESS', 1) if __name__ == '__main__': import config.framework import sys framework = config.framework.Framework(sys.argv[1:]) framework.setupLogging(framework.clArgs) framework.children.append(Configure(framework)) framework.configure() framework.dumpSubstitutions()
return self.libraries.check(self.dlib,routine+'_') else: return self.libraries.check(self.dlib,routine) else: return self.libraries.check(self.dlib,routine,fortranMangle = hasattr(self.compilers, 'FC')) def check64BitBLASIndices(self): '''Check for and use 64bit integer blas''' if 'known-64-bit-blas-indices' in self.argDB: if int(self.argDB['known-64-bit-blas-indices']): self.addDefine('HAVE_64BIT_BLAS_INDICES', 1) return def configure(self): self.executeTest(self.configureLibrary) self.executeTest(self.check64BitBLASIndices) self.executeTest(self.checkESSL) self.executeTest(self.checkPESSL) self.executeTest(self.checkMissing) self.executeTest(self.checklsame) return if __name__ == '__main__': import config.framework import sys framework = config.framework.Framework(sys.argv[1:]) framework.setupLogging() framework.children.append(Configure(framework)) framework.configure() framework.dumpSubstitutions()