" Input: { (target) - if specified, use info from 'machine' module (host_os) - host OS (detect, if omitted) (os) or (target_os) - OS module to check (if omitted, analyze host) (device_id) - device id if remote (such as adb) (skip_device_init) - if 'yes', do not initialize device (print_device_info) - if 'yes', print extra device info (skip_info_collection) - if 'yes', do not collect info (particularly for remote) (skip_print_os_info) - if 'yes', do not print OS info (exchange) - if 'yes', exchange info with some repo (by default, remote-ck) (share) - the same as 'exchange' (exchange_repo) - which repo to record/update info (remote-ck by default) (exchange_subrepo) - if remote, remote repo UOA (exchange_locally) - if 'yes', exchange locally (extra_info) - extra info about author, etc (see add from CK kernel) (type) - cuda or opencl (quiet) - select default dependencies (select) - if 'yes', select specific platform and device (only when one type, i.e. opencl or cuda) (deps) - pre-set dependencies when used inside 'program' module (to reuse already selected compilers and libs) (compute_platform_id) - pre-select platform ID (compute_device_id) - pre-select device ID (sudo) - force SUDO use ... } Output: { return - return code = 0, if successful > 0, if error (error) - error text if return > 0 features = [ { gpgpu - GPGPU features (properties), unified gpgpu_misc - assorted GPGPU features (properties), platform dependent gpgpu_id - local ID {'gpgpu_platform_id', 'gpgpu_device_id'} } ] choices = { (compute_platform_id) (compute_device_id) } } "