An accelerator device configured as field programmable gate array, the accelerator device comprising: one or more slots , each slot being a subset of the gates present in the field programmable gate array and implementing a kernel , each kernel being embodied as a set of gates configured to perform a set of functions; and circuitry to: receive, from a compute device , one or more parameters of a workload, the workload to be performed at a slot of the one or more slots of the accelerator device and one or more slots of one or more remote accelerator devices ; provide the one or more parameters of the workload to a kernel of the one or more slots of the accelerator device ; receive telemetry data indicating a performance parameter of the one or more remote accelerator devices ; receive, from the kernel , a workload result based on the one or more parameters of the workload;automatically compress the workload result without instruction from the kernel , wherein to automatically compress the workload result comprises: to determine whether or not compression should be used based on the telemetry data, and to select a compression algorithm to use based on the telemetry data; and send the compressed workload result to the compute device . one or more slots , each slot being a subset of the gates present in the field programmable gate array and implementing a kernel , each kernel being embodied as a set of gates configured to perform a set of functions; and circuitry to: receive, from a compute device , one or more parameters of a workload, the workload to be performed at a slot of the one or more slots of the accelerator device and one or more slots of one or more remote accelerator devices ; provide the one or more parameters of the workload to a kernel of the one or more slots of the accelerator device ; receive telemetry data indicating a performance parameter of the one or more remote accelerator devices ; receive, from the kernel , a workload result based on the one or more parameters of the workload;automatically compress the workload result without instruction from the kernel , wherein to automatically compress the workload result comprises: to determine whether or not compression should be used based on the telemetry data, and to select a compression algorithm to use based on the telemetry data; and send the compressed workload result to the compute device . receive, from a compute device , one or more parameters of a workload, the workload to be performed at a slot of the one or more slots of the accelerator device and one or more slots of one or more remote accelerator devices ; provide the one or more parameters of the workload to a kernel of the one or more slots of the accelerator device ; receive telemetry data indicating a performance parameter of the one or more remote accelerator devices ; receive, from the kernel , a workload result based on the one or more parameters of the workload;automatically compress the workload result without instruction from the kernel , wherein to automatically compress the workload result comprises: to determine whether or not compression should be used based on the telemetry data, and to select a compression algorithm to use based on the telemetry data; and send the compressed workload result to the compute device . to determine whether or not compression should be used based on the telemetry data, and to select a compression algorithm to use based on the telemetry data; and send the compressed workload result to the compute device . <EOS>