pub(crate) fn args_to_bench<T>(
    cmd: &CmdOpt,
    device: Device
) -> Result<(Box<dyn FnMut() -> Result<HashJoinPoint, Error>>, DataPoint), Error> where
    T: Default + AsPrimitive<c_uint> + Copy + DeviceCopy + Sync + Send + KeyAttribute + CudaHashJoinable + CpuHashJoinable + FromPrimitive + DeserializeOwned