Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c189912

Browse files
code cleanup
1 parent 151facd commit c189912

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed

‎nipype/utils/gpu_count.py‎

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,22 @@
2525

2626
import platform
2727
import shutil
28-
fromsubprocessimport Popen, PIPE
28+
import subprocess
2929
import os
3030

3131

3232
def gpu_count():
33+
nvidia_smi = shutil.which('nvidia-smi')
34+
if nvidia_smi is None and platform.system() == "Windows":
35+
nvidia_smi = f'{os.environ["systemdrive"]}\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe'
36+
if nvidia_smi is None:
37+
return 0
3338
try:
34-
if platform.system() == "Windows":
35-
nvidia_smi = shutil.which('nvidia-smi')
36-
if nvidia_smi is None:
37-
nvidia_smi = (
38-
"%s\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe"
39-
% os.environ['systemdrive']
40-
)
41-
else:
42-
nvidia_smi = "nvidia-smi"
43-
44-
p = Popen(
39+
p = subprocess.run(
4540
[nvidia_smi, "--query-gpu=name", "--format=csv,noheader,nounits"],
46-
stdout=PIPE,
41+
stdout=subprocess.PIPE,
42+
text=True,
4743
)
48-
stdout, stderror = p.communicate()
49-
50-
output = stdout.decode('UTF-8')
51-
lines = output.split(os.linesep)
52-
num_devices = len(lines) - 1
53-
return num_devices
54-
except:
44+
except (OSError, UnicodeDecodeError):
5545
return 0
46+
return len(p.stdout.splitlines())

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /