From 3d37edfb009e4df7cccedaccb3a8457fe67135b5 Mon Sep 17 00:00:00 2001 From: Nikolay Bogoychev Date: Wed, 2 Aug 2023 12:09:33 +0100 Subject: [PATCH] Simplify invocation a bit --- bindings/python/translator.py | 3 --- src/translator/service.cpp | 11 ++++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/bindings/python/translator.py b/bindings/python/translator.py index 75f0233ce..f428579cf 100755 --- a/bindings/python/translator.py +++ b/bindings/python/translator.py @@ -125,9 +125,6 @@ def main(): num_gpus = [] else: num_gpus = args.num_gpus[0] - print(num_gpus) - print(type(num_gpus)) - print(args.num_workers) translator = Translator(args.config, args.num_workers, num_gpus, args.cache_size, args.logging, args.terminology_tsv, args.force_terminology, args.terminology_form) if args.path_to_input is None: diff --git a/src/translator/service.cpp b/src/translator/service.cpp index 0d1936ab8..84be42038 100644 --- a/src/translator/service.cpp +++ b/src/translator/service.cpp @@ -158,15 +158,16 @@ AsyncService::AsyncService(const AsyncService::Config &config) safeBatchingPool_(), cache_(makeOptionalCache(config_.cacheSize, /*mutexBuckets=*/config_.numWorkers)), logger_(config.logger) { - if (config_.gpuWorkers.size() != 0) { - ABORT_IF(config_.numWorkers != 0, "Unable to mix GPU and CPU workers."); + if (config_.gpuWorkers.empty()) { + ABORT_IF(config_.numWorkers == 0, "Number of workers should be at least 1 in a threaded workflow"); + workers_.reserve(config_.numWorkers); + } else { + if (config_.numWorkers != 0) + LOG(info, "Unable to mix GPU and CPU workers, using GPU workers only..."); workers_.reserve(config_.gpuWorkers.size()); // VERY VERY HACKY. EVERYTHING USES NUM_WORKERS AS A REFERENCE FOR THE NUMBER OF WORKERS, // REFACTOR TO USE gpuWorkers directly... config_.numWorkers = config_.gpuWorkers.size(); - } else { - ABORT_IF(config_.numWorkers == 0, "Number of workers should be at least 1 in a threaded workflow"); - workers_.reserve(config_.numWorkers); } // Initiate terminology map if present if (!config_.terminologyFile.empty()) {