def getCudaLib(environ=None, useMC2=False): if environ is None: environ = Environ(os.environ) if useMC2: return environ.getFirst((MOTIONCOR2_CUDA_LIB, CUDA_LIB)) else: return environ.getFirst((MOTIONCORR_CUDA_LIB, CUDA_LIB))
def testInitialVolumeSelector(self): def _runVolumeSelector(doGpu=False, label=''): print label volSelectorProt = self.newProtocol(ProtInitialVolumeSelector, targetResol=28.32, numberOfIterations=15, numberOfMpi=3, numberOfThreads=1) volSelectorProt.setObjLabel(label) volSelectorProt.inputParticles.set(self.protImport.outputParticles) volSelectorProt.inputVolumes.set(self.protImportVol.outputVolumes) volSelectorProt.doGpu.set(doGpu) self.launchProtocol(volSelectorProt) return volSelectorProt def _checkAsserts(relionProt): self.assertIsNotNone(relionProt.outputVolumes, "There was a " "problem with " "Initial Volume " "Selector") environ = Environ(os.environ) cudaPath = environ.getFirst(('RELION_CUDA_LIB', 'CUDA_LIB')) if cudaPath is not None and os.path.exists(cudaPath): volSelGpu = _runVolumeSelector(True, "Run Volume Selector GPU") _checkAsserts(volSelGpu) else: volSelNoGPU = _runVolumeSelector(False, "Volume Selector No GPU") _checkAsserts(volSelNoGPU)
def getEnviron(): """ Load the environment variables needed for Spider. If SPIDER_DIR is defined, the bin, man and proc folders will be defined from it. If not, each of them should be defined separately. """ global SPIDER env = Environ(os.environ) SPIDER_PATH = env.getFirst((SPIDER_HOME, SPIDER_DIR), mandatory=True) # # Scipion # definition # env.setInstalled(os.path.exists(SPIDER_DIR)) if SPIDER_PATH is None: errors = '' for var in [SPBIN_DIR, SPMAN_DIR, SPPROC_DIR]: if not var in env: errors += "\n Missing SPIDER variable: '%s'" % var if len(errors): print "ERRORS: " + errors else: env.update({SPBIN_DIR: join(SPIDER_PATH, 'bin') + '/', # Spider needs this extra slash at the end SPMAN_DIR: join(SPIDER_PATH, 'man') + '/', SPPROC_DIR: join(SPIDER_PATH, 'proc') + '/' }) # Get the executable or 'spider' by default SPIDER = join(env[SPBIN_DIR], env.get('SPIDER', 'spider_linux_mp_intel64')) # expand ~ and vars SPIDER = abspath(os.path.expanduser(os.path.expandvars(SPIDER))) env.set('PATH', env[SPBIN_DIR], env.END) return env
def testInitialVolumeSelector(self): def _runVolumeSelector(doGpu=False, label=''): print label volSelectorProt = self.newProtocol(ProtInitialVolumeSelector, targetResol=28.32, numberOfIterations=15, numberOfMpi=3, numberOfThreads=1) volSelectorProt.setObjLabel(label) volSelectorProt.inputParticles.set(self.protImport.outputParticles) volSelectorProt.inputVolumes.set(self.protImportVol.outputVolumes) volSelectorProt.doGpu.set(doGpu) self.launchProtocol(volSelectorProt) return volSelectorProt def _checkAsserts(relionProt): self.assertIsNotNone( relionProt.outputVolumes, "There was a " "problem with " "Initial Volume " "Selector") environ = Environ(os.environ) cudaPath = environ.getFirst(('RELION_CUDA_LIB', 'CUDA_LIB')) if cudaPath is not None and os.path.exists(cudaPath): volSelGpu = _runVolumeSelector(True, "Run Volume Selector GPU") _checkAsserts(volSelGpu) else: volSelNoGPU = _runVolumeSelector(False, "Volume Selector No GPU") _checkAsserts(volSelNoGPU)
def getEnviron(): """ Setup the environment variables needed to launch Relion. """ environ = Environ(os.environ) relionHome = os.environ[RELION_HOME] binPath = join(relionHome, 'bin') libPath = join(relionHome, 'lib') + ":" + join(relionHome, 'lib64') if not binPath in environ['PATH']: environ.update({'PATH': binPath, 'LD_LIBRARY_PATH': libPath, 'SCIPION_MPI_FLAGS': os.environ.get('RELION_MPI_FLAGS', ''), }, position=Environ.BEGIN) # Take Scipion CUDA library path cudaLib = environ.getFirst(('RELION_CUDA_LIB', 'CUDA_LIB')) environ.addLibrary(cudaLib) return environ
def getEnviron(): """ Load the environment variables needed for Spider. If SPIDER_DIR is defined, the bin, man and proc folders will be defined from it. If not, each of them should be defined separately. """ global SPIDER env = Environ(os.environ) SPIDER_PATH = env.getFirst((SPIDER_HOME, SPIDER_DIR), mandatory=True) # # Scipion # definition # env.setInstalled(os.path.exists(SPIDER_DIR)) if SPIDER_PATH is None: errors = '' for var in [SPBIN_DIR, SPMAN_DIR, SPPROC_DIR]: if not var in env: errors += "\n Missing SPIDER variable: '%s'" % var if len(errors): print "ERRORS: " + errors else: env.update({ SPBIN_DIR: join(SPIDER_PATH, 'bin') + '/', # Spider needs this extra slash at the end SPMAN_DIR: join(SPIDER_PATH, 'man') + '/', SPPROC_DIR: join(SPIDER_PATH, 'proc') + '/' }) # Get the executable or 'spider' by default SPIDER = join(env[SPBIN_DIR], env.get('SPIDER', 'spider_linux_mp_intel64')) # expand ~ and vars SPIDER = abspath(os.path.expanduser(os.path.expandvars(SPIDER))) env.set('PATH', env[SPBIN_DIR], env.END) return env
def getImagicHomeDir(): env = Environ(os.environ) imagicdir = env.getFirst((IMAGIC_HOME, IMAGIC_DIR), mandatory=True) # # Scipion # definition return env, imagicdir