2021-03-23 19:15:47 +00:00
|
|
|
import os
|
2021-02-09 17:14:05 +00:00
|
|
|
from opendm import log
|
|
|
|
from repoze.lru import lru_cache
|
|
|
|
|
|
|
|
@lru_cache(maxsize=None)
|
|
|
|
def has_gpus():
|
2021-03-23 19:15:47 +00:00
|
|
|
if os.environ.get('ODM_NO_GPU'):
|
|
|
|
log.ODM_INFO("Disabling GPU features (ODM_NO_GPU is set)")
|
|
|
|
return False
|
|
|
|
|
2021-03-05 15:44:08 +00:00
|
|
|
try:
|
|
|
|
import pyopencl
|
|
|
|
except:
|
|
|
|
return False
|
2021-02-09 17:14:05 +00:00
|
|
|
|
|
|
|
try:
|
|
|
|
platforms = pyopencl.get_platforms()
|
2021-02-10 19:00:43 +00:00
|
|
|
for p in platforms:
|
|
|
|
log.ODM_INFO("Found GPU device: %s" % p.name)
|
|
|
|
|
|
|
|
return len(platforms) > 0
|
2021-02-09 17:14:05 +00:00
|
|
|
except Exception as e:
|
|
|
|
return False
|