def GetMetadata(vm): """Returns gpu-specific metadata as a dict. Args: vm: virtual machine to operate on Returns: A dict of gpu- and CUDA- specific metadata. """ metadata = nvidia_driver.GetMetadata(vm) metadata['cuda_toolkit_version'] = FLAGS.cuda_toolkit_version metadata['cuda_toolkit_home'] = CUDA_HOME return metadata
def _CreateMetadataDict(benchmark_spec, model, batch_size): """Create metadata dict to be used in run results. Args: benchmark_spec: benchmark spec model: model which was run batch_size: batch sized used Returns: metadata dict """ vm = benchmark_spec.vms[0] metadata = {} if nvidia_driver.CheckNvidiaGpuExists(vm): metadata.update(nvidia_driver.GetMetadata(vm)) metadata['command_line'] = benchmark_spec.tf_cnn_benchmark_cmd metadata['cnn_benchmarks_branch'] = benchmark_spec.cnn_benchmarks_branch metadata['tensorflow_version'] = benchmark_spec.tensorflow_version metadata['tensorflow_cpu_pip_package'] = ( benchmark_spec.tensorflow_cpu_pip_package) metadata['tensorflow_gpu_pip_package'] = ( benchmark_spec.tensorflow_gpu_pip_package) # If we ran a custom command-line through the benchmark_args flag, # add the metadata from that command and return. We don't need anymore # metadata from this function as it is likely invalid. if getattr(benchmark_spec, 'benchmark_args', None): metadata.update( _GetMetadataFromBenchmarkArgs(benchmark_spec.benchmark_args)) return metadata metadata['model'] = model metadata['batch_size'] = batch_size metadata['forward_only'] = benchmark_spec.forward_only metadata['data_name'] = benchmark_spec.data_name metadata['data_dir'] = benchmark_spec.data_dir metadata['use_local_data'] = benchmark_spec.use_local_data metadata['variable_update'] = benchmark_spec.variable_update metadata['local_parameter_device'] = benchmark_spec.local_parameter_device metadata['device'] = benchmark_spec.device metadata['data_format'] = benchmark_spec.data_format metadata['distortions'] = benchmark_spec.distortions metadata['distributed'] = benchmark_spec.distributed metadata['precision'] = benchmark_spec.precision metadata['num_gpus'] = benchmark_spec.num_gpus return metadata