GPU info for MPI.

这个提交包含在:
craig-warren
2020-04-07 09:33:30 +01:00
父节点 b9e30c4f49
当前提交 4f9393d029
共有 2 个文件被更改,包括 7 次插入8 次删除

查看文件

@@ -18,7 +18,6 @@
import datetime
import logging
import platform
import sys
import gprMax.config as config
@@ -92,12 +91,12 @@ class Context:
"""Print information about any NVIDIA CUDA GPUs detected."""
gpus_info = []
for gpu in config.sim_config.cuda['gpus']:
gpus_info.append(f'{gpu.deviceID} {gpu.pcibusID} - {gpu.name}, {human_size(gpu.totalmem, a_kilobyte_is_1024_bytes=True)}')
gpus_info.append(f'{gpu.deviceID} - {gpu.name}, {human_size(gpu.totalmem, a_kilobyte_is_1024_bytes=True)}')
logger.basic(f"GPU resources: {' | '.join(gpus_info)}")
def print_time_report(self):
"""Print the total simulation time based on context."""
s = f"\n=== Simulation on {config.sim_config.hostinfo['hostname']} completed in [HH:MM:SS]: {datetime.timedelta(seconds=self.tsimend - self.tsimstart)}"
s = f"\n=== Simulation completed in [HH:MM:SS]: {datetime.timedelta(seconds=self.tsimend - self.tsimstart)}"
logger.basic(f"{s} {'=' * (get_terminal_width() - 1 - len(s))}\n")
@@ -124,8 +123,7 @@ class MPIContext(Context):
model_config = config.ModelConfig()
# Set GPU deviceID according to worker rank
if config.sim_config.general['cuda']:
gpu = config.sim_config.cuda['gpus'][self.rank - 1]
model_config.cuda = {'gpu': gpu,
model_config.cuda = {'gpu': config.sim_config.cuda['gpus'][self.rank - 1],
'snapsgpu2cpu': False}
config.model_configs = model_config
@@ -147,7 +145,7 @@ class MPIContext(Context):
if config.sim_config.general['cuda']:
self.print_gpu_info()
sys.stdout.flush()
logger.basic(platform.node())
# Contruct MPIExecutor
executor = self.MPIExecutor(self._run_model, comm=self.comm)

查看文件

@@ -20,6 +20,7 @@ import datetime
import itertools
import logging
from pathlib import Path
import platform
import psutil
import sys
@@ -260,12 +261,12 @@ class ModelBuildRun:
# Check number of OpenMP threads
if config.sim_config.general['cpu']:
logger.basic(f'CPU (OpenMP) threads for solving: {config.get_model_config().ompthreads}\n')
logger.basic(f'CPU solver with {config.get_model_config().ompthreads} OpenMP threads on {platform.node()}\n')
if config.get_model_config().ompthreads > config.sim_config.hostinfo['physicalcores']:
logger.warning(Fore.RED + f"You have specified more threads ({config.get_model_config().ompthreads}) than available physical CPU cores ({config.sim_config.hostinfo['physicalcores']}). This may lead to degraded performance." + Style.RESET_ALL)
# Print information about any GPU in use
elif config.sim_config.general['cuda']:
logger.basic(f"GPU for solving: {config.get_model_config().cuda['gpu'].deviceID} - {config.get_model_config().cuda['gpu'].name}\n")
logger.basic(f"GPU solver with device {config.get_model_config().cuda['gpu'].deviceID} - {config.get_model_config().cuda['gpu'].name} on {platform.node()}\n")
# Prepare iterator
if config.sim_config.general['progressbars']: