def all(): settings = ffi_call(lib.plaidml_settings_list) try: x = settings.kvps return { decode_str(x[i].key): decode_str(x[i].value) for i in range(settings.nkvps) } finally: ffi_call(lib.plaidml_settings_free, settings)
def list_targets(): ntargets = ffi_call(lib.plaidml_target_list_count) raw_targets = ffi.new('plaidml_string*[]', ntargets) ffi_call(lib.plaidml_target_list, ntargets, raw_targets) return [decode_str(x) for x in raw_targets]
def list_devices(): ndevices = ffi_call(lib.plaidml_device_list_count) raw_devices = ffi.new('plaidml_string*[]', ndevices) ffi_call(lib.plaidml_device_list, ndevices, raw_devices) return [decode_str(x) for x in raw_devices]
def list_targets(): strs = ffi_call(lib.plaidml_targets_get) try: return [decode_str(strs[0].strs[i]) for i in range(strs.nstrs)] finally: ffi_call(lib.plaidml_strings_free, strs)
def all(): nitems = ffi_call(lib.plaidml_settings_list_count) raw_keys = ffi.new('plaidml_string*[]', nitems) raw_values = ffi.new('plaidml_string*[]', nitems) ffi_call(lib.plaidml_settings_list, nitems, raw_keys, raw_values) return {decode_str(key): decode_str(value) for key, value in zip(raw_keys, raw_values)}
def get(key): ret = decode_str(ffi_call(lib.plaidml_settings_get, key.encode())) if ret is None: raise EnvironmentError('Could not find setting: {}'.format(key)) return ret