def test_libdevice_path_decision(self): # Check that the default is using conda environment by, info = self.remote_do(self.do_clear_envs) if has_cuda: self.assertEqual(by, 'Conda environment') else: self.assertEqual(by, "<unavailable>") self.assertIsNone(info) # Check that CUDA_HOME works by removing conda-env by, info = self.remote_do(self.do_set_cuda_home) self.assertEqual(by, 'CUDA_HOME') self.assertEqual(info, os.path.join('mycudahome', 'nvvm', 'libdevice')) # Check that NUMBAPRO_LIBDEVICE override works by, info = self.remote_do(self.do_set_libdevice) self.assertEqual(by, 'NUMBAPRO_LIBDEVICE') self.assertEqual(info, os.path.join('nbp_libdevice')) if get_system_ctk() is None: # Fake remove conda environment so no cudatoolkit is available by, info = self.remote_do(self.do_clear_envs) self.assertEqual(by, '<unavailable>') self.assertIsNone(info) else: # Use system available cudatoolkit by, info = self.remote_do(self.do_clear_envs) self.assertEqual(by, 'System')
def test_libdevice_path_decision(self): # Check that the default is using conda environment by, info = self.remote_do(self.do_clear_envs) if has_cuda: self.assertEqual(by, 'Conda environment') else: self.assertEqual(by, "<unavailable>") self.assertIsNone(info) # Check that CUDA_HOME works by removing conda-env by, info = self.remote_do(self.do_set_cuda_home) self.assertEqual(by, 'CUDA_HOME') self.assertEqual(info, os.path.join('mycudahome', 'nvvm', 'libdevice')) # Check that NUMBAPRO_LIBDEVICE override works by, info = self.remote_do(self.do_set_libdevice) self.assertEqual(by, 'NUMBAPRO_LIBDEVICE') self.assertEqual(info, os.path.join('nbp_libdevice')) if get_system_ctk() is None: # Fake remove conda environment so no cudatoolkit is available by, info = self.remote_do(self.do_clear_envs) self.assertEqual(by, '<unavailable>') self.assertIsNone(info) else: # Use system available cudatoolkit by, info = self.remote_do(self.do_clear_envs) self.assertEqual(by, 'System')
def test_libdevice_path_decision(self): # Check that the default is using conda environment by, info, warns = self.remote_do(self.do_clear_envs) if has_cuda: self.assertEqual(by, "Conda environment") else: self.assertEqual(by, "<unknown>") self.assertIsNone(info) self.assertFalse(warns) # Check that CUDA_HOME works by removing conda-env by, info, warns = self.remote_do(self.do_set_cuda_home) self.assertEqual(by, "CUDA_HOME") self.assertEqual(info, os.path.join("mycudahome", "nvvm", "libdevice")) self.assertFalse(warns) # Check that NUMBAPRO_LIBDEVICE override *warns* by, info, warns = self.remote_do(self.do_set_libdevice) self.check_NUMBAPRO_warning(warns) # clear self.remote_do(self.do_clear_envs) if get_system_ctk() is None: # Fake remove conda environment so no cudatoolkit is available by, info, warns = self.remote_do(self.do_clear_envs) self.assertEqual(by, "<unknown>") self.assertIsNone(info) self.assertFalse(warns) else: # Use system available cudatoolkit by, info, warns = self.remote_do(self.do_clear_envs) self.assertEqual(by, "System") self.assertFalse(warns)
def test_cudalib_path_decision(self): # Check that the default is using conda environment by, info, warns = self.remote_do(self.do_clear_envs) if has_cuda: self.assertEqual(by, 'Conda environment') else: self.assertEqual(by, "<unknown>") self.assertIsNone(info) self.assertFalse(warns) # Check that CUDA_HOME works by removing conda-env self.remote_do(self.do_clear_envs) by, info, warns = self.remote_do(self.do_set_cuda_home) self.assertEqual(by, 'CUDA_HOME') self.assertFalse(warns) if IS_WIN32: self.assertEqual(info, os.path.join('mycudahome', 'bin')) elif IS_OSX: self.assertEqual(info, os.path.join('mycudahome', 'lib')) else: self.assertEqual(info, os.path.join('mycudahome', 'lib64')) if get_system_ctk() is None: # Fake remove conda environment so no cudatoolkit is available by, info, warns = self.remote_do(self.do_clear_envs) self.assertEqual(by, "<unknown>") self.assertIsNone(info) self.assertFalse(warns) else: # Use system available cudatoolkit by, info, warns = self.remote_do(self.do_clear_envs) self.assertEqual(by, 'System') self.assertFalse(warns)
def test_nvvm_path_decision(self): # Check that the default is using conda environment by, info, warns = self.remote_do(self.do_clear_envs) if has_cuda: self.assertEqual(by, "Conda environment") else: self.assertEqual(by, "<unknown>") self.assertIsNone(info) self.assertFalse(warns) # Check that CUDA_HOME works by removing conda-env by, info, warns = self.remote_do(self.do_set_cuda_home) self.assertEqual(by, "CUDA_HOME") self.assertFalse(warns) if IS_WIN32: self.assertEqual(info, os.path.join("mycudahome", "nvvm", "bin")) elif IS_OSX: self.assertEqual(info, os.path.join("mycudahome", "nvvm", "lib")) else: self.assertEqual(info, os.path.join("mycudahome", "nvvm", "lib64")) # Check that NUMBAPRO_CUDALIB override warns self.remote_do(self.do_clear_envs) by, info, warns = self.remote_do(self.do_set_cuda_lib) self.check_NUMBAPRO_warning(warns) # Check that NUMBAPRO_NVVM override warns self.remote_do(self.do_clear_envs) by, info, warns = self.remote_do(self.do_set_nvvm) self.check_NUMBAPRO_warning(warns) if get_system_ctk() is None: # Fake remove conda environment so no cudatoolkit is available by, info, warns = self.remote_do(self.do_clear_envs) self.assertEqual(by, "<unknown>") self.assertIsNone(info) self.assertFalse(warns) else: # Use system available cudatoolkit by, info, warns = self.remote_do(self.do_clear_envs) self.assertEqual(by, "System") self.assertFalse(warns)