Пример #1
0
    def __init__(self, raw_args=None):
        self.args, self.unknowns = parser.parse_known_args(raw_args)
        os.environ["CLAIMER"] = self.args.claimer_id
        self.benchmark_downloader = DownloadBenchmarks(self.args, getLogger())
        self.adb = ADB(None, self.args.android_dir)
        setLoggerLevel(self.args.logger_level)
        if not self.args.benchmark_db_entry:
            assert (
                self.args.server_addr is not None
            ), "Either server_addr or benchmark_db_entry must be specified"
            while self.args.server_addr[-1] == "/":
                self.args.server_addr = self.args.server_addr[:-1]
            self.args.benchmark_db_entry = self.args.server_addr + "/benchmark/"
        self.db = DBDriver(
            self.args.benchmark_db,
            self.args.app_id,
            self.args.token,
            self.args.benchmark_table,
            self.args.job_queue,
            self.args.test,
            self.args.benchmark_db_entry,
        )
        self.device_manager = DeviceManager(self.args, self.db)
        self.devices = self.device_manager.getLabDevices()

        if self.args.platform.startswith("host"):
            numProcesses = 2
        else:
            numProcesses = multiprocessing.cpu_count() - 1
        self.pool = Pool(max_workers=numProcesses, initializer=hookSignals)
Пример #2
0
 def __init__(self, raw_args=None):
     self.args, self.unknowns = parser.parse_known_args(raw_args)
     self._updateArgs(self.args)
     setLoggerLevel(self.args.logger_level)
     if not self.args.benchmark_db_entry:
         assert (
             self.args.server_addr is not None
         ), "Either server_addr or benchmark_db_entry must be specified"
         while self.args.server_addr[-1] == "/":
             self.args.server_addr = self.args.server_addr[:-1]
         self.args.benchmark_db_entry = self.args.server_addr + "/benchmark/"
     self.db = DBDriver(
         self.args.benchmark_db,
         self.args.app_id,
         self.args.token,
         self.args.benchmark_table,
         self.args.job_queue,
         self.args.test,
         self.args.benchmark_db_entry,
     )
     self.url_printer = PrintResultURL(self.args)
     self.file_handler = FileHandler(self.args)
     self.devices = Devices(self.args.devices_config)
     # Hard code scuba table
     self.scuba_dataset = "caffe2_benchmarking"
     self.info = None
     self.temprdir = ""
Пример #3
0
    def __init__(self, raw_args=None):
        self.args, self.unknowns = parser.parse_known_args(raw_args)
        self.benchmark_downloader = DownloadBenchmarks(self.args, getLogger())
        self.adb = ADB(None, self.args.android_dir)
        devices = self._getDevices()
        setLoggerLevel(self.args.logger_level)
        if not self.args.benchmark_db_entry:
            assert self.args.server_addr is not None, \
                "Either server_addr or benchmark_db_entry must be specified"
            while self.args.server_addr[-1] == '/':
                self.args.server_addr = self.args.server_addr[:-1]
            self.args.benchmark_db_entry = self.args.server_addr + "/benchmark/"
        self.db = DBDriver(self.args.benchmark_db, self.args.app_id,
                           self.args.token, self.args.benchmark_table,
                           self.args.job_queue, self.args.test,
                           self.args.benchmark_db_entry)

        self.devices = {}
        for k in devices:
            kind = k["kind"]
            hash = k["hash"]
            entry = {
                "kind":
                kind,
                "hash":
                hash,
                "available":
                True,
                "live":
                True,
                "start_time":
                None,
                "done_time":
                None,
                "output_dir":
                None,
                "job":
                None,
                "adb":
                ADB(hash, self.args.android_dir),
                "reboot_time":
                datetime.datetime.now() - datetime.timedelta(hours=8)
            }
            if kind not in self.devices:
                self.devices[kind] = {}
            assert hash not in self.devices[kind], \
                "Device {} ({}) is attached twice.".format(kind, hash)
            self.devices[kind][hash] = entry

        dvs = [
            self.devices[k][h] for k in self.devices for h in self.devices[k]
        ]
        self.db.updateDevices(self.args.claimer_id, getDevicesString(dvs),
                              True)
        if self.args.platform.startswith("host"):
            numProcesses = 2
        else:
            numProcesses = multiprocessing.cpu_count() - 1
        self.pool = multiprocessing.Pool(processes=numProcesses)
Пример #4
0
 def __init__(self, raw_args=None):
     self.args, self.unknowns = parser.parse_known_args(raw_args)
     self.root_dir = self.args.config_dir
     self.repoCls = LabDriver
     setLoggerLevel(self.args.logger_level)
Пример #5
0
 def __init__(self, raw_args=None):
     self.args, self.unknowns = parser.parse_known_args(raw_args)
     setLoggerLevel(self.args.logger_level)