From a77a6755495fe3871ca9aa53dd107554f26cc01b Mon Sep 17 00:00:00 2001 From: Zhenwen Dai Date: Tue, 9 Feb 2016 17:22:38 +0000 Subject: [PATCH] fix gpu initialziation --- GPy/kern/src/psi_comp/rbf_psi_gpucomp.py | 3 -- GPy/kern/src/psi_comp/ssrbf_psi_gpucomp.py | 2 - GPy/util/gpu_init.py | 52 ++++++++++++---------- 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/GPy/kern/src/psi_comp/rbf_psi_gpucomp.py b/GPy/kern/src/psi_comp/rbf_psi_gpucomp.py index baab83ec..e9268a3e 100644 --- a/GPy/kern/src/psi_comp/rbf_psi_gpucomp.py +++ b/GPy/kern/src/psi_comp/rbf_psi_gpucomp.py @@ -5,7 +5,6 @@ The module for psi-statistics for RBF kernel import numpy as np from paramz.caching import Cache_this from . import PSICOMP_RBF -from ....util import gpu_init gpu_code = """ // define THREADNUM @@ -238,8 +237,6 @@ class PSICOMP_RBF_GPU(PSICOMP_RBF): self.fall_back = PSICOMP_RBF() from pycuda.compiler import SourceModule - from ....util.gpu_init import initGPU - initGPU() self.GPU_direct = GPU_direct self.gpuCache = None diff --git a/GPy/kern/src/psi_comp/ssrbf_psi_gpucomp.py b/GPy/kern/src/psi_comp/ssrbf_psi_gpucomp.py index 844f944e..62876785 100644 --- a/GPy/kern/src/psi_comp/ssrbf_psi_gpucomp.py +++ b/GPy/kern/src/psi_comp/ssrbf_psi_gpucomp.py @@ -287,8 +287,6 @@ class PSICOMP_SSRBF_GPU(PSICOMP_RBF): def __init__(self, threadnum=128, blocknum=15, GPU_direct=False): from pycuda.compiler import SourceModule - from ....util.gpu_init import initGPU - initGPU() self.GPU_direct = GPU_direct self.gpuCache = None diff --git a/GPy/util/gpu_init.py b/GPy/util/gpu_init.py index 94763d8b..19339b91 100644 --- a/GPy/util/gpu_init.py +++ b/GPy/util/gpu_init.py @@ -10,29 +10,35 @@ gpu_device = None gpu_context = None MPI_enabled = False -def initGPU(): - try: - from mpi4py import MPI - MPI_enabled = True - except: - pass - try: - if MPI_enabled and MPI.COMM_WORLD.size>1: - from .parallel import get_id_within_node - gpuid = get_id_within_node() - import pycuda.driver - pycuda.driver.init() - if gpuid>=pycuda.driver.Device.count(): - print('['+MPI.Get_processor_name()+'] more processes than the GPU numbers!') - raise - gpu_device = pycuda.driver.Device(gpuid) - gpu_context = gpu_device.make_context() - gpu_initialized = True - else: - import pycuda.autoinit - gpu_initialized = True - except: - pass +try: + import pycuda.autoinit + gpu_initialized = True +except: + pass + +# def initGPU(): +# try: +# from mpi4py import MPI +# MPI_enabled = True +# except: +# pass +# try: +# if MPI_enabled and MPI.COMM_WORLD.size>1: +# from .parallel import get_id_within_node +# gpuid = get_id_within_node() +# import pycuda.driver +# pycuda.driver.init() +# if gpuid>=pycuda.driver.Device.count(): +# print('['+MPI.Get_processor_name()+'] more processes than the GPU numbers!') +# raise +# gpu_device = pycuda.driver.Device(gpuid) +# gpu_context = gpu_device.make_context() +# gpu_initialized = True +# else: +# import pycuda.autoinit +# gpu_initialized = True +# except: +# pass def closeGPU(): if gpu_context is not None: