From d861f350a2d0da75010d4f803ccedf036f3e5c16 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 13 Mar 2024 22:19:24 +0100 Subject: [PATCH 01/74] Avoid unused const variable/verbose_print warning --- src/acc/cuda_hip/acc_dev.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/acc/cuda_hip/acc_dev.cpp b/src/acc/cuda_hip/acc_dev.cpp index 9028a4a3c5f..99c7969c4ce 100644 --- a/src/acc/cuda_hip/acc_dev.cpp +++ b/src/acc/cuda_hip/acc_dev.cpp @@ -20,11 +20,6 @@ #include #include -// for debug purpose -#if defined(__HIP_PLATFORM_NVCC__) -static const int verbose_print = 1; -#endif - /****************************************************************************/ extern "C" int c_dbcsr_acc_get_ndevices(int* n_devices) { ACC_API_CALL(GetDeviceCount, (n_devices)); @@ -49,10 +44,8 @@ extern "C" int c_dbcsr_acc_set_active_device(int device_id) { // establish context ACC_API_CALL(Free, (0)); -#if defined(__HIP_PLATFORM_NVCC__) - if (verbose_print) { - ACC_API_CALL(DeviceSetLimit, (ACC(LimitPrintfFifoSize), (size_t)1000000000)); - } +#if defined(__CUDA) || defined(__HIP_PLATFORM_NVCC__) + ACC_API_CALL(DeviceSetLimit, (ACC(LimitPrintfFifoSize), (size_t)1000000000)); #endif return 0; From d82fe1e701762bd206a8fecc0295300b944dd8ea Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 17:49:58 +0000 Subject: [PATCH 02/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.3.2 → v0.3.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.2...v0.3.3) - [github.com/psf/black: 24.2.0 → 24.3.0](https://github.com/psf/black/compare/24.2.0...24.3.0) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a43656db2b9..0fd5b349023 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.3.2' + rev: 'v0.3.3' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] @@ -15,7 +15,7 @@ repos: .cp2k/.*| )$ - repo: https://github.com/psf/black - rev: 24.2.0 + rev: 24.3.0 hooks: - id: black name: Reformat Python files with the black code formatter From 1b3d8680f145536fdbc98bc7b00f53ac15130cc7 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 18 Mar 2024 21:42:57 +0100 Subject: [PATCH 03/74] ocl: fixed composing build flags and other improvements * Account for initial flags (c_dbcsr_acc_opencl_flags_atomics). * Improved support for multiple processes (auto-tune). --- .ci/daint.cscs.ch/ocl.build.sh | 2 +- src/acc/opencl/acc_opencl.c | 2 +- src/acc/opencl/smm/tune_multiply.py | 12 ++--- src/acc/opencl/smm/tune_multiply.sh | 78 ++++++++++++++++------------- 4 files changed, 51 insertions(+), 43 deletions(-) diff --git a/.ci/daint.cscs.ch/ocl.build.sh b/.ci/daint.cscs.ch/ocl.build.sh index ef788d6a9ce..baa2ed4dc88 100755 --- a/.ci/daint.cscs.ch/ocl.build.sh +++ b/.ci/daint.cscs.ch/ocl.build.sh @@ -27,7 +27,7 @@ if [ ! -d "${HOME}/libxsmm" ]; then fi cd "${HOME}/libxsmm" git fetch -git checkout 05705477183444a82c8d9be8d7c2627efd6d67fa +git checkout 6c55e168d2053fa44f60f6985c370303bd84f9c1 make -j cd .. diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 64756cc7d11..e595727ff80 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -1290,7 +1290,7 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, } assert(NULL != atomic_exp); /* compose build parameters and flags */ - result = LIBXSMM_SNPRINTF(flags, flags_maxlen, "-DTAN=%i %s %s -D\"ATOMIC_ADD_GLOBAL(A,B)=%s\" %s", kind, atomic_type, + result = LIBXSMM_SNPRINTF(flags, flags_maxlen, " -DTAN=%i %s %s -D\"ATOMIC_ADD_GLOBAL(A,B)=%s\" %s", kind, atomic_type, atomic_ops, atomic_exp, barrier_expr); } } diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index a6fd8e64f02..8f51f17effe 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -15,7 +15,6 @@ from opentuner import Result from signal import signal, SIGINT import tempfile -import socket import shutil import copy import json @@ -176,16 +175,15 @@ def __init__(self, args): ): # setup database (DB) if args.database is None: # adjust DB-location envrank = os.getenv("PMI_RANK", os.getenv("OMPI_COMM_WORLD_LOCAL_RANK")) + directory = "{}-{}".format(dbdir, os.getenv("HOSTNAME")) if envrank: self.idevice = int(envrank) % self.ndevices - directory = "{}-{}.db".format(dbdir, self.idevice) - else: - directory = "{}.db".format(dbdir) + directory += ".{}".format(self.idevice) if os.path.isdir(directory): shutil.rmtree(directory) os.mkdir(directory) self.args.database = "sqlite:///" + os.path.join( - directory, "{}.db".format(socket.gethostname()) + directory, "{}.db".format(os.getpid()) ) if not self.args.label: # label for DB-session self.args.label = "{}-{}-{}-s{}".format( @@ -436,7 +434,7 @@ def merge_jsons(self, filenames): s = 0 if 0 < gflops: g = int(filename.split("-")[-1].split("g")[0]) - s = gflops / g # slowdown + s = gflops / g if 0 < g else 0 # slowdown if mtime < os.path.getmtime(filename): if 0 < s: retsld[1] = retsld[1] + math.log(s) @@ -842,6 +840,8 @@ def handle_sigint(self, signum, frame): # OPENCL_LIBSMM_SMM_xx=tune|enabled|on must be given to permit tuning) if os.getenv("OPENCL_LIBSMM_SMM_WS") not in default_enable_tune: os.environ["OPENCL_LIBSMM_SMM_WS"] = "{}".format(args.ws) + if os.getenv("OPENCL_LIBSMM_SMM_AL") not in default_enable_tune: + os.environ["OPENCL_LIBSMM_SMM_AL"] = "{}".format(args.al) # fix tunables according to level of tuning if 1 <= args.tlevel or 0 > args.tlevel: os.environ["OPENCL_LIBSMM_SMM_BM"] = "{}".format(args.bm) diff --git a/src/acc/opencl/smm/tune_multiply.sh b/src/acc/opencl/smm/tune_multiply.sh index 736e4058bcb..9516e43c1cb 100755 --- a/src/acc/opencl/smm/tune_multiply.sh +++ b/src/acc/opencl/smm/tune_multiply.sh @@ -83,39 +83,19 @@ then break;; esac done + # how to print standard vs error messages if [ ! "${HELP}" ] || [ "0" = "${HELP}" ]; then ECHO=">&2 echo" else ECHO="echo" fi - eval "${ECHO} \"Usage: $0 [options] []\"" - eval "${ECHO} \" Options must precede triplet specification\"" - eval "${ECHO} \" -w|--wait N: initial delay before auto-tuning (default: ${WAIT_DEFAULT} s)\"" - eval "${ECHO} \" -c|--continue: proceed with plan if tuning is interrupted\"" - eval "${ECHO} \" -u|--update: retune all JSONs found in directory (see -p)\"" - eval "${ECHO} \" -s|--batchsize N: Number of batched SMMs (a.k.a. stacksize)\"" - eval "${ECHO} \" -a|--tuning-level N=0..3: all, most, some, least tunables\"" - eval "${ECHO} \" -b|--backwards: tune in descending order of triplets\"" - eval "${ECHO} \" -t|--maxtime N: number of seconds spent per kernel\"" - eval "${ECHO} \" -p|--jsondir P: path to JSON-files (tuned params)\"" - eval "${ECHO} \" -i|--part N (1-based): Nth session out of nparts\"" - eval "${ECHO} \" -j|--nparts N: number of total sessions (see -i)\"" - eval "${ECHO} \" -r|--bound L U: limit L**3 < MNK <= U**3\"" - eval "${ECHO} \" -m|--limit N: limit any shape extent to N\"" - eval "${ECHO} \" -n|--triplets N: limit number of triplet\"" - eval "${ECHO} \" -k|--specid N: predefined triplets\"" - eval "${ECHO} \" 0-10: older to newer (larger), e.g.,\"" - eval "${ECHO} \" 0: 201 kernels\"" - eval "${ECHO} \" 10: 1266 kernels\"" - eval "${ECHO} \" , e.g., 134 kernels\"" - eval "${ECHO} \" 23, 5 32 13 24 26, 4 9\"" - eval "${ECHO}" - # default settings + # default/basic settings if [ ! "${BATCHSIZE}" ]; then BATCHSIZE=0; fi if [ ! "${JSONDIR}" ]; then JSONDIR=.; fi if [ ! "${TLEVEL}" ]; then TLEVEL=-1; fi - if [ ! "${NPARTS}" ]; then NPARTS=1; fi - if [ ! "${PART}" ]; then PART=1; fi + if [ ! "${NPARTS}" ]; then NPARTS=${PMI_SIZE:-1}; fi + if [ ! "${PART}" ]; then PART=${PMI_RANK:-0}; PART=$((PART+1)); fi + if [ ! "${WAIT}" ] && [ "1" = "${NPARTS}" ]; then WAIT=0; fi # sanity checks if [ "0" != "$((NPARTS&2 echo "ERROR: part-number ${PART} is larger than the requested ${NPARTS} parts!" @@ -131,7 +111,6 @@ then exit 1 elif [ ! "${HELP}" ] || [ "0" = "${HELP}" ]; then if [ "${UPDATE}" ] && [ "0" != "${UPDATE}" ]; then - if [ ! "${TLEVEL}" ] || [ "0" != "$((0>TLEVEL))" ]; then TLEVEL=1; fi MNKS=$(${SED} -n "s/.*tune_multiply-..*-\(..*x..*x.[^-]*\)-..*gflops\.json/\1/p" <<<"${JSONS}" \ | ${SORT} -u -n -tx -k1,1 -k2,2 -k3,3) elif [ "${SPECID}" ]; then @@ -142,6 +121,30 @@ then else exit 0 fi + if [ ! "${WAIT}" ]; then + eval "${ECHO} \"Usage: $0 [options] []\"" + eval "${ECHO} \" Options must precede triplet specification\"" + eval "${ECHO} \" -w|--wait N: initial delay before auto-tuning (default: ${WAIT_DEFAULT} s)\"" + eval "${ECHO} \" -c|--continue: proceed with plan if tuning is interrupted\"" + eval "${ECHO} \" -u|--update: retune all JSONs found in directory (see -p)\"" + eval "${ECHO} \" -s|--batchsize N: Number of batched SMMs (a.k.a. stacksize)\"" + eval "${ECHO} \" -a|--tuning-level N=0..3: all, most, some, least tunables\"" + eval "${ECHO} \" -b|--backwards: tune in descending order of triplets\"" + eval "${ECHO} \" -t|--maxtime N: number of seconds spent per kernel\"" + eval "${ECHO} \" -p|--jsondir P: path to JSON-files (tuned params)\"" + eval "${ECHO} \" -i|--part N (1-based): Nth session out of nparts\"" + eval "${ECHO} \" -j|--nparts N: number of total sessions (see -i)\"" + eval "${ECHO} \" -r|--bound L U: limit L**3 < MNK <= U**3\"" + eval "${ECHO} \" -m|--limit N: limit any shape extent to N\"" + eval "${ECHO} \" -n|--triplets N: limit number of triplet\"" + eval "${ECHO} \" -k|--specid N: predefined triplets\"" + eval "${ECHO} \" 0-10: older to newer (larger), e.g.,\"" + eval "${ECHO} \" 0: 201 kernels\"" + eval "${ECHO} \" 10: 1266 kernels\"" + eval "${ECHO} \" , e.g., 134 kernels\"" + eval "${ECHO} \" 23, 5 32 13 24 26, 4 9\"" + eval "${ECHO}" + fi if [ "${MNKS}" ]; then if [ "${BOUNDL}" ] || [ "${BOUNDU}" ]; then if [ ! "${BOUNDL}" ]; then BOUNDL=0; elif [ ! "${BOUNDU}" ]; then BOUNDU=0; fi @@ -187,10 +190,12 @@ then PARTSIZE=$(((NTRIPLETS+NPARTS-1)/NPARTS)) PARTOFFS=$(((PART-1)*PARTSIZE)) PARTSIZE=$((PARTSIZE<=(NTRIPLETS-PARTOFFS)?PARTSIZE:(NTRIPLETS-PARTOFFS))) - if [ "0" != "$((NPARTS<=NTRIPLETS))" ]; then - echo "Session ${PART} of ${NPARTS} part(s)." - else - echo "Session ${PART} of ${NPARTS} part(s). The problem is over-decomposed!" + if [ ! "${WAIT}" ] || [ "0" != "${WAIT}" ]; then + if [ "0" != "$((NPARTS<=NTRIPLETS))" ]; then + echo "Session ${PART} of ${NPARTS} part(s)." + else + echo "Session ${PART} of ${NPARTS} part(s). The problem is over-decomposed!" + fi fi if [ ! "${MAXTIME}" ] && [[ (! "${CONTINUE}" || \ "${CONTINUE}" = "false" || \ @@ -200,10 +205,12 @@ then MAXTIME=160 fi if [ "${MAXTIME}" ] && [ "0" != "$((0 Date: Wed, 20 Mar 2024 09:22:13 +0100 Subject: [PATCH 04/74] ocl: updated tuned parameters * Other (tune_multiply.sh) - Fixed decomposition. - Fixed help output. --- .../opencl/smm/params/tune_multiply_PVC.csv | 1314 ++++++++--------- src/acc/opencl/smm/tune_multiply.py | 15 +- src/acc/opencl/smm/tune_multiply.sh | 28 +- 3 files changed, 677 insertions(+), 680 deletions(-) diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index b98cde99aab..5eeb2d5e986 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -1,196 +1,196 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;4;2;1;1;1;-2;-1;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;6;3;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;5;3;1;2;1;-2;-2;0;1;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;8;2;1;1;1;-1;0;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;5;4;1;2;1;-1;-1;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;4;1;-2;-1;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;10;4;1;2;1;-2;0;0;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;9;4;1;1;1;-2;0;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;9;4;1;4;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;-2;-1;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;-1;-2;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;2;1;-2;5;0;1;0;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-1;0;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-2;-2;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;-1;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;-2;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;3;1;-2;-1;0;0;1;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;11;4;1;2;1;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;11;4;1;2;1;-2;0;0;0;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;9;4;1;4;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;13;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;17;30000;0;8;4;1;1;1;-2;0;1;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;25;30000;0;8;4;1;1;1;-1;-1;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;26;30000;0;8;4;1;1;5;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;28;30000;0;8;4;1;1;5;0;-1;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;32;30000;0;8;4;1;1;1;0;-2;0;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;-1;-1;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;11;4;1;4;1;-2;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;5;30000;0;11;4;1;4;1;-2;0;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;12;4;1;2;1;-2;0;0;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;9;4;1;1;1;-1;0;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;-1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;-2;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;0;0;0;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;4;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;4;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;2;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;11;4;1;4;1;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;4;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;13;30000;0;8;4;1;1;1;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;17;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;25;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;26;30000;0;8;4;1;1;5;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;28;30000;0;8;4;1;1;5;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;32;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;10;4;1;3;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;5;30000;0;10;4;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;3;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;28;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;32;30000;0;8;4;1;1;7;-1;-1;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;-2;-2;0;1;1;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;16;4;1;2;1;1;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;2;1;-1;-1;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;11;4;1;1;1;-1;-2;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;9;4;1;1;1;-2;-2;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;13;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;4;1;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;4;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;13;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;25;30000;0;8;4;1;1;9;-1;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;26;30000;0;8;4;1;1;9;-1;-2;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;28;30000;0;8;4;1;1;9;-1;-1;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;32;30000;0;8;4;1;1;9;-1;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;45;30000;0;4;4;1;1;9;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;4;30000;0;12;4;1;1;1;-1;-1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;9;4;1;1;1;-1;-2;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;16;4;1;2;1;0;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;4;1;-1;-2;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;11;4;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;8;4;1;4;1;-2;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;13;30000;0;8;4;1;1;1;-1;-2;0;1;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;4;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;9;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;3;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;17;30000;0;8;4;1;1;1;-1;-2;1;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;25;30000;0;8;4;1;1;13;-1;0;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;26;30000;0;8;4;1;1;13;-2;-1;0;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;28;30000;0;8;4;1;2;13;-2;1;0;1;0;1;1;2;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;28;30000;0;8;4;1;1;13;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;32;30000;0;8;4;1;1;1;-2;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;45;30000;0;4;4;1;1;13;-1;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;4;30000;0;16;4;1;1;1;-2;-2;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;10;30000;0;8;4;1;1;15;-1;0;0;1;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;4;30000;0;13;4;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;10;30000;0;10;4;1;1;15;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;15;30000;0;8;4;1;1;15;-1;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;4;30000;0;17;4;1;2;1;1;-2;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;3;1;1;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;13;30000;0;8;4;1;2;1;1;5;0;0;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;4;30000;0;14;4;1;3;1;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;13;30000;0;10;4;1;1;1;0;5;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;17;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;32;30000;0;8;4;1;1;1;1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;17;4;1;3;1;-2;-1;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;5;30000;0;14;4;1;4;1;0;0;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;8;4;1;3;25;-1;-2;0;0;0;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;14;4;1;4;1;1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;5;30000;0;14;4;1;4;1;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;14;4;1;2;25;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;9;30000;0;8;4;1;1;25;-2;0;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;13;30000;0;9;4;1;1;25;-1;0;0;1;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;13;30000;0;8;4;1;1;25;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;25;30000;0;8;4;1;1;25;-2;0;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;26;30000;0;8;4;1;1;25;-2;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;28;30000;0;8;4;1;1;25;-1;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;32;30000;0;8;4;1;1;25;1;-2;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;45;30000;0;8;4;1;1;25;-1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;4;30000;0;17;4;1;4;1;-2;0;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;5;30000;0;14;4;1;2;26;-1;3;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;7;30000;0;8;4;1;3;26;-1;-1;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;9;30000;0;8;4;1;1;26;0;-2;1;0;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;4;30000;0;14;4;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;5;30000;0;15;4;1;2;26;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;7;30000;0;14;4;1;4;26;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;9;30000;0;10;4;1;3;26;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;13;30000;0;8;4;1;1;26;1;0;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;25;30000;0;8;4;1;1;26;-2;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;25;30000;0;8;4;1;1;26;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;26;30000;0;8;4;1;1;26;-2;-1;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;28;30000;0;8;4;1;1;26;0;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;32;30000;0;8;4;1;1;26;-2;-1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;45;30000;0;8;4;1;1;26;0;0;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;17;4;1;2;1;-2;-1;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;17;4;1;4;28;-1;-2;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;8;4;1;3;28;-1;-2;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;9;30000;0;8;4;1;1;28;-1;0;0;0;0;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;14;4;1;2;1;-2;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;14;4;1;2;28;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;14;4;1;4;28;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;9;30000;0;14;4;1;2;28;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;13;30000;0;8;4;1;1;28;0;-2;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;25;30000;0;8;4;1;1;28;0;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;26;30000;0;8;4;1;1;28;0;-1;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;28;30000;0;8;4;1;1;28;0;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;32;30000;0;8;4;1;1;28;1;-2;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;45;30000;0;8;4;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;4;30000;0;20;4;1;2;1;0;-1;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;5;30000;0;22;4;1;1;1;0;-1;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;7;30000;0;21;4;1;4;32;-1;0;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;9;30000;0;8;4;1;1;32;1;-1;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;4;30000;0;17;4;1;2;1;0;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;5;30000;0;16;4;1;3;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;7;30000;0;15;4;1;2;32;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;9;30000;0;15;4;1;2;32;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;13;30000;0;8;4;1;1;1;-1;0;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;17;30000;0;8;4;1;1;1;-2;0;0;1;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;25;30000;0;8;4;1;1;32;1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;26;30000;0;8;4;1;1;32;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;26;30000;0;8;4;1;1;32;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;28;30000;0;8;4;1;1;32;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;32;30000;0;8;4;1;1;1;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;45;30000;0;4;4;1;1;32;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;4;30000;0;15;4;1;2;45;-1;-2;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;5;30000;0;15;4;1;4;45;-2;-2;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;7;30000;0;10;4;1;2;45;0;3;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;9;30000;0;15;4;1;2;45;1;-1;0;1;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;4;30000;0;15;4;1;2;45;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;5;30000;0;15;4;1;2;45;0;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;7;30000;0;15;4;1;4;45;-1;2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;9;30000;0;15;4;1;4;45;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;13;30000;0;6;4;1;1;45;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;25;30000;0;4;4;1;1;45;-1;6;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;26;30000;0;4;4;1;1;45;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;28;30000;0;4;4;1;1;45;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;32;30000;0;4;4;1;1;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;45;30000;0;3;4;1;1;45;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;4;30000;0;12;5;1;1;1;-1;-1;0;0;1;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;5;30000;0;13;5;1;1;1;-1;-1;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;7;30000;0;12;5;1;1;1;-1;-2;0;0;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;9;30000;0;11;5;1;1;1;-2;0;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;13;30000;0;9;5;1;1;1;-2;-1;1;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;17;30000;0;8;5;1;1;1;-1;-1;1;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;25;30000;0;8;5;1;1;1;-2;0;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;26;30000;0;8;5;1;1;5;-1;-1;0;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;28;30000;0;8;5;1;1;5;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;-2;-2;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;13;5;1;1;1;-2;-1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;7;30000;0;11;5;1;2;1;0;3;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;11;5;1;1;1;-2;6;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;13;30000;0;8;5;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;16;30000;0;8;5;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;17;30000;0;8;5;1;1;1;-2;-2;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;24;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;26;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;28;30000;0;8;5;1;1;5;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;-2;-2;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;4;30000;0;13;5;1;1;1;-1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-1;-1;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;11;5;1;1;1;-1;0;0;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;9;30000;0;11;5;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;-2;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;17;5;1;4;1;-1;0;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-1;-2;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;12;5;1;1;1;1;-1;0;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;11;5;1;1;1;-1;-1;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;17;5;1;1;1;-1;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;0;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;13;30000;0;8;5;1;1;1;-1;-2;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;16;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;4;30000;0;12;5;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;5;30000;0;13;5;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;7;30000;0;10;5;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;9;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;13;30000;0;8;5;1;1;1;0;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;17;30000;0;8;5;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;25;30000;0;8;5;1;1;1;0;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;26;30000;0;8;5;1;1;5;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;28;30000;0;8;5;1;1;5;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;7;30000;0;10;5;1;1;1;-1;2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;11;5;1;1;1;-2;5;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;13;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;16;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;17;30000;0;8;5;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;24;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;28;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;4;30000;0;12;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;9;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;14;5;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;13;5;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;13;30000;0;10;5;1;1;1;1;0;0;1;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;16;30000;0;8;5;1;1;1;-2;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;17;30000;0;8;5;1;1;1;-1;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;24;30000;0;8;5;1;1;1;-2;4;1;1;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;26;30000;0;8;5;1;1;1;-1;3;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;32;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;45;30000;0;8;5;1;1;13;-1;0;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;14;28;30000;0;8;5;1;1;14;-2;-2;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;1;1;-2;-2;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;13;30000;0;8;5;1;1;1;-2;0;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;8;5;1;1;1;-2;-1;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;13;30000;0;14;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;15;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-2;-2;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;26;30000;0;8;5;1;1;1;-2;-1;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;4;30000;0;18;5;1;1;1;1;-1;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;17;5;1;1;1;-1;0;0;1;1;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;4;30000;0;16;5;1;1;1;0;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;14;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;13;30000;0;8;5;1;1;1;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;32;30000;0;8;5;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;5;30000;0;22;5;1;1;1;-2;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;13;30000;0;17;5;1;1;1;-1;-2;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;17;5;1;1;1;-1;2;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;24;30000;0;8;5;1;1;24;-1;0;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;26;30000;0;8;5;1;1;24;-2;0;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;5;30000;0;16;5;1;1;1;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;13;30000;0;15;5;1;1;1;1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;14;5;1;4;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;24;30000;0;18;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;26;30000;0;15;5;1;1;24;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;32;30000;0;8;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;17;5;1;3;1;0;0;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;5;30000;0;21;5;1;1;25;1;0;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;7;30000;0;14;5;1;1;25;-2;-1;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;9;30000;0;8;5;1;1;25;-1;-2;1;0;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;17;5;1;1;1;0;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;5;30000;0;18;5;1;1;25;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;7;30000;0;14;5;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;9;30000;0;14;5;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;13;30000;0;8;5;1;1;25;0;-1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;25;30000;0;8;5;1;1;25;0;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;26;30000;0;8;5;1;1;25;-2;-2;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;28;30000;0;8;5;1;1;25;-1;0;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;32;30000;0;8;5;1;1;25;-1;-2;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;45;30000;0;8;5;1;1;25;-1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;4;30000;0;22;5;1;1;26;1;-2;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;5;30000;0;21;5;1;1;1;1;0;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;7;30000;0;17;5;1;1;26;-1;0;1;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;9;30000;0;8;5;1;4;26;-2;-2;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;4;30000;0;18;5;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;5;30000;0;18;5;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;7;30000;0;15;5;1;1;26;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;9;30000;0;14;5;1;1;26;0;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;13;30000;0;8;5;1;1;1;1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;16;30000;0;8;5;1;1;1;-2;-1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;24;30000;0;8;5;1;1;26;-1;-2;0;1;0;1;0;2;0;0;0 @@ -199,22 +199,22 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;26;30000;0;8;5;1;1;26;-1;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;28;30000;0;8;5;1;1;26;0;-2;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;32;30000;0;8;5;1;1;26;-1;0;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;45;30000;0;8;5;1;1;26;-2;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;4;30000;0;22;5;1;1;28;1;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;5;30000;0;22;5;1;1;28;-2;0;0;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;7;30000;0;17;5;1;1;28;0;-1;1;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;9;30000;0;17;5;1;1;28;1;-1;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;13;30000;0;8;5;1;1;28;-1;-1;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;14;30000;0;8;5;1;1;28;-1;-1;1;1;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;4;30000;0;15;5;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;5;30000;0;18;5;1;1;28;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;7;30000;0;15;5;1;1;28;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;9;30000;0;14;5;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;13;30000;0;14;5;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;14;30000;0;14;5;1;1;28;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;25;30000;0;8;5;1;1;28;-1;0;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;26;30000;0;8;5;1;1;28;0;-2;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;28;30000;0;8;5;1;1;28;-2;0;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;32;30000;0;8;5;1;1;28;-2;-2;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;45;30000;0;8;5;1;1;28;1;-2;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;22;5;1;1;1;0;-2;1;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;22;5;1;1;1;-1;-2;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;7;30000;0;22;5;1;1;32;-2;-2;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;9;30000;0;22;5;1;1;32;0;-1;1;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;8;5;1;1;1;-2;0;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;18;5;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;18;5;1;1;1;0;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;7;30000;0;15;5;1;1;32;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;9;30000;0;15;5;1;1;32;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;18;5;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;24;30000;0;8;5;1;1;32;-1;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;25;30000;0;8;5;1;1;32;-1;2;0;1;0;1;0;2;0;0;0 @@ -224,147 +224,147 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;32;30000;0;8;5;1;1;1;-1;0;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;45;30000;0;8;5;1;1;32;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;4;30000;0;17;5;1;3;45;-1;-2;1;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;5;30000;0;17;5;1;2;45;1;2;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;7;30000;0;15;5;1;2;45;-1;4;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;9;30000;0;15;5;1;4;45;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;13;30000;0;8;5;1;3;45;-2;-2;0;1;1;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;7;30000;0;15;5;1;2;45;0;3;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;9;30000;0;15;5;1;5;45;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;13;30000;0;8;5;1;3;45;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;25;30000;0;5;5;1;1;45;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;26;30000;0;6;5;1;1;45;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;28;30000;0;5;5;1;1;45;-1;-2;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;32;30000;0;4;5;1;1;45;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;45;30000;0;9;5;1;1;45;-2;-1;0;0;0;1;1;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;6;30000;0;9;6;1;3;1;-2;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;-1;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;12;6;1;1;1;-1;-1;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;6;30000;0;14;6;1;1;1;-2;-2;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;11;6;1;1;1;-2;0;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;8;30000;0;11;6;1;1;1;-1;-1;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;6;30000;0;16;6;1;3;1;-2;2;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;7;30000;0;16;6;1;1;1;1;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;8;30000;0;16;6;1;1;1;-1;-2;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;16;7;1;1;1;-1;-2;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;16;7;1;6;1;-2;-2;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;12;7;1;2;1;-2;1;0;1;1;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;9;7;1;1;1;-1;0;0;1;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;1;-2;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;1;-2;0;1;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;6;30000;0;14;6;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;8;30000;0;11;6;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;6;30000;0;16;6;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;7;30000;0;13;6;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;8;30000;0;13;6;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;14;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;16;7;1;3;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;13;7;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;13;7;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;32;30000;0;8;7;1;1;7;1;0;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;45;30000;0;8;7;1;1;7;1;0;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;4;30000;0;16;7;1;3;1;-1;4;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;5;30000;0;16;7;1;1;1;-2;0;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;7;30000;0;13;7;1;1;1;-2;0;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;11;7;1;2;1;-1;2;0;1;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;4;30000;0;14;7;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;5;30000;0;16;7;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;7;30000;0;13;7;1;1;1;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;11;7;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;11;7;1;1;1;0;0;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;25;30000;0;8;7;1;1;7;-2;-2;1;0;0;1;1;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;25;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;26;30000;0;8;7;1;1;7;1;0;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;28;30000;0;8;7;1;1;7;-2;0;1;0;0;1;1;2;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;28;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;32;30000;0;8;7;1;1;7;-1;0;1;1;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;45;30000;0;8;7;1;1;7;-2;0;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;16;7;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;7;30000;0;11;7;1;7;1;-2;0;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;8;30000;0;12;7;1;6;1;-1;-2;0;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;17;7;1;1;1;-1;0;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;-2;-2;1;1;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;13;7;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;7;30000;0;13;7;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;8;30000;0;10;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;16;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;16;7;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;7;30000;0;9;7;1;2;1;1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;11;7;1;1;1;-2;-1;1;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;14;7;1;1;1;-2;-1;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;13;30000;0;12;7;1;1;1;-2;-1;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;8;7;1;1;7;-1;-2;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;26;30000;0;8;7;1;1;7;-1;-2;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;10;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;8;7;1;1;7;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;26;30000;0;10;7;1;1;7;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;28;30000;0;8;7;1;1;7;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;32;30000;0;8;7;1;1;7;-1;0;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;45;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;6;30000;0;16;7;1;1;1;-2;-2;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;7;30000;0;16;7;1;1;1;-2;0;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;8;30000;0;16;7;1;2;1;-1;-1;1;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;4;30000;0;16;7;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;6;30000;0;14;7;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;7;30000;0;14;7;1;1;1;1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;8;30000;0;13;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;4;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;5;30000;0;18;7;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;7;30000;0;17;7;1;1;1;-1;0;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;9;30000;0;17;7;1;2;9;-2;5;0;1;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;9;30000;0;14;7;1;1;9;0;2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;13;30000;0;9;7;1;1;9;-1;-2;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;25;30000;0;9;7;1;3;9;-1;-2;1;1;1;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;26;30000;0;8;7;1;5;9;-1;-1;0;1;0;1;1;2;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;25;30000;0;11;7;1;7;9;-1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;26;30000;0;13;7;1;6;9;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;28;30000;0;8;7;1;1;9;-1;-2;1;0;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;32;30000;0;8;7;1;1;9;-1;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;45;30000;0;8;7;1;1;9;1;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;4;30000;0;20;7;1;1;1;-2;-1;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;5;30000;0;17;7;1;2;1;-2;1;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;7;30000;0;14;7;1;1;1;-2;0;1;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;13;30000;0;9;7;1;1;1;-2;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;13;30000;0;21;7;1;5;32;0;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;25;30000;0;8;7;1;1;32;0;-1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;8;7;1;1;32;-1;-2;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;28;30000;0;8;7;1;1;32;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;4;30000;0;17;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;5;30000;0;17;7;1;3;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;7;30000;0;14;7;1;1;1;0;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;13;30000;0;10;7;1;3;1;-2;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;13;30000;0;18;7;1;4;32;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;25;30000;0;14;7;1;1;32;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;14;7;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;28;30000;0;15;7;1;1;32;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;32;30000;0;8;7;1;1;32;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;45;30000;0;15;7;1;1;32;1;0;1;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;42;7;1;1;45;-2;-1;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;55;7;1;3;45;-2;-1;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;7;30000;0;15;7;1;3;45;1;-1;1;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;41;7;1;5;45;0;-2;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;13;30000;0;15;7;1;3;45;-1;5;0;1;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;42;7;1;4;45;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;43;7;1;6;45;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;7;30000;0;41;7;1;1;45;0;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;36;7;1;4;45;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;13;30000;0;15;7;1;1;45;0;5;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;25;30000;0;15;7;1;1;45;1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;26;30000;0;10;7;1;1;45;0;-2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;11;7;1;1;45;-1;-2;1;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;10;7;1;1;45;0;-1;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;32;30000;0;8;7;1;1;45;-2;0;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;45;30000;0;9;7;1;1;45;1;0;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;16;8;1;6;1;-1;-1;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;4;1;0;-2;0;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;8;30000;0;11;8;1;5;1;-2;-2;1;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;4;1;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;16;8;1;4;1;-2;-2;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;16;8;1;1;1;-2;3;0;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;19;8;1;1;1;-2;2;0;1;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-1;0;0;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;16;8;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;7;1;1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;8;30000;0;10;8;1;8;1;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;8;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;7;1;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;12;1;4;9;1;-1;-1;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;9;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;14;9;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;10;9;1;6;1;-1;-2;0;1;0;1;0;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-2;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-1;0;0;1;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-1;-2;0;1;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;32;30000;0;8;9;1;1;9;-1;0;0;1;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;45;30000;0;8;9;1;1;9;-1;0;0;0;0;1;1;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;4;30000;0;16;9;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;0;-2;0;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;4;30000;0;16;9;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;7;30000;0;16;9;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;9;30000;0;11;9;1;1;1;-1;-1;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;11;9;1;1;9;-1;0;0;1;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-1;0;1;0;0;1;1;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;26;30000;0;8;9;1;3;9;-1;1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;28;30000;0;8;9;1;1;9;-1;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;32;30000;0;8;9;1;1;9;-1;-2;0;0;1;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;45;30000;0;8;9;1;1;9;-1;0;0;1;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;17;9;1;1;1;-1;-1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;1;-2;0;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;16;9;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;7;30000;0;14;9;1;1;1;-2;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;11;9;1;5;9;1;-1;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;9;9;1;5;9;-1;0;0;1;1;1;1;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;8;9;1;7;9;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;10;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;25;30000;0;8;9;1;1;9;-1;-2;0;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;26;30000;0;8;9;1;9;9;-1;0;1;1;0;1;1;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;26;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;28;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;32;30000;0;8;9;1;1;9;-1;0;0;0;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;45;30000;0;8;9;1;1;9;-1;-2;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;4;30000;0;18;9;1;7;1;-1;0;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;5;30000;0;18;9;1;1;1;-1;0;0;1;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;4;30000;0;18;9;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;5;30000;0;16;9;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;7;30000;0;17;9;1;1;9;-1;-1;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;9;30000;0;8;9;1;2;1;-1;1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;13;30000;0;14;9;1;1;9;-1;-1;1;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;16;30000;0;11;9;1;5;0;-1;-2;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;13;30000;0;15;9;1;1;9;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;16;30000;0;14;9;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;22;30000;0;8;9;1;3;1;-1;-1;0;1;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;25;30000;0;8;9;1;1;9;-1;0;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;26;30000;0;8;9;1;1;9;-1;-2;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;25;30000;0;10;9;1;1;9;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;26;30000;0;10;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;28;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;32;30000;0;8;9;1;1;1;-1;-2;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;32;30000;0;8;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;45;30000;0;8;9;1;1;9;-1;-2;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;4;30000;0;25;9;1;1;1;-1;-1;1;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;22;9;1;1;13;-2;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;16;9;1;4;13;-2;1;1;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;17;9;1;1;13;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;14;9;1;8;13;-1;-1;1;1;0;1;1;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;18;9;1;1;13;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;13;9;1;9;13;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;14;9;1;4;13;-1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;25;30000;0;8;9;1;1;13;-2;0;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;26;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;28;30000;0;8;9;1;1;13;-1;-2;1;0;1;1;1;0;0;1;0 @@ -372,303 +372,303 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;32;30000;0;8;9;1;1;13;-1;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;45;30000;0;8;9;1;1;13;-2;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;9;30000;0;18;9;1;9;1;-2;-1;1;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;16;30000;0;15;9;1;1;1;-2;0;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;22;30000;0;11;9;1;1;1;1;-2;1;1;1;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;9;30000;0;17;9;1;6;1;1;0;0;0;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;22;30000;0;17;9;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;9;30000;0;16;9;1;8;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;16;30000;0;9;9;1;9;1;0;-1;1;1;0;1;0;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;22;30000;0;8;9;1;5;1;0;1;0;1;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;22;30000;0;8;9;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;32;30000;0;8;9;1;1;1;-2;-1;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;4;30000;0;32;9;1;9;25;-1;-2;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;5;30000;0;30;9;1;1;25;-1;0;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;4;30000;0;24;9;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;5;30000;0;24;9;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;7;30000;0;21;9;1;1;25;1;0;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;9;30000;0;17;9;1;9;25;1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;13;30000;0;9;9;1;6;25;0;-1;1;1;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;9;30000;0;15;9;1;7;25;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;13;30000;0;14;9;1;5;25;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;25;30000;0;8;9;1;9;25;-2;1;1;0;1;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;26;30000;0;8;9;1;1;25;0;-2;1;0;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;28;30000;0;8;9;1;1;25;-2;-1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;32;30000;0;8;9;1;1;25;-2;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;45;30000;0;15;9;1;1;25;1;0;1;1;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;4;30000;0;30;9;1;7;26;1;0;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;5;30000;0;27;9;1;8;26;0;-2;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;7;30000;0;18;9;1;2;26;-1;1;1;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;9;30000;0;17;9;1;7;26;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;13;30000;0;8;9;1;3;26;-1;0;0;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;4;30000;0;28;9;1;1;26;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;5;30000;0;28;9;1;1;26;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;7;30000;0;18;9;1;1;26;1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;9;30000;0;18;9;1;7;26;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;13;30000;0;17;9;1;1;26;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;25;30000;0;8;9;1;1;26;-1;1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;26;30000;0;8;9;1;1;26;-2;0;1;1;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;28;30000;0;8;9;1;1;26;1;-2;1;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;28;30000;0;8;9;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;32;30000;0;8;9;1;1;26;-2;-2;1;0;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;45;30000;0;15;9;1;1;26;0;0;1;1;0;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;4;30000;0;33;9;1;1;28;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;5;30000;0;28;9;1;4;28;-2;-2;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;4;30000;0;35;9;1;1;28;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;5;30000;0;25;9;1;1;28;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;7;30000;0;23;9;1;1;28;-1;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;9;30000;0;21;9;1;7;28;-2;-2;0;1;1;1;1;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;13;30000;0;15;9;1;4;28;0;1;1;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;9;30000;0;18;9;1;6;28;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;13;30000;0;15;9;1;4;28;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;25;30000;0;8;9;1;1;28;0;0;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;26;30000;0;10;9;1;1;28;-2;0;0;1;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;28;30000;0;8;9;1;1;28;-1;0;1;1;0;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;28;30000;0;12;9;1;1;28;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;32;30000;0;15;9;1;1;28;-1;-2;0;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;45;30000;0;15;9;1;1;28;-2;0;0;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;32;9;1;5;32;0;-1;1;1;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;28;9;1;3;32;0;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;28;9;1;9;32;1;-1;1;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;9;30000;0;22;9;1;9;1;0;-1;1;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;13;30000;0;9;9;1;4;32;0;0;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;22;30000;0;8;9;1;1;1;-1;1;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;39;9;1;1;32;1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;38;9;1;1;32;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;18;9;1;3;32;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;9;30000;0;25;9;1;2;1;-2;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;13;30000;0;16;9;1;4;32;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;22;30000;0;15;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;25;30000;0;8;9;1;1;32;1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;26;30000;0;8;9;1;1;32;0;1;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;28;30000;0;15;9;1;1;32;0;0;0;0;0;1;1;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;28;30000;0;15;9;1;1;32;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;32;30000;0;15;9;1;1;1;-2;0;1;0;0;1;1;0;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;1;0;0;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;32;30000;0;10;9;1;1;45;1;0;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;45;30000;0;9;9;1;1;45;1;-2;1;1;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;4;30000;0;16;10;1;1;1;-1;-1;0;0;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;4;30000;0;16;10;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;10;30000;0;12;10;1;1;1;-1;-2;0;0;1;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;15;30000;0;8;10;1;3;10;-1;1;0;1;0;1;1;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;4;30000;0;20;10;1;4;1;-1;0;1;1;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;15;30000;0;8;10;1;1;10;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;4;30000;0;16;10;1;4;1;0;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;10;30000;0;8;10;1;2;1;-1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;8;10;1;1;10;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;17;10;1;9;15;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;12;10;1;2;15;-2;0;0;1;0;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;18;10;1;1;10;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;7;15;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;11;10;1;8;15;-2;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;12;12;12;30000;0;8;12;1;12;12;-2;-1;1;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;4;30000;0;16;13;1;1;1;-1;-1;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;16;13;1;1;1;-1;-1;0;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;7;30000;0;11;13;1;7;1;-2;-2;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;9;30000;0;9;13;1;4;1;-1;1;0;0;1;1;0;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;13;30000;0;9;13;1;2;1;-2;1;1;1;1;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;4;30000;0;16;13;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;16;13;1;4;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;7;30000;0;13;13;1;8;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;9;30000;0;13;13;1;13;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;13;30000;0;8;13;1;6;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;17;30000;0;8;13;1;13;1;-1;-1;0;0;1;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;25;30000;0;8;13;1;1;13;-2;-1;1;0;1;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;25;30000;0;8;13;1;1;13;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;26;30000;0;8;13;1;1;13;-1;-1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;28;30000;0;8;13;1;1;13;-2;-1;1;1;1;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;28;30000;0;8;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;32;30000;0;8;13;1;11;1;-2;0;0;1;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;45;30000;0;8;13;1;1;13;-1;-1;1;0;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;45;30000;0;8;13;1;1;13;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;4;30000;0;16;13;1;1;1;-2;0;0;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;5;30000;0;16;13;1;1;1;-1;-2;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;7;30000;0;13;13;1;2;1;-2;-1;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;9;30000;0;11;13;1;4;13;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;5;30000;0;16;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;7;30000;0;13;13;1;10;1;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;9;30000;0;12;13;1;4;13;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;13;30000;0;8;13;1;6;1;-1;-2;0;1;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;16;30000;0;8;13;1;10;1;-2;-1;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;17;30000;0;8;13;1;7;1;-2;-2;0;1;0;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;24;30000;0;8;13;1;11;1;-1;0;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;25;30000;0;8;13;1;1;13;-2;-1;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;24;30000;0;9;13;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;25;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;26;30000;0;8;13;1;10;1;-1;-2;0;0;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;28;30000;0;8;13;1;1;13;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;28;30000;0;8;13;1;1;13;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;32;30000;0;8;13;1;1;1;-2;0;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-2;0;0;1;1;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-1;0;1;1;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;17;13;1;1;1;-1;0;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;14;13;1;10;1;-1;-1;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;11;13;-2;-1;1;0;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;3;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;9;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;11;13;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;13;30000;0;9;13;1;6;1;-1;-1;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;-2;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;26;30000;0;8;13;1;1;13;-2;-2;1;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;28;30000;0;8;13;1;1;13;-2;-1;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;32;30000;0;8;13;1;1;13;0;-2;1;1;1;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;28;30000;0;8;13;1;1;13;-1;-1;0;0;1;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;32;30000;0;10;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;45;30000;0;8;13;1;1;13;1;-2;0;0;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;19;13;1;1;1;-1;-1;1;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;5;30000;0;17;13;1;1;13;-1;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;17;13;1;13;13;-1;-1;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;9;30000;0;14;13;1;10;13;-2;-1;1;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;8;13;1;1;13;-1;-1;1;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;-1;-1;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;-2;0;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-2;-1;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;16;13;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;5;30000;0;16;13;1;7;13;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;14;13;1;11;13;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;9;30000;0;14;13;1;4;13;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;10;13;1;5;13;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;32;30000;0;8;13;1;1;13;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;45;30000;0;8;13;1;1;13;0;-2;0;1;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;23;13;1;1;1;-2;-2;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;-2;-2;1;1;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;24;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;7;30000;0;22;13;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;9;30000;0;18;13;1;1;13;-1;-1;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;9;30000;0;24;13;1;1;13;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;13;30000;0;8;13;1;4;1;-1;-2;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;14;30000;0;21;13;1;1;13;-1;-2;1;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;8;13;1;1;1;-1;-1;1;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;14;30000;0;18;13;1;1;13;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;18;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;24;30000;0;8;13;1;1;13;-1;-2;1;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;25;30000;0;8;13;1;1;13;-1;0;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;9;13;1;1;13;-1;-1;1;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;14;13;1;1;13;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;28;30000;0;8;13;1;1;13;-1;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;32;30000;0;8;13;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;45;30000;0;8;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;13;30000;0;15;13;1;2;14;-1;-1;1;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;14;30000;0;13;13;1;2;14;-1;1;0;0;1;1;1;2;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;13;30000;0;13;13;1;12;14;-2;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;14;30000;0;14;13;1;1;14;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;25;30000;0;8;13;1;1;14;-2;-1;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;26;30000;0;8;13;1;1;14;-2;0;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;26;30000;0;9;13;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;32;30000;0;8;13;1;1;14;-2;-2;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;16;5;30000;0;20;13;1;9;1;-1;0;1;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;16;5;30000;0;20;13;1;9;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;4;30000;0;19;13;1;11;1;-1;-1;1;1;0;1;1;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;5;30000;0;19;13;1;10;1;0;-1;1;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;13;30000;0;9;13;1;9;1;1;-1;1;1;0;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;17;30000;0;8;13;1;1;1;-2;1;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;32;30000;0;8;13;1;1;1;1;-2;1;0;0;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;5;30000;0;22;13;1;5;1;1;-1;1;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;8;13;1;8;24;-1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;12;13;1;8;24;-2;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;24;30000;0;8;13;1;1;24;1;1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;1;0;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;16;13;1;1;24;1;0;1;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;24;13;1;4;25;-2;1;1;1;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;5;30000;0;22;13;1;3;25;0;-1;1;1;1;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;13;25;-2;5;0;1;1;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;11;25;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;4;25;-2;6;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;13;30000;0;8;13;1;7;25;-2;-1;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;7;25;0;1;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;1;25;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;10;8;1;3;25;1;3;0;1;1;1;0;1;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;26;30000;0;15;13;1;1;25;1;-2;1;1;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;28;30000;0;15;8;1;1;25;-1;2;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;32;30000;0;5;8;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;45;30000;0;15;13;1;1;25;0;-2;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;4;30000;0;15;8;1;11;26;0;6;0;0;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;4;30000;0;15;8;1;12;26;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;5;30000;0;23;13;1;13;1;0;-2;1;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;7;30000;0;22;13;1;13;26;0;-2;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;9;30000;0;16;13;1;11;26;-1;-1;1;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;7;30000;0;21;13;1;13;26;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;9;30000;0;15;13;1;13;26;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;13;30000;0;8;13;1;13;26;0;0;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;14;30000;0;8;13;1;11;26;-2;-2;1;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;24;30000;0;15;13;1;1;26;-1;-2;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;25;30000;0;15;13;1;1;26;-1;0;1;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;26;30000;0;15;13;1;1;26;-1;0;0;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;28;30000;0;16;13;1;1;26;-2;-2;0;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;32;30000;0;15;13;1;1;26;0;-2;1;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;32;30000;0;15;13;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;45;30000;0;15;13;1;1;26;1;-2;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;4;30000;0;27;13;1;4;28;-1;-1;1;0;0;1;1;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;5;30000;0;19;13;1;9;28;-1;-2;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;23;13;1;10;28;-1;-2;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;9;30000;0;17;13;1;10;28;1;-1;1;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;13;30000;0;8;13;1;13;28;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;5;30000;0;24;13;1;13;28;1;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;21;13;1;5;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;9;30000;0;16;13;1;11;28;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;13;30000;0;13;13;1;12;28;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;25;30000;0;16;13;1;1;28;1;0;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;26;30000;0;16;13;1;1;28;-1;-2;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;28;30000;0;15;13;1;1;28;-1;-2;0;1;0;1;1;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;1;0;0;0;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;45;30000;0;15;13;1;1;28;-1;-2;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;27;13;1;11;1;-2;-1;1;0;0;1;1;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;23;13;1;9;1;0;-1;0;1;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;6;32;0;-1;1;1;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;9;30000;0;18;13;1;10;32;0;-2;1;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;13;30000;0;10;13;1;1;0;1;1;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;8;13;1;10;32;-2;-1;0;1;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;23;13;1;4;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;24;13;1;9;1;0;-1;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;3;32;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;9;30000;0;16;13;1;7;32;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;13;30000;0;13;13;1;2;1;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;13;13;1;7;32;-2;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;17;30000;0;8;13;1;1;1;-1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;24;30000;0;16;13;1;1;32;-2;-2;1;1;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;1;-2;1;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;-1;0;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;16;13;1;1;32;-1;-2;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;0;0;1;1;1;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-2;-2;1;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;26;13;1;1;45;-2;1;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;32;8;1;4;45;1;-1;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;35;13;1;5;45;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;28;13;1;8;45;1;0;1;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;11;45;1;-2;0;1;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;28;8;1;4;45;0;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;37;13;1;9;45;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;6;45;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;3;45;0;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;25;30000;0;17;8;1;9;45;0;1;1;0;1;1;0;1;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;26;30000;0;30;13;1;1;45;-1;-2;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;28;30000;0;10;8;1;6;45;-1;-1;0;1;0;1;0;1;2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;32;30000;0;10;8;1;3;45;-1;0;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;45;30000;0;30;13;1;1;45;-2;0;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;5;28;30000;0;8;14;1;9;14;-2;0;0;0;0;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;13;30000;0;8;14;1;7;14;-2;-1;0;0;0;1;0;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;13;30000;0;13;14;1;5;14;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;14;30000;0;8;14;1;1;14;-1;0;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;25;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;26;30000;0;8;14;1;1;14;-1;-1;0;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;32;30000;0;8;14;1;1;14;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;13;30000;0;22;14;1;1;14;-2;-1;1;1;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;13;30000;0;18;14;1;1;14;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;14;30000;0;8;14;1;5;14;-1;-1;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;16;30000;0;21;14;1;1;14;-1;-1;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;25;30000;0;8;14;1;1;14;-2;-1;0;1;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;8;14;1;1;14;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;16;30000;0;24;14;1;1;14;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;25;30000;0;24;14;1;1;14;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;12;14;1;1;14;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;28;30000;0;8;14;1;1;14;-2;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;29;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;32;30000;0;8;14;1;1;14;-2;-1;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;18;14;1;11;16;-2;0;1;0;1;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;32;30000;0;12;14;1;1;14;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;17;14;1;3;16;-2;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;16;30000;0;17;14;1;4;16;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;29;30000;0;8;14;1;1;16;-2;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;13;30000;0;8;14;1;1;25;1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;14;30000;0;8;14;1;13;25;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;25;30000;0;15;14;1;1;25;1;-1;0;1;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;14;30000;0;11;14;1;13;25;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;25;30000;0;15;14;1;1;25;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;26;30000;0;15;8;1;1;25;1;3;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;32;30000;0;10;14;1;1;25;-1;1;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;13;30000;0;21;14;1;13;26;0;-2;0;1;0;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;14;30000;0;8;14;1;9;26;1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;13;30000;0;11;14;1;12;26;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;14;30000;0;11;14;1;8;26;1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;25;30000;0;8;14;1;1;26;0;1;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;26;30000;0;8;14;1;1;26;-2;1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;32;30000;0;8;14;1;1;26;-2;1;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;5;30000;0;32;14;1;13;28;-2;0;1;1;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;14;30000;0;8;14;1;9;28;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;5;30000;0;25;14;1;7;28;-2;-2;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;14;30000;0;11;14;1;10;28;-2;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;28;30000;0;15;14;1;1;28;-1;0;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;10;14;1;1;29;0;1;0;1;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;13;14;1;10;29;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;16;30000;0;9;14;1;9;29;1;1;0;1;0;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;29;30000;0;13;14;1;1;29;1;1;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;32;30000;0;16;14;1;1;29;1;-1;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;8;14;1;8;32;0;-1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;13;14;1;12;32;-1;-2;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;14;14;1;13;32;1;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;13;14;1;2;32;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;25;30000;0;8;14;1;1;32;-2;1;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;26;30000;0;8;14;1;1;32;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;29;30000;0;16;14;1;1;32;1;-2;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;32;30000;0;16;14;1;1;32;0;-1;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;-2;-1;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;10;30000;0;11;15;1;1;15;-1;-1;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;15;30000;0;8;15;1;1;15;-2;0;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;4;30000;0;17;15;1;6;15;-1;0;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;10;30000;0;11;15;1;1;15;-2;-1;1;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;15;30000;0;8;15;1;8;15;-1;0;1;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;4;30000;0;28;15;1;1;15;-1;-1;1;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;17;15;1;15;15;-1;0;1;0;1;1;1;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;10;30000;0;10;15;1;6;15;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;15;30000;0;8;15;1;1;15;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;4;30000;0;17;15;1;1;15;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;10;30000;0;12;15;1;4;15;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;15;30000;0;10;15;1;1;15;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;4;30000;0;28;15;1;1;15;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;24;15;1;1;15;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;15;30000;0;8;15;1;8;1;-1;-2;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;10;1;-1;0;0;1;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;8;8;1;15;1;-1;0;0;0;0;1;1;2;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;13;8;1;16;1;-1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;7;1;-2;-1;0;1;0;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;4;1;-1;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;26;30000;0;8;16;1;14;1;-1;-2;1;1;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;24;16;1;7;1;-1;1;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;15;16;1;2;1;-1;-2;1;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;18;16;1;16;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;16;16;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;16;30000;0;8;16;1;1;1;-1;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;22;30000;0;8;16;1;1;1;-1;0;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;13;5;30000;0;22;16;1;8;1;-1;-1;1;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;14;16;1;1;16;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;13;5;30000;0;22;16;1;2;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;13;16;1;1;16;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;16;30000;0;12;16;1;1;16;-2;0;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;29;30000;0;8;16;1;1;16;-1;0;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;32;16;1;1;1;-1;0;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;29;30000;0;14;16;1;1;16;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;35;16;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;9;30000;0;25;16;1;1;1;-1;-2;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;27;16;1;1;16;-1;-2;1;1;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;25;16;1;1;16;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;16;30000;0;8;16;1;3;1;-2;1;0;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;22;30000;0;21;16;1;1;1;-2;0;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;29;30000;0;8;16;1;1;16;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;29;30000;0;10;16;1;1;16;-1;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;55;30000;0;8;16;1;1;16;-2;0;1;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;9;30000;0;21;16;1;9;1;-2;-1;1;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;16;30000;0;8;16;1;1;1;-1;1;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;22;30000;0;8;16;1;1;1;0;1;1;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;24;5;30000;0;22;16;1;13;1;-2;-2;1;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;22;16;1;6;1;1;-1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;41;16;1;11;29;-2;-1;0;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;16;1;2;29;0;2;0;1;1;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;20;16;1;2;1;0;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;13;29;1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;10;29;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;29;30000;0;16;16;1;1;29;1;0;1;0;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;1;0;0;1;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;-1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;16;30000;0;32;16;1;1;55;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;29;30000;0;30;16;1;1;55;-1;0;1;0;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;55;30000;0;15;16;1;1;55;1;1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;15;17;1;1;17;1;1;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;4;30000;0;16;17;1;1;1;-1;-1;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;5;30000;0;17;17;1;3;1;-1;-2;0;1;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;2;17;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;4;30000;0;14;17;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;5;30000;0;14;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;13;30000;0;9;17;1;1;1;-2;0;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-2;-2;0;1;0;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;32;30000;0;8;17;1;1;1;-1;-2;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;4;30000;0;16;17;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;16;17;1;12;1;-2;-2;0;1;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;16;17;1;10;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;13;30000;0;8;17;1;4;1;-1;-2;0;1;1;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;17;30000;0;8;17;1;2;1;-2;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;32;30000;0;8;17;1;1;1;-1;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;4;30000;0;19;17;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;5;30000;0;22;17;1;3;1;-2;1;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;13;30000;0;14;17;1;1;1;-1;0;1;1;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;13;30000;0;15;17;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;17;30000;0;14;17;1;1;1;-2;-2;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;32;30000;0;8;17;1;1;1;-1;0;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;4;30000;0;21;17;1;6;1;-2;1;0;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;5;30000;0;17;17;1;10;1;-2;-1;0;1;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;4;30000;0;18;17;1;3;1;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;5;30000;0;14;17;1;13;1;-2;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;13;30000;0;8;17;1;1;1;0;1;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;17;30000;0;8;17;1;4;1;-1;-1;0;1;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;32;30000;0;17;17;1;1;1;0;-2;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;35;30000;0;15;17;1;1;1;-2;-2;1;1;1;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;36;17;1;10;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;35;30000;0;15;17;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;25;17;1;14;1;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;5;30000;0;28;17;1;8;1;-2;1;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;13;30000;0;11;17;1;1;0;-2;1;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;17;30000;0;27;17;1;1;1;-1;0;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;32;30000;0;16;17;1;1;1;1;0;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;35;30000;0;15;17;1;1;1;0;0;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;30;17;1;1;1;-2;-2;1;0;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;32;30000;0;15;17;1;1;1;0;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;35;30000;0;15;17;1;1;1;1;0;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;30;17;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;32;30000;0;30;17;1;1;1;1;-2;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;35;30000;0;30;17;1;1;1;0;-2;1;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;20;20;20;30000;0;8;20;1;1;1;-1;1;0;1;0;1;0;0;0;0;0 @@ -677,75 +677,75 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;16;30000;0;8;22;1;1;1;-1;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;22;30000;0;8;22;1;1;1;-1;0;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;32;30000;0;8;22;1;1;1;-1;-2;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;9;30000;0;22;22;1;1;1;-1;-2;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;16;30000;0;15;22;1;1;1;-1;0;1;0;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;16;30000;0;15;22;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;22;30000;0;8;22;1;1;1;-2;-2;1;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;9;30000;0;13;22;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;16;30000;0;8;22;1;1;1;-2;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;22;30000;0;15;22;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;32;30000;0;15;22;1;1;1;-1;-2;0;1;1;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;9;30000;0;41;22;1;10;1;1;-2;0;1;0;1;0;1;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;22;30000;0;17;22;1;1;1;-2;-1;0;1;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;22;30000;0;15;22;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;32;30000;0;15;22;1;1;1;-2;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;9;30000;0;25;22;1;1;1;0;0;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;22;30000;0;17;22;1;1;1;-2;0;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;32;30000;0;16;22;1;1;1;-1;-1;1;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;23;23;23;30000;0;15;23;1;1;1;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;5;30000;0;17;8;1;21;1;-1;0;1;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;8;8;1;17;1;-1;3;1;1;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;10;8;1;19;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;16;30000;0;8;8;1;7;1;-1;4;1;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;24;30000;0;8;8;1;1;24;0;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;26;30000;0;6;8;1;19;24;0;0;0;0;0;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;32;30000;0;1;8;1;6;24;-2;1;0;0;0;0;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;5;30000;0;20;24;1;24;1;-2;-2;1;1;1;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;13;30000;0;15;8;1;17;24;1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;32;30000;0;4;24;1;1;24;-1;3;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;5;30000;0;20;24;1;6;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;13;30000;0;15;8;1;13;24;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;24;30000;0;6;8;1;1;24;-1;4;1;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;26;30000;0;17;24;1;1;24;-1;-1;0;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;32;30000;0;9;8;1;1;24;1;-2;1;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;8;1;-2;-2;1;1;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;7;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;5;30000;0;32;8;1;18;24;-1;3;1;1;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;15;24;1;11;24;0;1;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;13;24;1;3;24;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;24;30000;0;15;24;1;1;1;-2;-1;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;26;30000;0;16;24;1;1;1;0;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;32;30000;0;15;24;1;1;1;-1;-1;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;5;30000;0;32;8;1;16;26;1;4;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;13;30000;0;13;8;1;23;26;-2;5;0;1;0;1;1;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;32;30000;0;15;24;1;1;1;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;5;30000;0;28;8;1;15;26;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;13;30000;0;28;8;1;18;26;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;24;30000;0;10;8;1;12;1;-1;0;0;1;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;26;30000;0;16;24;1;1;26;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;32;30000;0;15;24;1;1;1;0;-1;1;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;5;30000;0;32;8;1;19;32;1;4;0;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;13;30000;0;32;8;1;8;32;0;-2;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;24;30000;0;17;24;1;1;1;1;-1;1;1;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;5;30000;0;39;8;1;17;32;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;13;30000;0;27;8;1;10;32;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;24;30000;0;17;24;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;26;30000;0;18;8;1;7;32;1;-1;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;32;30000;0;15;24;1;1;1;-1;-1;1;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;16;25;1;1;1;-2;-1;0;1;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;11;8;1;11;1;-1;3;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;16;8;1;15;1;-1;4;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;7;30000;0;9;8;1;24;25;-1;3;1;0;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;23;25;0;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;9;25;0;-1;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;2;25;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;12;25;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;10;8;1;13;25;-2;0;0;1;1;1;0;2;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;1;25;1;0;0;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;28;30000;0;8;8;1;1;25;1;1;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;32;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;45;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;16;25;1;23;1;-2;0;1;0;0;1;1;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;5;30000;0;9;8;1;16;25;-1;5;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;8;8;1;13;25;-1;3;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;9;8;1;2;25;-1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;13;30000;0;8;8;1;17;25;-1;4;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;16;25;1;9;1;-1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;5;30000;0;10;8;1;25;25;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;8;8;1;3;25;1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;8;8;1;10;25;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;13;30000;0;8;8;1;1;25;-2;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;25;30000;0;4;8;1;14;25;-1;0;0;0;1;1;0;2;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;26;30000;0;8;8;1;1;25;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;28;30000;0;8;8;1;1;25;-1;3;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;9;8;1;2;25;-1;4;0;0;1;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;23;8;1;19;25;-1;0;0;0;0;1;1;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;11;8;1;22;25;-1;1;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;11;8;1;2;25;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;11;8;1;5;25;0;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;14;8;1;16;25;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;11;8;1;22;25;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;8;8;1;15;25;-2;3;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;8;8;1;23;25;1;3;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;10;8;1;1;25;-2;6;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;8;8;1;12;25;-1;-1;1;0;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;1;6;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;8;8;1;16;25;-2;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;25;30000;0;10;8;1;4;25;-1;1;0;0;1;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;8;25;1;2;25;-2;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;10;8;1;6;25;-2;1;0;1;1;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;2;8;1;1;25;0;5;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;21;8;1;18;25;0;0;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;18;25;-2;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;10;8;1;18;25;0;-2;0;0;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;11;8;1;4;25;-1;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;13;8;1;15;25;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;8;8;1;1;25;0;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;6;25;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;15;25;-1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;10;25;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;7;30000;0;15;8;1;3;25;0;-1;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;9;30000;0;15;8;1;19;25;-2;3;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;10;8;1;14;25;1;5;1;1;1;1;0;0;2;0;0 @@ -758,371 +758,371 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;4;30000;0;15;8;1;8;25;-2;5;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;6;25;-2;0;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;7;30000;0;15;8;1;14;25;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;9;30000;0;15;8;1;4;25;-2;1;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;18;25;-2;4;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;8;25;1;10;25;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;25;30000;0;5;8;1;1;25;1;4;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;26;30000;0;16;8;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;32;30000;0;8;8;1;1;25;-2;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;45;30000;0;15;25;1;1;25;0;-1;0;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;45;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;13;30000;0;8;25;1;10;25;1;1;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;8;25;1;12;25;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;-1;-1;1;1;1;1;1;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;11;25;1;8;25;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;26;30000;0;15;25;1;1;25;0;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;16;25;1;1;25;1;-1;0;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;15;25;1;1;25;-1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;4;30000;0;30;8;1;17;25;0;3;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;5;30000;0;24;8;1;23;25;0;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;5;30000;0;30;8;1;21;25;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;7;30000;0;30;8;1;15;25;-2;0;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;9;30000;0;30;8;1;20;25;1;3;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;13;30000;0;15;25;1;1;25;0;-1;0;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;14;30000;0;17;25;1;1;25;-1;-1;1;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;14;30000;0;24;25;1;1;25;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;25;30000;0;16;25;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;26;30000;0;15;25;1;1;25;-1;-1;0;1;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;0;-1;1;1;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;16;25;1;1;25;-1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;2;26;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;25;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;30;8;1;10;26;0;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;1;-1;1;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;21;16;1;20;26;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;14;30000;0;17;25;1;1;26;1;-1;0;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;25;30000;0;15;25;1;1;26;1;0;1;1;0;1;1;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;25;30000;0;15;25;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;26;30000;0;15;25;1;1;26;-1;-1;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;28;30000;0;6;8;1;19;26;1;4;0;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;32;30000;0;16;25;1;1;26;0;0;1;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;28;30000;0;30;16;1;22;26;0;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;32;30000;0;15;25;1;1;26;0;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;45;30000;0;8;25;1;1;26;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;4;30000;0;30;8;1;17;28;-1;6;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;14;8;1;17;28;1;3;0;0;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;19;16;1;24;28;0;2;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;7;30000;0;30;8;1;23;28;-2;3;1;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;9;30000;0;8;25;1;1;28;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;13;30000;0;15;25;1;1;28;-1;-1;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;25;30000;0;15;25;1;1;28;0;0;0;0;1;1;1;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;25;30000;0;15;25;1;1;28;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;26;30000;0;16;25;1;1;28;-2;-1;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;28;30000;0;16;25;1;1;28;-2;-1;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;32;30000;0;16;25;1;1;28;0;0;0;1;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;45;30000;0;17;25;1;1;28;-1;0;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;4;30000;0;49;25;1;4;32;1;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;8;25;1;1;32;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;32;25;1;1;32;1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;9;30000;0;62;25;1;2;32;0;1;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;13;30000;0;51;25;1;8;32;1;4;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;32;25;1;9;32;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;28;30000;0;16;25;1;1;28;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;32;30000;0;15;25;1;1;28;0;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;45;30000;0;15;25;1;1;28;1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;4;30000;0;30;8;1;8;32;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;31;8;1;5;32;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;30;8;1;22;32;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;9;30000;0;30;8;1;12;32;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;13;30000;0;15;16;1;2;32;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;15;8;1;5;32;1;2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;25;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;26;30000;0;8;25;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;28;30000;0;8;25;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;32;30000;0;4;25;1;1;32;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;45;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;35;25;1;9;45;-2;4;0;1;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;25;25;1;9;45;-2;3;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;16;25;1;12;45;1;-1;1;0;0;1;1;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;22;8;1;21;45;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;23;8;1;25;45;1;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;28;25;1;10;45;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;9;30000;0;17;25;1;9;45;0;1;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;13;30000;0;31;25;1;1;45;-2;-1;1;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;25;30000;0;30;25;1;1;45;-1;-1;0;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;5;8;1;1;45;0;2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;7;8;1;1;45;-2;2;0;0;1;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;25;30000;0;30;25;1;1;45;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;10;16;1;15;45;1;1;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;10;16;1;19;45;-1;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;32;30000;0;15;25;1;1;45;1;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;45;30000;0;10;25;1;1;45;0;1;1;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;45;30000;0;30;25;1;1;45;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;4;30000;0;16;26;1;6;1;-1;-2;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;5;30000;0;14;26;1;2;26;1;3;0;0;1;1;1;2;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;5;30000;0;10;8;1;19;26;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;7;30000;0;9;26;1;3;26;0;4;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;9;30000;0;8;26;1;22;26;0;0;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;13;30000;0;8;26;1;5;26;0;3;0;0;1;1;0;2;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;25;30000;0;8;26;1;1;26;-2;4;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;26;30000;0;4;26;1;16;26;-2;3;1;1;0;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;28;30000;0;8;26;1;1;26;-2;3;0;1;1;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;8;26;1;1;26;-1;-2;0;0;0;1;1;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;28;30000;0;8;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;13;8;1;19;26;1;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;45;30000;0;8;26;1;1;26;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;8;26;1;3;26;0;3;0;0;0;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;5;30000;0;14;26;1;3;1;-2;-1;0;1;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;26;1;26;26;0;4;0;0;1;1;0;0;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;14;8;1;7;26;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;5;30000;0;13;26;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;24;26;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;9;30000;0;8;26;1;20;26;0;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;13;30000;0;15;26;1;16;0;-1;0;0;0;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;16;30000;0;8;8;1;16;1;0;3;0;1;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;1;26;1;11;26;0;3;1;1;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;8;26;1;21;26;1;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;25;30000;0;4;26;1;1;26;1;-2;0;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;26;30000;0;8;8;1;1;26;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;5;26;1;13;26;-2;4;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;3;26;1;11;26;-2;3;1;1;0;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;6;8;1;1;26;-2;3;0;0;1;1;1;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;11;8;1;24;26;-1;3;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;8;8;1;19;26;-2;-1;1;0;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;19;26;1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;15;26;1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;11;26;-2;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;12;8;1;23;26;1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;10;8;1;24;26;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;8;8;1;18;26;-2;1;0;1;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;22;26;-1;3;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;14;26;-1;5;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;4;8;1;25;26;1;3;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;5;26;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;1;26;1;20;26;1;3;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;26;30000;0;4;8;1;1;26;0;4;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;28;30000;0;8;26;1;1;26;0;3;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;9;8;1;17;26;-1;4;0;0;0;1;0;0;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;25;26;-1;3;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;45;30000;0;8;16;1;1;26;-1;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;16;8;1;25;26;0;5;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;12;8;1;15;26;-2;-1;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;6;26;-1;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;10;8;1;21;26;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;7;30000;0;15;8;1;10;26;0;3;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;9;30000;0;17;8;1;17;26;0;-1;1;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;8;26;1;19;26;0;-1;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;25;30000;0;3;8;1;25;26;1;1;0;1;1;1;1;2;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;9;30000;0;15;8;1;19;26;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;8;26;1;3;26;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;25;30000;0;11;16;1;5;26;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;26;30000;0;4;26;1;1;26;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;28;30000;0;3;8;1;25;26;-2;4;0;1;0;1;0;2;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;28;30000;0;13;8;1;26;26;1;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;32;30000;0;8;26;1;1;26;0;1;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;45;30000;0;15;26;1;1;26;0;-1;1;1;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;45;30000;0;15;26;1;1;26;0;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;4;30000;0;15;8;1;25;26;-1;6;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;22;26;1;3;1;-2;-2;1;0;1;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;20;26;1;7;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;7;30000;0;15;8;1;26;26;0;5;1;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;9;30000;0;15;8;1;25;26;1;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;8;26;1;7;26;1;1;0;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;9;26;1;4;26;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;14;30000;0;8;26;1;12;26;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;24;30000;0;16;8;1;1;26;0;0;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;25;30000;0;15;26;1;1;26;-2;-1;1;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;26;30000;0;15;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;28;30000;0;15;8;1;1;26;0;4;0;0;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;28;30000;0;15;8;1;1;26;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;32;30000;0;15;8;1;1;26;-1;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;45;30000;0;5;8;1;1;26;1;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;20;26;-2;4;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;1;26;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;14;30000;0;8;26;1;6;26;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;25;30000;0;16;26;1;1;26;0;-1;0;1;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;26;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;8;26;1;1;26;-1;-1;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;22;26;1;25;1;-2;0;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;31;8;1;23;26;0;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;-1;-2;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;24;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;7;26;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;13;30000;0;17;26;1;1;26;0;-1;1;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;24;30000;0;12;8;1;1;1;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;26;30000;0;15;26;1;1;1;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;32;30000;0;12;8;1;1;1;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;4;30000;0;28;8;1;10;26;-1;4;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;24;8;1;26;26;0;0;1;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;24;8;1;23;26;0;5;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;8;26;1;14;26;0;-1;0;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;4;30000;0;30;8;1;6;26;0;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;32;8;1;26;26;0;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;31;8;1;23;26;-1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;11;26;1;10;26;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;13;30000;0;15;26;1;1;26;0;-1;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;14;30000;0;32;8;1;5;26;1;1;0;0;1;1;0;1;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;25;30000;0;15;8;1;1;26;1;2;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;26;30000;0;5;8;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;8;8;1;1;26;-2;6;1;0;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;8;1;9;26;0;2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;32;30000;0;3;8;1;1;26;1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;10;8;1;1;26;-2;2;0;1;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;20;16;1;12;26;-1;3;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;4;30000;0;30;8;1;22;26;0;3;0;1;1;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;3;26;0;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;24;8;1;6;26;-1;5;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;3;26;0;5;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;30;8;1;21;26;0;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;9;30000;0;20;26;1;1;26;-2;1;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;13;30000;0;30;8;1;26;26;-1;-1;1;1;1;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;13;30000;0;15;8;1;23;26;0;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;14;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;24;30000;0;15;26;1;1;1;-1;-1;1;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;25;30000;0;16;26;1;1;26;-2;-1;1;0;1;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;17;26;1;1;1;0;-1;1;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;16;26;1;1;1;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;28;30000;0;15;26;1;1;26;-2;-1;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;-1;0;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;45;30000;0;8;26;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;4;30000;0;30;8;1;3;28;-2;-1;1;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;14;28;-1;5;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;23;26;1;23;28;-2;1;0;0;1;1;1;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;15;8;1;19;28;1;3;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;15;26;1;1;28;0;-1;0;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;16;26;1;1;28;-1;-1;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;26;30000;0;16;26;1;1;28;0;-1;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;28;30000;0;61;8;1;19;28;-1;1;1;1;0;1;1;1;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;-1;1;1;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;-1;-1;0;1;0;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;37;26;1;12;32;1;6;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;26;1;6;32;-1;6;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;26;1;3;32;-1;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;9;30000;0;31;26;1;22;32;1;6;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;12;28;-1;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;26;1;15;28;-2;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;16;8;1;3;28;1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;18;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;26;30000;0;16;26;1;1;28;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;28;30000;0;30;8;1;24;28;-1;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;31;8;1;11;32;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;26;32;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;26;32;1;-1;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;9;30000;0;30;8;1;12;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;21;26;1;25;32;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;24;30000;0;30;8;1;1;1;-1;-1;1;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;25;30000;0;8;26;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;1;26;1;21;32;0;-2;0;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;5;16;1;18;32;-2;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;28;30000;0;4;8;1;1;32;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;22;26;1;15;45;0;5;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;22;8;1;18;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;23;26;1;11;45;1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;15;26;1;7;45;-1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;17;26;1;13;45;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;28;16;1;16;45;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;15;26;1;12;45;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;4;8;1;26;45;-1;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;-1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;26;30000;0;5;26;1;1;45;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;28;30000;0;1;26;1;19;45;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;3;26;1;10;45;1;6;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;7;8;1;26;45;-2;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;45;30000;0;5;26;1;1;45;1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;6;1;-2;-1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;9;8;1;5;28;1;4;0;1;0;1;1;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;1;1;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;17;28;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;7;30000;0;9;8;1;6;28;0;4;0;0;1;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;10;28;0;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;10;8;1;13;28;-1;5;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;28;1;1;28;0;6;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;8;28;1;8;28;-1;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;28;1;1;28;-2;4;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;8;28;1;1;28;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;4;28;1;1;28;1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;25;28;0;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;8;8;1;19;28;0;5;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;24;28;-2;0;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;9;28;-1;4;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;9;8;1;19;28;1;1;1;1;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;8;28;1;25;28;-1;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;5;28;1;26;28;-2;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;21;28;1;23;28;-1;4;0;1;1;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;3;28;1;6;28;-1;-1;1;0;0;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;4;28;1;12;28;-1;-1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;14;28;1;27;28;-2;4;1;0;1;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;11;28;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;8;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;1;8;1;10;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;13;28;1;11;28;1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;16;28;1;27;28;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;25;28;1;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;10;8;1;22;28;0;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;11;28;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;8;8;1;1;28;-2;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;1;8;1;20;28;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;4;8;1;21;28;-2;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;13;8;1;27;28;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;13;8;1;15;28;0;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;17;8;1;9;28;-2;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;14;8;1;23;28;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;11;28;1;18;28;0;-2;0;0;1;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;9;28;1;4;28;0;4;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;22;28;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;9;30000;0;8;28;1;5;28;-2;4;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;13;30000;0;8;28;1;8;28;1;-1;1;0;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;5;28;1;9;28;-2;4;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;4;8;1;14;28;-2;4;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;26;30000;0;21;28;1;7;28;-1;4;0;0;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;4;28;1;14;28;0;2;0;1;0;0;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;5;28;1;16;28;-1;4;0;1;1;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;3;28;1;14;28;0;-1;0;0;0;0;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;28;1;17;28;0;4;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;28;1;16;28;-2;4;1;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;26;28;1;19;28;-2;-1;0;0;1;1;1;2;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;11;16;1;28;28;0;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;14;8;1;16;28;-2;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;3;28;1;7;28;0;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;11;28;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;23;28;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;15;28;1;28;28;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;9;30000;0;9;28;1;23;28;-1;0;0;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;13;30000;0;9;28;1;4;28;1;-1;0;0;1;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;25;30000;0;15;28;1;1;28;0;4;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;26;30000;0;5;28;1;1;28;-2;4;0;0;1;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;5;28;1;8;28;1;0;1;1;0;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;5;28;1;18;28;1;4;1;0;1;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;8;1;14;28;1;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;45;30000;0;8;28;1;1;28;-2;2;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;21;28;1;5;28;-2;-2;0;1;1;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;28;1;17;28;1;4;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;7;30000;0;16;28;1;6;28;0;4;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;21;28;1;8;28;0;0;0;1;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;12;28;1;2;28;0;-2;0;1;1;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;8;28;1;12;28;-2;4;0;0;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;4;28;1;18;28;-1;4;1;1;1;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;8;28;1;6;28;0;4;0;0;0;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;1;28;1;25;28;0;0;0;0;1;0;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;2;28;1;1;28;-1;3;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;15;28;1;1;28;-1;2;1;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;41;28;1;7;28;1;-2;1;1;0;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;45;28;1;10;28;-2;-1;0;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;9;30000;0;11;28;1;18;28;0;-1;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;42;28;1;3;28;1;0;1;0;0;1;1;2;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;28;1;9;28;0;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;17;28;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;7;30000;0;15;8;1;19;28;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;15;28;1;25;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;28;1;1;28;-2;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;6;16;1;23;28;-1;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;18;8;1;18;28;0;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;8;8;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;4;8;1;17;28;-2;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;5;16;1;23;28;-2;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;34;16;1;16;28;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;15;28;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;16;28;1;7;28;0;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;9;30000;0;16;16;1;9;28;1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;10;28;1;28;28;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;25;30000;0;9;28;1;1;28;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;15;28;1;1;28;-1;6;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;28;30000;0;8;28;1;1;28;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;32;30000;0;10;8;1;1;28;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;4;30000;0;28;28;1;4;28;1;4;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;28;28;1;13;28;0;6;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;7;30000;0;30;28;1;18;28;1;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;9;30000;0;32;28;1;23;28;-1;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;13;30000;0;23;28;1;14;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;4;30000;0;30;8;1;10;28;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;3;28;-2;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;7;30000;0;30;8;1;23;28;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;9;30000;0;18;16;1;25;28;-2;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;13;30000;0;20;28;1;12;28;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;25;30000;0;8;28;1;1;28;0;1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;26;30000;0;15;16;1;1;28;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;28;30000;0;8;28;1;1;28;0;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;32;30000;0;8;28;1;1;28;-2;1;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;45;30000;0;15;28;1;1;28;1;1;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;4;30000;0;32;28;1;23;28;-1;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;41;28;1;12;28;-1;0;0;0;0;1;0;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;7;30000;0;32;28;1;8;28;0;5;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;9;30000;0;30;28;1;4;28;1;6;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;8;28;1;5;28;1;1;0;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;4;30000;0;30;8;1;21;28;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;15;28;1;11;28;-1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;7;30000;0;30;8;1;7;28;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;9;30000;0;30;8;1;24;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;15;28;1;10;28;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;14;30000;0;15;28;1;1;28;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;25;30000;0;16;28;1;1;28;-1;1;0;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;26;30000;0;16;28;1;1;28;-2;-1;1;1;1;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;28;30000;0;8;8;1;16;1;-2;4;0;0;1;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;28;30000;0;15;16;1;25;1;1;0;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;32;30000;0;9;28;1;1;28;-2;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;4;30000;0;30;28;1;21;32;1;5;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;32;28;1;16;32;-1;6;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;7;30000;0;30;28;1;22;32;-2;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;9;30000;0;21;28;1;23;32;1;-1;0;1;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;4;30000;0;30;8;1;14;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;30;8;1;27;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;7;30000;0;30;8;1;8;32;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;9;30000;0;18;28;1;8;32;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;13;30000;0;17;28;1;1;32;0;1;0;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;25;30000;0;15;16;1;1;32;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;26;30000;0;8;28;1;1;32;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;28;30000;0;8;28;1;1;32;0;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;32;30000;0;8;28;1;1;32;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;45;30000;0;8;28;1;1;32;-1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;4;30000;0;23;28;1;24;45;1;5;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;4;30000;0;24;8;1;25;45;1;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;5;30000;0;25;28;1;5;45;1;6;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;7;30000;0;26;28;1;19;45;-1;6;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;9;30000;0;18;28;1;4;45;-2;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;7;30000;0;28;8;1;12;45;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;9;30000;0;27;8;1;6;45;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;13;30000;0;15;28;1;6;45;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;25;30000;0;7;8;1;1;45;1;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;26;30000;0;4;8;1;1;45;1;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;4;8;1;13;45;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;32;30000;0;15;28;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;3;8;1;28;45;-1;5;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;8;29;1;15;29;1;-1;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;8;29;1;1;29;-1;2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;8;29;1;1;29;0;3;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;8;29;1;1;29;1;-2;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;8;29;1;22;29;1;5;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;29;1;1;29;-2;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;29;30000;0;8;29;1;1;29;1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;3;8;1;2;45;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;17;29;1;20;29;-2;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;8;16;1;24;29;0;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;16;1;1;29;0;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;15;8;1;10;29;1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;16;8;1;23;29;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;8;1;1;29;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;29;30000;0;15;8;1;1;29;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;55;30000;0;8;16;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;14;30000;0;6;29;1;22;29;1;-1;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;14;30000;0;15;16;1;16;29;-1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;16;30000;0;13;29;1;1;29;-2;1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;29;30000;0;8;29;1;1;29;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;32;30000;0;10;8;1;1;29;1;4;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;55;30000;0;8;29;1;1;29;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;14;30000;0;9;29;1;18;32;-1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;14;30000;0;17;29;1;29;32;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;29;30000;0;15;16;1;1;32;-1;1;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;32;30000;0;30;29;1;1;32;-2;5;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;55;30000;0;5;16;1;1;32;1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;16;30000;0;15;29;1;12;55;0;1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;29;30000;0;6;8;1;11;55;-1;6;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;32;30000;0;6;8;1;1;55;0;6;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;29;30000;0;27;8;1;1;55;-2;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;32;30000;0;7;8;1;27;55;0;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;55;30000;0;3;16;1;1;55;0;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;30;30000;0;8;30;1;1;1;-2;1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;76;30000;0;8;30;1;1;30;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;76;30;30000;0;27;8;1;1;76;-1;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;76;76;30000;0;4;16;1;1;76;1;2;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;4;30000;0;19;8;1;25;1;-2;-2;1;0;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;5;30000;0;17;8;1;25;1;-1;-2;1;0;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;7;30000;0;9;8;1;7;32;0;4;1;1;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;9;30000;0;8;32;1;13;32;1;1;0;0;1;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;13;30000;0;11;8;1;7;1;-2;-1;1;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;5;30000;0;18;8;1;20;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;7;30000;0;13;8;1;32;32;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;9;30000;0;8;8;1;12;32;1;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;13;30000;0;15;8;1;19;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;17;30000;0;8;8;1;12;1;-2;5;1;0;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;8;8;1;10;32;0;6;0;1;0;1;0;0;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;9;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;26;30000;0;8;8;1;1;32;-1;6;0;1;1;1;1;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;28;30000;0;5;8;1;13;32;0;4;0;1;1;1;1;0;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;28;30000;0;8;8;1;1;32;-1;-1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;32;30000;0;8;32;1;1;1;-1;-2;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;45;30000;0;8;8;1;1;32;-1;4;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;4;30000;0;17;16;1;21;1;-1;0;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;5;30000;0;17;8;1;5;1;1;0;0;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;9;8;1;6;32;-1;-1;0;0;0;1;0;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;4;30000;0;15;8;1;18;1;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;5;30000;0;15;8;1;8;1;0;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;15;8;1;31;32;0;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;9;30000;0;8;8;1;30;32;1;-1;0;0;0;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;13;30000;0;8;32;1;26;1;-2;-2;0;1;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;17;30000;0;8;32;1;14;1;-1;-1;0;0;0;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;24;30000;0;8;8;1;1;32;-2;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;2;32;1;1;32;1;2;1;1;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;9;8;1;1;32;-2;5;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;28;30000;0;4;32;1;21;32;-1;6;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;32;30000;0;8;32;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;45;30000;0;2;8;1;28;32;-2;6;0;1;0;1;1;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;4;30000;0;17;8;1;30;32;-2;5;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;5;30000;0;14;8;1;18;32;1;1;1;0;1;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;7;30000;0;14;8;1;26;32;-1;5;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;9;30000;0;8;8;1;21;32;0;4;0;1;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;13;30000;0;21;8;1;10;32;-1;6;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;25;30000;0;8;8;1;1;32;1;5;1;1;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;26;30000;0;8;8;1;1;32;0;0;1;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;4;8;1;17;32;0;4;1;0;1;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;9;8;1;1;32;-1;1;0;0;1;0;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;17;30000;0;8;32;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;24;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;8;16;1;1;32;1;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;28;30000;0;4;8;1;22;32;-1;5;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;32;30000;0;8;32;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;45;30000;0;4;8;1;1;32;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;4;30000;0;18;8;1;14;32;-2;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;5;30000;0;16;8;1;2;32;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;7;30000;0;15;8;1;12;32;-1;4;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;9;30000;0;10;8;1;30;32;0;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;13;30000;0;8;8;1;9;32;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;25;30000;0;8;8;1;1;32;1;4;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;26;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;8;8;1;1;32;1;4;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;9;8;1;1;32;-2;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;45;30000;0;8;8;1;1;32;1;1;1;0;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;4;30000;0;17;8;1;19;32;1;5;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;5;30000;0;15;8;1;20;32;-1;4;1;1;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;7;30000;0;15;8;1;22;32;0;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;9;30000;0;10;8;1;1;32;1;4;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;13;30000;0;15;8;1;11;32;0;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;22;30000;0;3;8;1;1;32;-1;4;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;9;30000;0;15;8;1;11;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;13;30000;0;15;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;22;30000;0;6;8;1;1;32;0;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;25;30000;0;6;8;1;1;32;1;1;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;26;30000;0;5;16;1;1;32;1;4;0;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;28;30000;0;6;8;1;1;32;-2;-2;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;32;30000;0;5;8;1;30;32;1;4;0;1;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;32;30000;0;15;8;1;1;32;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;45;30000;0;4;8;1;1;32;-1;-2;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;4;30000;0;22;32;1;8;1;-1;1;1;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;5;30000;0;20;32;1;8;1;-1;0;1;1;1;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;7;30000;0;17;8;1;3;32;0;6;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;9;30000;0;21;32;1;27;32;-1;-1;0;1;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;13;30000;0;9;32;1;21;1;-1;-2;1;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;14;30000;0;31;32;1;15;32;1;-1;1;1;0;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;17;30000;0;8;32;1;17;1;-2;-2;0;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;24;30000;0;15;8;1;17;32;1;3;0;1;0;1;1;0;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;9;30000;0;15;8;1;16;32;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;13;30000;0;13;32;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;14;30000;0;15;32;1;18;32;-1;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;17;30000;0;12;32;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;24;30000;0;15;16;1;24;32;-1;4;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;25;30000;0;15;8;1;1;32;-2;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;26;30000;0;15;8;1;1;32;-1;3;0;1;0;1;1;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;26;30000;0;30;16;1;3;32;-1;4;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;28;30000;0;18;16;1;5;32;-2;4;1;1;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;32;30000;0;8;32;1;1;1;-2;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;45;30000;0;5;8;1;1;32;-1;1;0;0;1;1;0;0;0;1;0 @@ -1132,26 +1132,26 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;25;30000;0;15;32;1;1;32;-1;4; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;26;30000;0;15;32;1;1;32;-2;4;1;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;29;30000;0;8;8;1;1;32;-1;6;1;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;32;30000;0;8;16;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;32;8;1;8;1;0;1;1;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;5;30000;0;32;8;1;27;1;1;1;0;1;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;30;8;1;17;1;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;5;30000;0;29;8;1;31;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;12;8;1;25;1;0;0;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;17;30000;0;15;32;1;1;1;-1;1;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;12;8;1;1;1;-2;1;1;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;13;32;1;26;32;0;4;0;1;1;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;29;8;1;9;32;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;22;30000;0;12;8;1;1;1;1;4;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;17;8;1;1;1;1;1;1;0;0;1;1;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;18;32;1;15;32;0;4;0;1;0;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;9;32;1;7;32;-2;-1;1;0;0;1;0;2;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;38;8;1;31;32;1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;27;32;1;14;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;24;30000;0;12;8;1;1;32;-2;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;26;30000;0;12;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;13;8;1;1;1;-1;0;0;0;0;1;1;2;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;30;32;1;31;32;1;4;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;17;32;1;20;32;1;4;1;0;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;31;8;1;9;32;-1;4;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;42;8;1;13;32;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;7;30000;0;30;32;1;24;32;1;4;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;12;32;1;10;32;-2;1;0;1;1;1;0;2;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;30;8;1;13;32;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;13;30000;0;30;32;1;12;32;-2;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;32;1;23;32;0;4;0;1;0;1;0;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;1;0;1;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;17;32;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;26;30000;0;15;32;1;1;32;1;1;1;1;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;28;30000;0;6;16;1;1;32;-1;4;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;32;30000;0;12;8;1;1;32;1;0;1;0;1;1;0;1;0;0;1 @@ -1159,57 +1159,57 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;45;30000;0;10;8;1;1;32;-2;4;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;4;30000;0;30;32;1;25;32;1;4;1;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;5;30000;0;31;32;1;24;32;1;4;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;7;30000;0;30;32;1;11;32;1;4;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;30;32;1;8;32;1;4;1;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;41;32;1;15;32;-1;0;1;0;1;1;0;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;32;8;1;19;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;9;32;1;7;32;0;-1;0;0;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;24;30000;0;10;8;1;1;1;0;0;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;25;30000;0;10;32;1;1;32;-1;4;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;30;8;1;15;1;1;2;0;1;0;1;1;0;2;1;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;11;1;-2;4;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;15;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;15;8;1;1;1;-1;-2;1;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;45;30000;0;20;8;1;1;32;-1;5;0;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;4;30000;0;16;32;1;28;32;0;4;0;0;1;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;5;30000;0;41;32;1;15;32;1;-1;0;0;0;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;7;30000;0;31;32;1;2;32;1;4;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;41;32;1;28;32;-2;0;0;0;0;1;0;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;13;30000;0;15;32;1;1;32;-1;4;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;20;8;1;1;32;-2;4;0;1;1;1;1;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;4;30000;0;42;8;1;28;32;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;5;30000;0;42;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;7;30000;0;30;8;1;5;32;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;18;32;1;4;32;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;13;30000;0;30;8;1;2;32;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;59;8;1;1;32;-2;4;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;31;32;0;-2;0;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;4;1;0;1;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;32;30000;0;20;8;1;1;32;-2;-2;1;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;45;30000;0;20;8;1;1;32;1;-2;0;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;31;8;1;12;32;-2;2;0;1;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;30;8;1;23;32;1;4;1;1;0;1;0;0;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;31;16;1;30;32;1;3;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;20;8;1;1;32;-1;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;32;30000;0;20;8;1;1;32;-2;0;1;1;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;55;30000;0;59;8;1;1;32;-1;4;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;4;30000;0;30;16;1;27;1;-2;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;5;30000;0;30;32;1;10;1;-2;6;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;7;30000;0;30;32;1;27;32;1;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;9;30000;0;15;32;1;1;1;1;5;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;13;30000;0;30;32;1;17;1;-1;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;15;8;1;1;32;1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;17;30000;0;11;32;1;1;0;-1;1;0;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;5;30000;0;30;8;1;13;1;1;1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;7;30000;0;30;8;1;14;32;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;9;30000;0;30;8;1;8;1;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;13;30000;0;30;8;1;17;1;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;1;32;1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;17;30000;0;11;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;22;30000;0;8;32;1;1;1;1;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;24;30000;0;8;32;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;25;30000;0;30;32;1;1;32;1;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;25;30000;0;30;8;1;1;32;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;26;30000;0;8;32;1;1;0;-1;1;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;28;30000;0;10;8;1;1;32;-1;6;0;1;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;28;30000;0;10;8;1;1;32;-1;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;29;30000;0;8;32;1;1;32;-2;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;32;30000;0;8;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;45;30000;0;10;32;1;1;32;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;55;30000;0;10;32;1;1;32;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;4;30000;0;31;32;1;17;45;-2;5;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;5;30000;0;27;32;1;26;45;-1;5;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;5;30000;0;29;8;1;2;45;0;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;7;30000;0;28;32;1;2;45;-1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;19;32;1;1;45;1;6;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;60;8;1;14;45;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;13;30000;0;28;32;1;22;45;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;25;30000;0;16;8;1;1;45;-1;5;0;0;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;21;45;0;-1;0;1;1;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;28;45;1;-2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;28;30000;0;12;8;1;1;45;1;5;1;1;0;1;1;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;34;8;1;31;45;-1;-2;0;1;0;1;1;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;16;8;1;17;45;0;-2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;45;30000;0;12;8;1;1;45;-2;-2;0;0;1;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;12;16;1;19;55;-2;2;0;0;0;1;1;0;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;18;8;1;6;55;0;-2;0;1;0;1;0;0;0;1;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;20;16;1;1;55;1;1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;8;8;1;1;55;-2;0;1;0;0;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;12;8;1;21;1;-2;4;1;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;32;30000;0;10;8;1;3;1;0;0;0;1;0;1;1;0;0;0;1 @@ -1220,9 +1220,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;36;36;36;30000;0;6;8;1;23;36;1;5;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;40;40;40;30000;0;12;8;1;1;1;0;0;1;0;0;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;4;4;30000;0;3;45;1;36;45;0;2;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;13;13;30000;0;10;8;1;1;45;1;6;0;1;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;32;28;30000;0;19;16;1;20;45;-1;6;0;0;0;1;0;0;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;32;28;30000;0;16;8;1;7;45;-2;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;45;45;30000;0;30;45;1;1;45;-2;1;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;50;20;50;30000;0;3;8;1;1;50;1;1;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;50;20;50;30000;0;3;8;1;1;50;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;30;30;30000;0;12;16;1;50;76;1;10;0;1;1;1;1;0;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;30;76;30000;0;8;76;1;4;76;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;76;30;30000;0;47;16;1;1;76;0;5;0;1;0;1;0;0;0;0;0 diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 8f51f17effe..1593765afda 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -52,7 +52,6 @@ class SmmTuner(MeasurementInterface): def __init__(self, args): """Setup common state and define search space""" super(SmmTuner, self).__init__(args) - dbdir = os.path.join(tempfile.gettempdir(), "opentuner") manipulator = ConfigurationManipulator() # parse and sanitize kernel shape argument if not self.args.mnk: @@ -175,15 +174,15 @@ def __init__(self, args): ): # setup database (DB) if args.database is None: # adjust DB-location envrank = os.getenv("PMI_RANK", os.getenv("OMPI_COMM_WORLD_LOCAL_RANK")) - directory = "{}-{}".format(dbdir, os.getenv("HOSTNAME")) + tmpdir = os.path.join(tempfile.gettempdir(), "opentuner") if envrank: self.idevice = int(envrank) % self.ndevices - directory += ".{}".format(self.idevice) - if os.path.isdir(directory): - shutil.rmtree(directory) - os.mkdir(directory) + tmpdir += str(self.idevice) + if os.path.isdir(tmpdir): + shutil.rmtree(tmpdir) + os.mkdir(tmpdir) self.args.database = "sqlite:///" + os.path.join( - directory, "{}.db".format(os.getpid()) + tmpdir, "{}.db".format(os.getpid()) ) if not self.args.label: # label for DB-session self.args.label = "{}-{}-{}-s{}".format( @@ -467,7 +466,7 @@ def merge_jsons(self, filenames): msg = "Worse and older (delete {} @ {}x): {}" rnd = [str(round(i, 2)) for i in delsld] print(msg.format(num, "..".join(rnd), lst)) - else: + else: # delete outperformed parameter sets for file in retain + delete: try: os.remove(file) diff --git a/src/acc/opencl/smm/tune_multiply.sh b/src/acc/opencl/smm/tune_multiply.sh index 9516e43c1cb..09a3f53a177 100755 --- a/src/acc/opencl/smm/tune_multiply.sh +++ b/src/acc/opencl/smm/tune_multiply.sh @@ -83,19 +83,13 @@ then break;; esac done - # how to print standard vs error messages - if [ ! "${HELP}" ] || [ "0" = "${HELP}" ]; then - ECHO=">&2 echo" - else - ECHO="echo" - fi # default/basic settings if [ ! "${BATCHSIZE}" ]; then BATCHSIZE=0; fi if [ ! "${JSONDIR}" ]; then JSONDIR=.; fi if [ ! "${TLEVEL}" ]; then TLEVEL=-1; fi if [ ! "${NPARTS}" ]; then NPARTS=${PMI_SIZE:-1}; fi if [ ! "${PART}" ]; then PART=${PMI_RANK:-0}; PART=$((PART+1)); fi - if [ ! "${WAIT}" ] && [ "1" = "${NPARTS}" ]; then WAIT=0; fi + if [ ! "${WAIT}" ] && [ "1" != "${NPARTS}" ]; then WAIT=0; fi # sanity checks if [ "0" != "$((NPARTS&2 echo "ERROR: part-number ${PART} is larger than the requested ${NPARTS} parts!" @@ -104,12 +98,15 @@ then >&2 echo "ERROR: part-number must be 1-based!" exit 1 fi - HERE=$(cd "$(dirname "$0")" && pwd -P) - JSONS=$(${LS} -1 ${JSONDIR}/tune_multiply-*-*x*x*-*gflops.json 2>/dev/null) if [ "${SPECID}" ] && [ "$1" ]; then >&2 echo "ERROR: --specid and are mutual exclusive!" exit 1 - elif [ ! "${HELP}" ] || [ "0" = "${HELP}" ]; then + fi + # how to print standard vs error messages + if [ ! "${HELP}" ] || [ "0" = "${HELP}" ]; then + JSONS=$(${LS} -1 ${JSONDIR}/tune_multiply-*-*x*x*-*gflops.json 2>/dev/null) + HERE=$(cd "$(dirname "$0")" && pwd -P) + ECHO=">&2 echo" if [ "${UPDATE}" ] && [ "0" != "${UPDATE}" ]; then MNKS=$(${SED} -n "s/.*tune_multiply-..*-\(..*x..*x.[^-]*\)-..*gflops\.json/\1/p" <<<"${JSONS}" \ | ${SORT} -u -n -tx -k1,1 -k2,2 -k3,3) @@ -119,9 +116,9 @@ then MNKS=$(eval "${HERE}/../../acc_triplets.sh $* 2>/dev/null") fi else - exit 0 + ECHO="echo" fi - if [ ! "${WAIT}" ]; then + if [ ! "${WAIT}" ] || [[ ("${HELP}" && "0" != "${HELP}") ]]; then eval "${ECHO} \"Usage: $0 [options] []\"" eval "${ECHO} \" Options must precede triplet specification\"" eval "${ECHO} \" -w|--wait N: initial delay before auto-tuning (default: ${WAIT_DEFAULT} s)\"" @@ -144,6 +141,7 @@ then eval "${ECHO} \" , e.g., 134 kernels\"" eval "${ECHO} \" 23, 5 32 13 24 26, 4 9\"" eval "${ECHO}" + if [ "${HELP}" ] && [ "0" != "${HELP}" ]; then exit 0; fi fi if [ "${MNKS}" ]; then if [ "${BOUNDL}" ] || [ "${BOUNDU}" ]; then @@ -187,9 +185,6 @@ then >&2 echo "ERROR: invalid or no given!" exit 1 fi - PARTSIZE=$(((NTRIPLETS+NPARTS-1)/NPARTS)) - PARTOFFS=$(((PART-1)*PARTSIZE)) - PARTSIZE=$((PARTSIZE<=(NTRIPLETS-PARTOFFS)?PARTSIZE:(NTRIPLETS-PARTOFFS))) if [ ! "${WAIT}" ] || [ "0" != "${WAIT}" ]; then if [ "0" != "$((NPARTS<=NTRIPLETS))" ]; then echo "Session ${PART} of ${NPARTS} part(s)." @@ -204,6 +199,9 @@ then then MAXTIME=160 fi + PARTSIZE=$((NPARTS Date: Fri, 22 Mar 2024 11:45:26 +0100 Subject: [PATCH 05/74] ocl: improved script turning OpenCL code into resource/header * Remove include guards by default (simplistic). * Fixed determining prefix. * Avoid bulky symbols. --- src/acc/opencl/acc_opencl.sh | 48 +++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/src/acc/opencl/acc_opencl.sh b/src/acc/opencl/acc_opencl.sh index e7dda72ec15..a6f9739cf64 100755 --- a/src/acc/opencl/acc_opencl.sh +++ b/src/acc/opencl/acc_opencl.sh @@ -14,6 +14,7 @@ DIRNAME=$(command -v dirname) HEAD=$(command -v head) SORT=$(command -v sort) SED=$(command -v gsed) +CAT=$(command -v cat) CPP=$(command -v cpp) TR=$(command -v tr) RM=$(command -v rm) @@ -35,18 +36,26 @@ trap_exit() { } process_pre() { - if [ "${CPP}" ] && \ - [ "$(eval "${CPP} ${CPPBASEFLAGS} $1" 2>/dev/null >/dev/null && echo "YES")" ]; - then - if [ "${CPPFLAGS}" ] && \ - [ "$(eval "${CPP} ${CPPFLAGS} ${CPPBASEFLAGS} $1" 2>/dev/null >/dev/null && echo "YES")" ]; + if [ "$1" ]; then + GUARD=$(${BASENAME} "$1" | ${TR} '[:lower:]' '[:upper:]' | ${TR} '.' '_') + if [ "${CPP}" ] && \ + [ "$(eval "${CPP} ${CPPBASEFLAGS} $1" 2>/dev/null >/dev/null && echo "YES")" ]; then - eval "${CPP} ${CPPFLAGS} ${CPPBASEFLAGS} $1" 2>/dev/null + if [ "${CPPFLAGS}" ] && \ + [ "$(eval "${CPP} ${CPPFLAGS} ${CPPBASEFLAGS} $1" 2>/dev/null >/dev/null && echo "YES")" ]; + then + eval "${CPP} ${CPPFLAGS} ${CPPBASEFLAGS} $1" 2>/dev/null + else + eval "${CPP} ${CPPBASEFLAGS} $1" 2>/dev/null + fi + else # fallback to sed + ${SED} -r ':a;s%(.*)/\*.*\*/%\1%;ta;/\/\*/!b;N;ba' "$1" + fi | \ + if [ "${GUARD}" ] && [[ (! "$2" || "0" = "$2") ]]; then # strip include guards + ${SED} "/${GUARD}/d;\${/\s*\#\s*endif/d}" else - eval "${CPP} ${CPPBASEFLAGS} $1" 2>/dev/null + ${CAT} fi - else # fallback to sed - ${SED} -r ':a;s%(.*)/\*.*\*/%\1%;ta;/\/\*/!b;N;ba' "$1" fi } @@ -59,7 +68,7 @@ process() { CLPATH=$(${DIRNAME} "$1") FILE=${CLPATH}/${CLINC} if [ "${FILE}" ] && [ -e "${FILE}" ]; then - process_pre "${FILE}" | process "${FILE}" + process_pre "${FILE}" "$2" | process "${FILE}" "$2" else >&2 echo "ERROR: header file ${FILE} not found!" exit 1 @@ -74,13 +83,16 @@ process() { } if [ "${BASENAME}" ] && [ "${DIRNAME}" ] && [ "${HEAD}" ] && [ "${SORT}" ] && \ - [ "${SED}" ] && [ "${TR}" ] && [ "${RM}" ] && [ "${WC}" ]; + [ "${SED}" ] && [ "${CAT}" ] && [ "${TR}" ] && [ "${RM}" ] && [ "${WC}" ]; then for OFILE in "$@"; do :; done while test $# -gt 0; do case "$1" in -h|--help) shift $#;; + -k|--keep) + KEEP=1 + shift;; -b|--banner) BANNER=$2 shift 2;; @@ -119,13 +131,20 @@ then fi fi trap 'trap_exit' EXIT - RNAME=$(${BASENAME} "$(${DIRNAME} "$1")") + RNAME=$(${BASENAME} "$(cd "$(${DIRNAME} "$1")" && pwd -P)") ANAME=$(${TR} '[:lower:]' '[:upper:]' <<<"${RNAME}") NFILES_OCL=0 for CLFILE in ${*:1:${#@}-1}; do if [ "${CLFILE##*.}" = "cl" ]; then + CLEXT=".cl" + elif [ "${CLFILE##*.}" = "h" ]; then + CLEXT=".h" + else + CLEXT="" + fi + if [ "${CLEXT}" ]; then if [ -e "${CLFILE}" ]; then - CNAME=$(${BASENAME} "${CLFILE}" .cl | ${SED} "s/${RNAME}_//") + CNAME=$(${BASENAME} "${CLFILE}" "${CLEXT}" | ${SED} "s/${RNAME}_//;s/_opencl//") BNAME=$(${TR} '[:lower:]' '[:upper:]' <<<"${CNAME}") SNAME=OPENCL_${ANAME}_STRING_${BNAME} VNAME=opencl_${RNAME}_source_${CNAME} @@ -137,7 +156,7 @@ then fi echo "#define ${MNAME} ${VNAME}" echo "#define ${SNAME} \\" - process_pre "${CLFILE}" | process "${CLFILE}" + process_pre "${CLFILE}" "${KEEP}" | process "${CLFILE}" "${KEEP}" echo " \"\"" echo "static const char ${VNAME}[] = ${SNAME};" NFILES_OCL=$((NFILES_OCL+1)) @@ -227,6 +246,7 @@ then else echo "Usage: $0 infile.cl [infile2.cl .. infileN.cl] [infile.csv [.. infileN.csv]] outfile.h" echo " At least one OpenCL file and one header file must be supplied." + echo " -k|--keep: do not strip include guards (stripped even if necessary)" echo " -b|--banner N: number of lines used as banner (default: 0)" echo " -p|--params P: directory-path to CSV-files (can be \"\")" echo " default: ${PARAMDIR}" From abf8fcf774d6f52348768899ae6bd616b51273a3 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Fri, 22 Mar 2024 13:55:10 +0100 Subject: [PATCH 06/74] ocl: fixed script turning code into embedded resource * Check if include-guard is actually present. --- src/acc/opencl/acc_opencl.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/acc/opencl/acc_opencl.sh b/src/acc/opencl/acc_opencl.sh index a6f9739cf64..d4b793c8b41 100755 --- a/src/acc/opencl/acc_opencl.sh +++ b/src/acc/opencl/acc_opencl.sh @@ -37,7 +37,6 @@ trap_exit() { process_pre() { if [ "$1" ]; then - GUARD=$(${BASENAME} "$1" | ${TR} '[:lower:]' '[:upper:]' | ${TR} '.' '_') if [ "${CPP}" ] && \ [ "$(eval "${CPP} ${CPPBASEFLAGS} $1" 2>/dev/null >/dev/null && echo "YES")" ]; then @@ -51,8 +50,13 @@ process_pre() { else # fallback to sed ${SED} -r ':a;s%(.*)/\*.*\*/%\1%;ta;/\/\*/!b;N;ba' "$1" fi | \ - if [ "${GUARD}" ] && [[ (! "$2" || "0" = "$2") ]]; then # strip include guards - ${SED} "/${GUARD}/d;\${/\s*\#\s*endif/d}" + if [ ! "$2" ] || [ "0" = "$2" ]; then # strip include guards + GUARD=$(${BASENAME} "$1" | ${TR} '[:lower:]' '[:upper:]' | ${TR} '.' '_') + if [ "${GUARD}" ] && [ "$(${SED} -n "/${GUARD}/p" "$1")" ]; then + ${SED} "/${GUARD}/d;\${/\s*\#\s*endif/d}" + else + ${CAT} + fi else ${CAT} fi From 0510971b3f422386398a8b561322894b7bd030f2 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Fri, 22 Mar 2024 15:21:02 +0100 Subject: [PATCH 07/74] ocl: adjusted internal interface * Adjusted c_dbcsr_acc_opencl_flags_atomics. * Code/interface comment. --- src/acc/opencl/acc_opencl.c | 16 +++++++++------- src/acc/opencl/acc_opencl.h | 6 +++--- src/acc/opencl/smm/opencl_libsmm.c | 6 +++--- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index e595727ff80..4c396dd9d5a 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -1150,16 +1150,17 @@ int c_dbcsr_acc_opencl_wgsize(cl_device_id device, cl_kernel kernel, size_t* max int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, c_dbcsr_acc_opencl_atomic_fp_t kind, - const char* exts[], int exts_maxlen, char flags[], size_t flags_maxlen) { + const char* exts[], size_t* exts_maxlen, char flags[], size_t flags_maxlen) { cl_device_id device_id = NULL; - int result = 0, ext1, ext2; - for (ext1 = 0; ext1 < exts_maxlen; ++ext1) { + size_t ext1, ext2; + int result = 0; + for (ext1 = 0; ext1 < (NULL != exts_maxlen ? *exts_maxlen : 0); ++ext1) { if (NULL == exts[ext1] || '\0' == *exts[ext1]) break; } - for (ext2 = ext1 + 1; ext2 < exts_maxlen; ++ext2) { + for (ext2 = ext1 + 1; ext2 < (NULL != exts_maxlen ? *exts_maxlen : 0); ++ext2) { if (NULL == exts[ext2] || '\0' == *exts[ext2]) break; } - if (NULL != devinfo && ext2 < exts_maxlen && + if (NULL != devinfo && NULL != exts_maxlen && ext2 < *exts_maxlen && EXIT_SUCCESS == clGetContextInfo(devinfo->context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device_id, NULL)) { const char* atomic_type = ""; @@ -1227,8 +1228,9 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, &fp_atomics, NULL) && 0 != (/*add*/ (1 << 1) & fp_atomics)) { -# if 0 /* enabling this permitted extension in source code causes compiler warning */ exts[ext2] = "cl_ext_float_atomics"; +# if 1 /* enabling this permitted extension in source code causes compiler warning */ + *exts_maxlen = ext2; /* quietly report extension by reducing exts_maxlen */ # endif atomic_exp = (c_dbcsr_acc_opencl_atomic_fp_64 == kind ? "atomic_fetch_add_explicit((GLOBAL_VOLATILE(atomic_double)*)A,B," @@ -1323,7 +1325,7 @@ int c_dbcsr_acc_opencl_flags( int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const char kernel_name[], const char build_params[], - const char build_options[], const char try_build_options[], int* try_ok, const char* const extnames[], int num_exts, + const char build_options[], const char try_build_options[], int* try_ok, const char* const extnames[], size_t num_exts, cl_kernel* kernel) { char buffer[ACC_OPENCL_BUFFERSIZE] = "", buffer_name[ACC_OPENCL_MAXSTRLEN * 2]; int ok = EXIT_SUCCESS, source_is_cl = 1, nchar; diff --git a/src/acc/opencl/acc_opencl.h b/src/acc/opencl/acc_opencl.h index 8cdbc15f2df..1c0e8c61110 100644 --- a/src/acc/opencl/acc_opencl.h +++ b/src/acc/opencl/acc_opencl.h @@ -260,7 +260,7 @@ typedef struct c_dbcsr_acc_opencl_device_t { c_dbcsr_acc_opencl_stream_t stream; /** OpenCL compiler flag (language standard). */ char std_flag[16]; - /** OpenCL support-level of device. */ + /** OpenCL support-level (major and minor). */ cl_int std_level[2], std_clevel[2]; /** Kind of device (GPU, CPU, or other). */ cl_device_type type; @@ -389,13 +389,13 @@ int c_dbcsr_acc_opencl_wgsize(cl_device_id device, cl_kernel kernel, size_t* max * are are meant to be compiler-flags. */ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const char kernel_name[], const char build_params[], - const char build_options[], const char try_build_options[], int* try_ok, const char* const extnames[], int num_exts, + const char build_options[], const char try_build_options[], int* try_ok, const char* const extnames[], size_t num_exts, cl_kernel* kernel); /** Per-thread variant of c_dbcsr_acc_device_synchronize. */ int c_dbcsr_acc_opencl_device_synchronize(ACC_OPENCL_LOCKTYPE* lock, int thread_id); /** Assemble flags to support atomic operations. */ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, c_dbcsr_acc_opencl_atomic_fp_t kind, - const char* exts[], int exts_maxlen, char flags[], size_t flags_maxlen); + const char* exts[], size_t* exts_maxlen, char flags[], size_t flags_maxlen); /** Combines build-params and build-options, optional flags (try_build_options). */ int c_dbcsr_acc_opencl_flags( const char build_params[], const char build_options[], const char try_build_options[], char buffer[], size_t buffer_size); diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 6089fe572bd..7e26ed2a813 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -1065,7 +1065,7 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, const char *extensions[] = {NULL, NULL}, *const env_devid = getenv("OPENCL_LIBSMM_SMM_DEVID"); const unsigned int devuid = (NULL == env_devid || '\0' == *env_devid) ? c_dbcsr_acc_opencl_config.device.uid : (unsigned int)strtoul(env_devid, NULL, 0); - size_t wgsize_max, wgsize_prf, sgs = 0; + size_t nextensions = sizeof(extensions) / sizeof(*extensions), wgsize_max, wgsize_prf, sgs = 0; opencl_libsmm_smm_t new_config; if (NULL == config) { memset(&new_config, 0, sizeof(new_config)); @@ -1263,7 +1263,7 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, /* apply support for FP-atomics */ if (0 < nchar && (int)sizeof(build_params) > nchar) { nchar = c_dbcsr_acc_opencl_flags_atomics(&c_dbcsr_acc_opencl_config.device, tkind, extensions, - sizeof(extensions) / sizeof(*extensions), build_params + nchar, sizeof(build_params) - nchar); + &nextensions, build_params + nchar, sizeof(build_params) - nchar); } else result = EXIT_FAILURE; if (0 < nchar && (int)sizeof(build_params) > nchar) { @@ -1290,7 +1290,7 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, const char* const env_kernel = getenv("OPENCL_LIBSMM_SMM_KERNEL"); result = c_dbcsr_acc_opencl_kernel(NULL == env_kernel ? 0 : 1, NULL == env_kernel ? OPENCL_KERNELS_SOURCE_MULTIPLY : env_kernel, fname, build_params, buffer, NULL /*cl_try*/, - NULL /*cl_try_ok*/, extensions, sizeof(extensions) / sizeof(*extensions), new_config.kernel + kernel_idx); + NULL /*cl_try_ok*/, extensions, nextensions, new_config.kernel + kernel_idx); if (EXIT_SUCCESS == result) { size_t wgsize_max_kernel = wgsize_max; result = c_dbcsr_acc_opencl_wgsize( From ce2236b4d43929458526c30ef61e1b37441b474d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 22 Mar 2024 14:23:12 +0000 Subject: [PATCH 08/74] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/acc/opencl/smm/opencl_libsmm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 7e26ed2a813..4d371fd8795 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -1262,8 +1262,8 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, 0 == new_config.ac ? "" : (1 == slm_c ? "-DSLM_C=1" : "-DSLM_C=2")); /* apply support for FP-atomics */ if (0 < nchar && (int)sizeof(build_params) > nchar) { - nchar = c_dbcsr_acc_opencl_flags_atomics(&c_dbcsr_acc_opencl_config.device, tkind, extensions, - &nextensions, build_params + nchar, sizeof(build_params) - nchar); + nchar = c_dbcsr_acc_opencl_flags_atomics(&c_dbcsr_acc_opencl_config.device, tkind, extensions, &nextensions, + build_params + nchar, sizeof(build_params) - nchar); } else result = EXIT_FAILURE; if (0 < nchar && (int)sizeof(build_params) > nchar) { From d1157c42f8f9b2b2b5d3c06e4232dc56b9603078 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:39:26 +0100 Subject: [PATCH 09/74] [pre-commit.ci] pre-commit autoupdate (#774) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.3.3 → v0.3.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.3...v0.3.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0fd5b349023..14b98c172c9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.3.3' + rev: 'v0.3.4' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 6db5b28d236de28e7293f783a3c2cc672d202f6b Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 26 Mar 2024 13:28:03 +0100 Subject: [PATCH 10/74] ocl: discover device properties once and simplified setting up WG-size * Store cl_device_id in c_dbcsr_acc_opencl_device_t and rely on it (instead of querying it repeatedly). * Make maximum size of work-group (WG) and preferred multiple available as part of device structure. * Discover subgroups. Avoid some compile-time decision (OpenCL 3.0). * Simplify handling WG-size (and SG-size). * Code cleanup (_DEBUG). --- src/acc/opencl/acc_opencl.c | 144 ++++---- src/acc/opencl/acc_opencl.h | 10 +- src/acc/opencl/acc_opencl_mem.c | 75 ++-- src/acc/opencl/acc_opencl_stream.c | 67 ++-- src/acc/opencl/smm/opencl_libsmm.c | 543 +++++++++++++---------------- 5 files changed, 392 insertions(+), 447 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 4c396dd9d5a..18399be978e 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -158,7 +158,7 @@ LIBXSMM_ATTRIBUTE_DTOR void c_dbcsr_acc_opencl_finalize(void) { for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { const cl_device_id device_id = c_dbcsr_acc_opencl_config.devices[i]; if (NULL != device_id) { -# if defined(CL_VERSION_1_2) && defined(_DEBUG) +# if defined(CL_VERSION_1_2) ACC_OPENCL_EXPECT(EXIT_SUCCESS == clReleaseDevice(device_id)); # endif /* c_dbcsr_acc_opencl_create_context scans for non-NULL devices */ @@ -665,13 +665,10 @@ int c_dbcsr_acc_finalize(void) { assert(c_dbcsr_acc_opencl_config.ndevices < ACC_OPENCL_MAXNDEVS); if (0 != c_dbcsr_acc_opencl_config.ndevices && NULL != cleanup) { if (0 != c_dbcsr_acc_opencl_config.verbosity) { - cl_device_id device = NULL; int d; fprintf(stderr, "INFO ACC/OpenCL: pid=%u nthreads=%i", libxsmm_get_pid(), c_dbcsr_acc_opencl_config.nthreads); if (NULL != c_dbcsr_acc_opencl_config.device.context && - EXIT_SUCCESS == - clGetContextInfo(c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device, NULL) && - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_id(device, NULL /*devid*/, &d)) + EXIT_SUCCESS == c_dbcsr_acc_opencl_device_id(c_dbcsr_acc_opencl_config.device.id, NULL /*devid*/, &d)) { fprintf(stderr, " device=%i", d); } @@ -969,24 +966,29 @@ int c_dbcsr_acc_opencl_create_context(cl_device_id active_id, cl_context* contex int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_id) { + /* accessing devices is thread-safe (array is fixed after initialization) */ + const cl_device_id active_id = c_dbcsr_acc_opencl_config.devices[device_id]; int result = EXIT_SUCCESS; - cl_device_id active_id = NULL, context_id = NULL; assert(c_dbcsr_acc_opencl_config.ndevices < ACC_OPENCL_MAXNDEVS); assert(0 <= device_id && device_id < c_dbcsr_acc_opencl_config.ndevices); - /* accessing devices is thread-safe (array is fixed after initialization) */ - active_id = c_dbcsr_acc_opencl_config.devices[device_id]; if (NULL != active_id) { + cl_device_id context_id = NULL; cl_context context = NULL; if (NULL != lock) ACC_OPENCL_ACQUIRE(lock); context = c_dbcsr_acc_opencl_config.device.context; + context_id = c_dbcsr_acc_opencl_config.device.id; if (NULL != context) { - result = clGetContextInfo(context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &context_id, NULL); - if (EXIT_SUCCESS == result && active_id != context_id) { - assert(NULL != context_id); + assert(NULL != context_id); + if (active_id != context_id) { +# if defined(CL_VERSION_1_2) + ACC_OPENCL_EXPECT(EXIT_SUCCESS == clReleaseDevice(context_id)); +# endif result = clReleaseContext(context); + context_id = NULL; context = NULL; } } + assert(NULL == context_id || active_id == context_id); if (EXIT_SUCCESS == result && active_id != context_id) { result = c_dbcsr_acc_opencl_create_context(active_id, &context); assert(NULL != context || EXIT_SUCCESS != result); @@ -1001,6 +1003,8 @@ int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_i &c_dbcsr_acc_opencl_config.device.type); if (EXIT_SUCCESS == result) { char devname[ACC_OPENCL_BUFFERSIZE] = ""; + const char* const sgexts[] = {"cl_intel_required_subgroup_size", "cl_intel_subgroups", "cl_khr_subgroups"}; + size_t sgsizes[16], nbytes = 0, sgmin = (size_t)-1, i; # if defined(ACC_OPENCL_CMDAGR) ACC_OPENCL_STREAM_PROPERTIES_TYPE properties[4] = { CL_QUEUE_PROPERTIES, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, 0 /* terminator */ @@ -1037,6 +1041,34 @@ int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_i { c_dbcsr_acc_opencl_config.device.unified = CL_FALSE; } + if (EXIT_SUCCESS != clGetDeviceInfo(active_id, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), + c_dbcsr_acc_opencl_config.device.wgsize, NULL)) + { + c_dbcsr_acc_opencl_config.device.wgsize[0] = 1; + } + if (EXIT_SUCCESS != clGetDeviceInfo(active_id, 4199 /*CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE*/, sizeof(size_t), + c_dbcsr_acc_opencl_config.device.wgsize + 1, NULL)) /* CL_VERSION_3_0 */ + { + c_dbcsr_acc_opencl_config.device.wgsize[1] = 1; + } + assert(0 == c_dbcsr_acc_opencl_config.device.wgsize[2]); + if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(active_id, sgexts, 2) && + EXIT_SUCCESS == + clGetDeviceInfo(active_id, 0x4108 /*CL_DEVICE_SUB_GROUP_SIZES_INTEL*/, sizeof(sgsizes), sgsizes, &nbytes)) + { + for (i = 0; (i * sizeof(size_t)) < nbytes; ++i) { + const size_t sgsize = sgsizes[i]; + if (sgsize < sgmin) sgmin = sgsize; + if (0 == (sgsize % c_dbcsr_acc_opencl_config.device.wgsize[1]) && c_dbcsr_acc_opencl_config.device.wgsize[2] < sgsize) { + if (c_dbcsr_acc_opencl_config.device.wgsize[1] < sgsize) c_dbcsr_acc_opencl_config.device.wgsize[1] = sgsize; + c_dbcsr_acc_opencl_config.device.wgsize[2] = sgsize; + } + } + if (0 != c_dbcsr_acc_opencl_config.device.wgsize[2]) c_dbcsr_acc_opencl_config.device.wgsize[2] = sgmin; + } + else { + c_dbcsr_acc_opencl_config.device.wgsize[2] = 0; + } # if defined(ACC_OPENCL_MEM_DEVPTR) if (0 != (4 & c_dbcsr_acc_opencl_config.xhints) && 2 <= *c_dbcsr_acc_opencl_config.device.std_level && 0 != c_dbcsr_acc_opencl_config.device.intel && 0 == c_dbcsr_acc_opencl_config.device.unified && @@ -1076,7 +1108,12 @@ int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_i c_dbcsr_acc_opencl_config.device.stream.queue = ACC_OPENCL_CREATE_COMMAND_QUEUE(context, active_id, properties, &result); } if (EXIT_SUCCESS == result) { - if (active_id != context_id) c_dbcsr_acc_opencl_config.device.context = context; + if (active_id != context_id) { + assert(active_id != c_dbcsr_acc_opencl_config.device.id); + c_dbcsr_acc_opencl_config.device.context = context; + c_dbcsr_acc_opencl_config.device.id = active_id; + } + assert(active_id == c_dbcsr_acc_opencl_config.device.id); } else memset(&c_dbcsr_acc_opencl_config.device, 0, sizeof(c_dbcsr_acc_opencl_config.device)); } @@ -1117,41 +1154,8 @@ int c_dbcsr_acc_set_active_device(int device_id) { } -int c_dbcsr_acc_opencl_wgsize(cl_device_id device, cl_kernel kernel, size_t* max_value, size_t* preferred_multiple) { - int result = (NULL != device && (NULL != preferred_multiple || NULL != max_value)) ? EXIT_SUCCESS : EXIT_FAILURE; - if (NULL != kernel) { /* kernel-specific */ - if (NULL != max_value) { - ACC_OPENCL_CHECK(clGetKernelWorkGroupInfo(kernel, device, CL_KERNEL_WORK_GROUP_SIZE, sizeof(size_t), max_value, NULL), - "query maximum WG-size of kernel", result); - } - if (NULL != preferred_multiple) { - ACC_OPENCL_CHECK(clGetKernelWorkGroupInfo( - kernel, device, CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, sizeof(size_t), preferred_multiple, NULL), - "query preferred multiple of WG-size of kernel", result); - } - } - else { /* device-specific */ - if (NULL != max_value) { - ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), max_value, NULL), - "query maximum WG-size of device", result); - } - if (NULL != preferred_multiple) { -# if defined(CL_VERSION_3_0) - ACC_OPENCL_CHECK( - clGetDeviceInfo(device, CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, sizeof(size_t), preferred_multiple, NULL), - "query preferred multiple of WG-size of device", result); -# else - *preferred_multiple = 1; -# endif - } - } - return result; -} - - int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, c_dbcsr_acc_opencl_atomic_fp_t kind, const char* exts[], size_t* exts_maxlen, char flags[], size_t flags_maxlen) { - cl_device_id device_id = NULL; size_t ext1, ext2; int result = 0; for (ext1 = 0; ext1 < (NULL != exts_maxlen ? *exts_maxlen : 0); ++ext1) { @@ -1160,29 +1164,27 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, for (ext2 = ext1 + 1; ext2 < (NULL != exts_maxlen ? *exts_maxlen : 0); ++ext2) { if (NULL == exts[ext2] || '\0' == *exts[ext2]) break; } - if (NULL != devinfo && NULL != exts_maxlen && ext2 < *exts_maxlen && - EXIT_SUCCESS == clGetContextInfo(devinfo->context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device_id, NULL)) - { + if (NULL != devinfo && NULL != exts_maxlen && ext2 < *exts_maxlen) { const char* atomic_type = ""; switch (kind) { case c_dbcsr_acc_opencl_atomic_fp_64: { exts[ext1] = "cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics"; - if (2 <= *devinfo->std_level && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(device_id, exts, ext2)) { + if (2 <= *devinfo->std_level && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(devinfo->id, exts, ext2)) { atomic_type = "-DTA=long -DTA2=atomic_long -DTF=atomic_double"; } else { exts[ext1] = "cl_khr_fp64 cl_khr_int64_base_atomics"; - if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(device_id, exts, ext2)) { + if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(devinfo->id, exts, ext2)) { atomic_type = "-DTA=long"; } else { /* fallback */ exts[ext1] = "cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics"; - if (2 <= *devinfo->std_level && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(device_id, exts, ext2)) { + if (2 <= *devinfo->std_level && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(devinfo->id, exts, ext2)) { atomic_type = "-DATOMIC32_ADD64 -DTA=int -DTA2=atomic_int -DTF=atomic_double"; } else { exts[ext1] = "cl_khr_fp64 cl_khr_global_int32_base_atomics"; - if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(device_id, exts, ext2)) { + if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(devinfo->id, exts, ext2)) { atomic_type = "-DATOMIC32_ADD64 -DTA=int"; } else kind = c_dbcsr_acc_opencl_atomic_fp_no; @@ -1192,13 +1194,13 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, } break; case c_dbcsr_acc_opencl_atomic_fp_32: { exts[ext1] = "cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics"; - if (2 <= *devinfo->std_level && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(device_id, exts, ext2)) { + if (2 <= *devinfo->std_level && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(devinfo->id, exts, ext2)) { exts[ext2] = "cl_khr_int64_base_atomics cl_khr_int64_extended_atomics"; atomic_type = "-DTA=int -DTA2=atomic_int -DTF=atomic_float"; } else { exts[ext1] = "cl_khr_global_int32_base_atomics"; - if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(device_id, exts, ext2)) { + if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(devinfo->id, exts, ext2)) { exts[ext2] = "cl_khr_int64_base_atomics"; atomic_type = "-DTA=int"; } @@ -1223,7 +1225,7 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, const int force_atomics = ((NULL == env_atomics || '\0' == *env_atomics) ? 0 : atoi(env_atomics)); if (NULL == env_atomics || '\0' == *env_atomics || 0 != force_atomics) { cl_bitfield fp_atomics = 0; - if (EXIT_SUCCESS == clGetDeviceInfo(device_id, + if (EXIT_SUCCESS == clGetDeviceInfo(devinfo->id, (cl_device_info)(c_dbcsr_acc_opencl_atomic_fp_64 == kind ? 0x4232 : 0x4231), sizeof(cl_bitfield), &fp_atomics, NULL) && 0 != (/*add*/ (1 << 1) & fp_atomics)) @@ -1329,11 +1331,7 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha cl_kernel* kernel) { char buffer[ACC_OPENCL_BUFFERSIZE] = "", buffer_name[ACC_OPENCL_MAXSTRLEN * 2]; int ok = EXIT_SUCCESS, source_is_cl = 1, nchar; - cl_device_id active_id = NULL; - int result = ((NULL != source && NULL != kernel_name && '\0' != *kernel_name) - ? clGetContextInfo( - c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &active_id, NULL) - : EXIT_FAILURE); + int result = ((NULL != source && NULL != kernel_name && '\0' != *kernel_name) ? EXIT_SUCCESS : EXIT_FAILURE); cl_program program = NULL; FILE* file_src = NULL; size_t size_src = 0; @@ -1408,7 +1406,7 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha else break; } # if !defined(NDEBUG) - if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(active_id, (const char* const*)&ext, 1)) + if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(c_dbcsr_acc_opencl_config.device.id, (const char* const*)&ext, 1)) # endif { /* NDEBUG: assume given extension is supported (confirmed upfront) */ if (NULL == line) { /* extension is not already part of source */ @@ -1504,7 +1502,8 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha assert(NULL != program); result = c_dbcsr_acc_opencl_flags(build_params, build_options, try_build_options, buffer, sizeof(buffer)); if (EXIT_SUCCESS == result) { - result = clBuildProgram(program, 1 /*num_devices*/, &active_id, buffer, NULL /*callback*/, NULL /*user_data*/); + result = clBuildProgram( + program, 1 /*num_devices*/, &c_dbcsr_acc_opencl_config.device.id, buffer, NULL /*callback*/, NULL /*user_data*/); } if (EXIT_SUCCESS != result && NULL != try_build_options && '\0' != *try_build_options) { result = c_dbcsr_acc_opencl_flags(build_params, build_options, NULL /*try_build_options*/, buffer, sizeof(buffer)); @@ -1513,7 +1512,8 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha program = clCreateProgramWithSource(c_dbcsr_acc_opencl_config.device.context, 1 /*nlines*/, &ext_source, NULL, &result); assert(EXIT_SUCCESS != result || NULL != program); if (EXIT_SUCCESS == result) { - result = clBuildProgram(program, 1 /*num_devices*/, &active_id, buffer, NULL /*callback*/, NULL /*user_data*/); + result = clBuildProgram( + program, 1 /*num_devices*/, &c_dbcsr_acc_opencl_config.device.id, buffer, NULL /*callback*/, NULL /*user_data*/); } } ok = EXIT_FAILURE; @@ -1568,14 +1568,15 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha else # endif { - program = clCreateProgramWithBinary(c_dbcsr_acc_opencl_config.device.context, 1, &active_id, &size_src, - (const unsigned char**)&source, NULL /*binary_status*/, &result); + program = clCreateProgramWithBinary(c_dbcsr_acc_opencl_config.device.context, 1, &c_dbcsr_acc_opencl_config.device.id, + &size_src, (const unsigned char**)&source, NULL /*binary_status*/, &result); } if (EXIT_SUCCESS == result) { assert(NULL != program); result = c_dbcsr_acc_opencl_flags(build_params, build_options, try_build_options, buffer, sizeof(buffer)); if (EXIT_SUCCESS == result) { - result = clBuildProgram(program, 1 /*num_devices*/, &active_id, buffer, NULL /*callback*/, NULL /*user_data*/); + result = clBuildProgram( + program, 1 /*num_devices*/, &c_dbcsr_acc_opencl_config.device.id, buffer, NULL /*callback*/, NULL /*user_data*/); } if (EXIT_SUCCESS != result && NULL != try_build_options && '\0' != *try_build_options) { result = c_dbcsr_acc_opencl_flags(build_params, build_options, NULL /*try_build_options*/, buffer, sizeof(buffer)); @@ -1587,12 +1588,13 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha else # endif { - program = clCreateProgramWithBinary(c_dbcsr_acc_opencl_config.device.context, 1, &active_id, &size_src, - (const unsigned char**)&source, NULL /*binary_status*/, &result); + program = clCreateProgramWithBinary(c_dbcsr_acc_opencl_config.device.context, 1, &c_dbcsr_acc_opencl_config.device.id, + &size_src, (const unsigned char**)&source, NULL /*binary_status*/, &result); } assert(EXIT_SUCCESS != result || NULL != program); if (EXIT_SUCCESS == result) { - result = clBuildProgram(program, 1 /*num_devices*/, &active_id, buffer, NULL /*callback*/, NULL /*user_data*/); + result = clBuildProgram( + program, 1 /*num_devices*/, &c_dbcsr_acc_opencl_config.device.id, buffer, NULL /*callback*/, NULL /*user_data*/); } } ok = EXIT_FAILURE; @@ -1624,7 +1626,9 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha *kernel = NULL; } if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { - if (EXIT_SUCCESS == clGetProgramBuildInfo(program, active_id, CL_PROGRAM_BUILD_LOG, ACC_OPENCL_BUFFERSIZE, buffer, NULL)) { + if (EXIT_SUCCESS == clGetProgramBuildInfo(program, c_dbcsr_acc_opencl_config.device.id, CL_PROGRAM_BUILD_LOG, + ACC_OPENCL_BUFFERSIZE, buffer, NULL)) + { const char* info = buffer; while ('\0' != *info && NULL != strchr("\n\r\t ", *info)) ++info; /* remove preceding newline etc. */ assert(NULL != kernel_name && '\0' != *kernel_name); diff --git a/src/acc/opencl/acc_opencl.h b/src/acc/opencl/acc_opencl.h index 1c0e8c61110..4e60cc9a77c 100644 --- a/src/acc/opencl/acc_opencl.h +++ b/src/acc/opencl/acc_opencl.h @@ -262,8 +262,16 @@ typedef struct c_dbcsr_acc_opencl_device_t { char std_flag[16]; /** OpenCL support-level (major and minor). */ cl_int std_level[2], std_clevel[2]; + /** + * Maximum size of workgroup (WG), preferred multiple of WG-size (PM), + * and size of subgoup (SG) only if larger-equal than PM. SG is signaled + * smaller if an alternative SG-size exists (SG is zero if no support). + */ + size_t wgsize[3]; /** Kind of device (GPU, CPU, or other). */ cl_device_type type; + /** OpenCL device-ID. */ + cl_device_id id; /** Whether host memory is unified. */ cl_int unified; /** Device-ID. */ @@ -381,8 +389,6 @@ int c_dbcsr_acc_opencl_device_ext(cl_device_id device, const char* const extname int c_dbcsr_acc_opencl_create_context(cl_device_id device_id, cl_context* context); /** Internal variant of c_dbcsr_acc_set_active_device. */ int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_id); -/** Get preferred multiple and max. size of workgroup (kernel- or device-specific). */ -int c_dbcsr_acc_opencl_wgsize(cl_device_id device, cl_kernel kernel, size_t* max_value, size_t* preferred_multiple); /** * Build kernel from source with given kernel_name, build_params and build_options. * The build_params are meant to instantiate the kernel (-D) whereas build_options diff --git a/src/acc/opencl/acc_opencl_mem.c b/src/acc/opencl/acc_opencl_mem.c index 5ea4846ad86..c24deb88f35 100644 --- a/src/acc/opencl/acc_opencl_mem.c +++ b/src/acc/opencl/acc_opencl_mem.c @@ -301,12 +301,8 @@ int c_dbcsr_acc_dev_mem_allocate(void** dev_mem, size_t nbytes) { assert(NULL != dev_mem && NULL != context); # if defined(ACC_OPENCL_MEM_DEVPTR) if (NULL != c_dbcsr_acc_opencl_config.device.clDeviceMemAllocINTEL) { - cl_device_id device = NULL; - result = clGetContextInfo(context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device, NULL); - if (EXIT_SUCCESS == result) { - *dev_mem = memptr = c_dbcsr_acc_opencl_config.device.clDeviceMemAllocINTEL( - context, device, NULL /*properties*/, nbytes, 0 /*alignment*/, &result); - } + *dev_mem = memptr = c_dbcsr_acc_opencl_config.device.clDeviceMemAllocINTEL( + context, c_dbcsr_acc_opencl_config.device.id, NULL /*properties*/, nbytes, 0 /*alignment*/, &result); if (EXIT_SUCCESS != result) *dev_mem = NULL; } else @@ -397,12 +393,7 @@ int c_dbcsr_acc_dev_mem_deallocate(void* dev_mem) { memory = (cl_mem)dev_mem; # else if (NULL != c_dbcsr_acc_opencl_config.device.clMemFreeINTEL) { - cl_device_id device = NULL; - assert(NULL != c_dbcsr_acc_opencl_config.device.context); - result = clGetContextInfo(c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device, NULL); - if (EXIT_SUCCESS == result) { - result = c_dbcsr_acc_opencl_config.device.clMemFreeINTEL(c_dbcsr_acc_opencl_config.device.context, dev_mem); - } + result = c_dbcsr_acc_opencl_config.device.clMemFreeINTEL(c_dbcsr_acc_opencl_config.device.context, dev_mem); } else { c_dbcsr_acc_opencl_info_memptr_t* info = NULL; @@ -606,13 +597,8 @@ int c_dbcsr_acc_opencl_memset(void* dev_mem, int value, size_t offset, size_t nb assert(NULL != str && NULL != str->queue); # if defined(ACC_OPENCL_MEM_DEVPTR) if (NULL != c_dbcsr_acc_opencl_config.device.clEnqueueMemFillINTEL) { - cl_device_id device = NULL; - assert(NULL != c_dbcsr_acc_opencl_config.device.context); - result = clGetContextInfo(c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device, NULL); - if (EXIT_SUCCESS == result) { - result = c_dbcsr_acc_opencl_config.device.clEnqueueMemFillINTEL( - str->queue, (char*)dev_mem + offset, &value, size_of_value, nbytes, 0, NULL, &event); - } + result = c_dbcsr_acc_opencl_config.device.clEnqueueMemFillINTEL( + str->queue, (char*)dev_mem + offset, &value, size_of_value, nbytes, 0, NULL, &event); } else # endif @@ -649,6 +635,9 @@ int c_dbcsr_acc_memset_zero(void* dev_mem, size_t offset, size_t nbytes, void* s int c_dbcsr_acc_opencl_info_devmem(cl_device_id device, size_t* mem_free, size_t* mem_total, size_t* mem_local, int* mem_unified) { int result = EXIT_SUCCESS, unified = 0; size_t size_free = 0, size_total = 0, size_local = 0; + cl_device_local_mem_type cl_local_type = CL_GLOBAL; + cl_ulong cl_size_total = 0, cl_size_local = 0; + cl_bool cl_unified = CL_FALSE; # if defined(_WIN32) MEMORYSTATUSEX mem_status; mem_status.dwLength = sizeof(mem_status); @@ -688,28 +677,23 @@ int c_dbcsr_acc_opencl_info_devmem(cl_device_id device, size_t* mem_free, size_t size_free = size_page * (size_t)pages_free; } # endif - if (NULL != device) { - cl_device_local_mem_type cl_local_type = CL_GLOBAL; - cl_ulong cl_size_total = 0, cl_size_local = 0; - cl_bool cl_unified = CL_FALSE; - ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(cl_ulong), &cl_size_total, NULL), - "retrieve amount of global memory", result); - ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_LOCAL_MEM_TYPE, sizeof(cl_device_local_mem_type), &cl_local_type, NULL), - "retrieve kind of local memory", result); - if (CL_LOCAL == cl_local_type) { - ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_LOCAL_MEM_SIZE, sizeof(cl_ulong), &cl_size_local, NULL), - "retrieve amount of local memory", result); - } - ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_HOST_UNIFIED_MEMORY, sizeof(cl_bool), &cl_unified, NULL), - "retrieve if host memory is unified", result); - if (EXIT_SUCCESS == result) { - if (cl_size_total < size_total) size_total = cl_size_total; - if (size_total < size_free) size_free = size_total; - size_local = cl_size_local; - unified = cl_unified; - } + ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_GLOBAL_MEM_SIZE, sizeof(cl_ulong), &cl_size_total, NULL), + "retrieve amount of global memory", result); + ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_LOCAL_MEM_TYPE, sizeof(cl_device_local_mem_type), &cl_local_type, NULL), + "retrieve kind of local memory", result); + if (CL_LOCAL == cl_local_type) { + ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_LOCAL_MEM_SIZE, sizeof(cl_ulong), &cl_size_local, NULL), + "retrieve amount of local memory", result); + } + ACC_OPENCL_CHECK(clGetDeviceInfo(device, CL_DEVICE_HOST_UNIFIED_MEMORY, sizeof(cl_bool), &cl_unified, NULL), + "retrieve if host memory is unified", result); + if (EXIT_SUCCESS == result) { + if (cl_size_total < size_total) size_total = cl_size_total; + if (size_total < size_free) size_free = size_total; + size_local = cl_size_local; + unified = cl_unified; + assert(size_free <= size_total); } - result = (size_free <= size_total ? EXIT_SUCCESS : EXIT_FAILURE); assert(NULL != mem_local || NULL != mem_total || NULL != mem_free || NULL != mem_unified); if (NULL != mem_unified) *mem_unified = unified; if (NULL != mem_local) *mem_local = size_local; @@ -720,19 +704,16 @@ int c_dbcsr_acc_opencl_info_devmem(cl_device_id device, size_t* mem_free, size_t int c_dbcsr_acc_dev_mem_info(size_t* mem_free, size_t* mem_total) { - cl_device_id device = NULL; - int result = (0 < c_dbcsr_acc_opencl_config.ndevices ? clGetContextInfo(c_dbcsr_acc_opencl_config.device.context, - CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device, NULL) - : EXIT_FAILURE); + int result; # if defined(__DBCSR_ACC) && defined(ACC_OPENCL_PROFILE) int routine_handle; static const char* const routine_name_ptr = LIBXSMM_FUNCNAME; static const int routine_name_len = (int)sizeof(LIBXSMM_FUNCNAME) - 1; c_dbcsr_timeset((const char**)&routine_name_ptr, &routine_name_len, &routine_handle); # endif - if (EXIT_SUCCESS == result) { - result = c_dbcsr_acc_opencl_info_devmem(device, mem_free, mem_total, NULL /*mem_local*/, NULL /*mem_unified*/); - } + assert(0 < c_dbcsr_acc_opencl_config.ndevices || NULL == c_dbcsr_acc_opencl_config.device.id); + result = c_dbcsr_acc_opencl_info_devmem( + c_dbcsr_acc_opencl_config.device.id, mem_free, mem_total, NULL /*mem_local*/, NULL /*mem_unified*/); # if defined(__DBCSR_ACC) && defined(ACC_OPENCL_PROFILE) c_dbcsr_timestop(&routine_handle); # endif diff --git a/src/acc/opencl/acc_opencl_stream.c b/src/acc/opencl/acc_opencl_stream.c index 11d3159473c..e14445e18ff 100644 --- a/src/acc/opencl/acc_opencl_stream.c +++ b/src/acc/opencl/acc_opencl_stream.c @@ -104,40 +104,37 @@ int c_dbcsr_acc_stream_create(void** stream_p, const char* name, int priority) { else offset = c_dbcsr_acc_opencl_stream_counter_base++; # endif if (NULL != c_dbcsr_acc_opencl_config.device.context) { - cl_device_id device = NULL; - result = clGetContextInfo(c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &device, NULL); - if (EXIT_SUCCESS == result) { - if (0 != (2 & c_dbcsr_acc_opencl_config.xhints) && 0 != c_dbcsr_acc_opencl_config.device.intel) { /* enable queue families */ - struct { - cl_command_queue_properties properties; - cl_bitfield capabilities; - cl_uint count; - char name[64 /*CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL*/]; - } intel_qfprops[16]; - size_t nbytes = 0, i; - if (EXIT_SUCCESS == clGetDeviceInfo(device, 0x418B /*CL_DEVICE_QUEUE_FAMILY_PROPERTIES_INTEL*/, sizeof(intel_qfprops), - intel_qfprops, &nbytes)) - { - for (i = 0; (i * sizeof(*intel_qfprops)) < nbytes; ++i) { - if (0 /*CL_QUEUE_DEFAULT_CAPABILITIES_INTEL*/ == intel_qfprops[i].capabilities && 1 < intel_qfprops[i].count) { - const int j = (0 /*terminator*/ == properties[2] ? 2 : 4); - properties[j + 0] = 0x418C; /* CL_QUEUE_FAMILY_INTEL */ - properties[j + 1] = (int)i; - properties[j + 2] = 0x418D; /* CL_QUEUE_INDEX_INTEL */ - properties[j + 3] = (i + offset) % intel_qfprops[i].count; - properties[j + 4] = 0; /* terminator */ - break; - } + if (0 != (2 & c_dbcsr_acc_opencl_config.xhints) && 0 != c_dbcsr_acc_opencl_config.device.intel) { /* enable queue families */ + struct { + cl_command_queue_properties properties; + cl_bitfield capabilities; + cl_uint count; + char name[64 /*CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL*/]; + } intel_qfprops[16]; + size_t nbytes = 0, i; + if (EXIT_SUCCESS == clGetDeviceInfo(c_dbcsr_acc_opencl_config.device.id, 0x418B /*CL_DEVICE_QUEUE_FAMILY_PROPERTIES_INTEL*/, + sizeof(intel_qfprops), intel_qfprops, &nbytes)) + { + for (i = 0; (i * sizeof(*intel_qfprops)) < nbytes; ++i) { + if (0 /*CL_QUEUE_DEFAULT_CAPABILITIES_INTEL*/ == intel_qfprops[i].capabilities && 1 < intel_qfprops[i].count) { + const int j = (0 /*terminator*/ == properties[2] ? 2 : 4); + properties[j + 0] = 0x418C; /* CL_QUEUE_FAMILY_INTEL */ + properties[j + 1] = (int)i; + properties[j + 2] = 0x418D; /* CL_QUEUE_INDEX_INTEL */ + properties[j + 3] = (i + offset) % intel_qfprops[i].count; + properties[j + 4] = 0; /* terminator */ + break; } } } - if ((c_dbcsr_acc_opencl_timer_device == c_dbcsr_acc_opencl_config.timer) && - (3 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity)) - { - properties[1] = CL_QUEUE_PROFILING_ENABLE; - } - queue = ACC_OPENCL_CREATE_COMMAND_QUEUE(c_dbcsr_acc_opencl_config.device.context, device, properties, &result); } + if ((c_dbcsr_acc_opencl_timer_device == c_dbcsr_acc_opencl_config.timer) && + (3 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity)) + { + properties[1] = CL_QUEUE_PROFILING_ENABLE; + } + queue = ACC_OPENCL_CREATE_COMMAND_QUEUE( + c_dbcsr_acc_opencl_config.device.context, c_dbcsr_acc_opencl_config.device.id, properties, &result); } else { result = EXIT_FAILURE; @@ -214,18 +211,14 @@ int c_dbcsr_acc_stream_priority_range(int* least, int* greatest) { if (0 < c_dbcsr_acc_opencl_config.ndevices) { char buffer[ACC_OPENCL_BUFFERSIZE]; cl_platform_id platform = NULL; - cl_device_id active_id = NULL; - if (EXIT_SUCCESS == result) { - result = clGetContextInfo( - c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), &active_id, NULL); - } - ACC_OPENCL_CHECK(clGetDeviceInfo(active_id, CL_DEVICE_PLATFORM, sizeof(cl_platform_id), &platform, NULL), + ACC_OPENCL_CHECK( + clGetDeviceInfo(c_dbcsr_acc_opencl_config.device.id, CL_DEVICE_PLATFORM, sizeof(cl_platform_id), &platform, NULL), "retrieve platform associated with active device", result); ACC_OPENCL_CHECK(clGetPlatformInfo(platform, CL_PLATFORM_EXTENSIONS, ACC_OPENCL_BUFFERSIZE, buffer, NULL), "retrieve platform extensions", result); if (EXIT_SUCCESS == result) { if (NULL != strstr(buffer, "cl_khr_priority_hints") || - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_vendor(active_id, "nvidia", 0 /*use_platform_name*/)) + EXIT_SUCCESS == c_dbcsr_acc_opencl_device_vendor(c_dbcsr_acc_opencl_config.device.id, "nvidia", 0 /*use_platform_name*/)) { priohi = CL_QUEUE_PRIORITY_HIGH_KHR; priolo = CL_QUEUE_PRIORITY_LOW_KHR; diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 4d371fd8795..217342084e5 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -76,9 +76,6 @@ # if !defined(OPENCL_LIBSMM_SMM_S) # define OPENCL_LIBSMM_SMM_S 64 # endif -# if !defined(OPENCL_LIBSMM_VLEN) -# define OPENCL_LIBSMM_VLEN 32 -# endif # if !defined(OPENCL_LIBSMM_VMIN) # define OPENCL_LIBSMM_VMIN 8 # endif @@ -464,14 +461,11 @@ int libsmm_acc_init(void) { if (EXIT_SUCCESS == result && '1' != control) { const char *line = OPENCL_KERNELS_PARAMS_SMM, *next; # if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER - cl_device_id active_id = NULL; unsigned int active_uid; int active_match = -1; - if (EXIT_SUCCESS == clGetContextInfo(c_dbcsr_acc_opencl_config.device.context, CL_CONTEXT_DEVICES, sizeof(cl_device_id), - &active_id, NULL) && - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(active_id, bufname, ACC_OPENCL_BUFFERSIZE, NULL /*platform*/, - 0 /*platform_maxlen*/, /*cleanup*/ 1) && - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_uid(active_id, bufname, &active_uid)) + if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(c_dbcsr_acc_opencl_config.device.id, bufname, ACC_OPENCL_BUFFERSIZE, + NULL /*platform*/, 0 /*platform_maxlen*/, /*cleanup*/ 1) && + EXIT_SUCCESS == c_dbcsr_acc_opencl_device_uid(c_dbcsr_acc_opencl_config.device.id, bufname, &active_uid)) { int i = 0, best = 0; for (; i < ndevices_params; ++i) { @@ -523,8 +517,8 @@ int libsmm_acc_init(void) { if (NULL == config_init && NULL != libxsmm_xregister(&key, sizeof(key), sizeof(config), &config)) { static int info = 0; if (0 == info && 0 != c_dbcsr_acc_opencl_config.verbosity && - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(active_id, bufname, ACC_OPENCL_BUFFERSIZE, NULL /*platform*/, - 0 /*platform_maxlen*/, /*cleanup*/ 0)) + EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(c_dbcsr_acc_opencl_config.device.id, bufname, + ACC_OPENCL_BUFFERSIZE, NULL /*platform*/, 0 /*platform_maxlen*/, /*cleanup*/ 0)) { fprintf(stderr, "INFO ACC/LIBSMM: PARAMS of \"%s\" used for \"%s\"\n", OPENCL_KERNELS_DEVICES[i], bufname); info = 1; @@ -694,84 +688,80 @@ int libsmm_acc_transpose(const int* dev_trs_stack, int offset, int stack_size, v c_dbcsr_timeset(LIBSMM_ACC_TRANSPOSE_ROUTINE_NAME_STRPTR, LIBSMM_ACC_TRANSPOSE_ROUTINE_NAME_LENPTR, &routine_handle); # endif if (0 < nchar && (int)sizeof(fname) > nchar) { - cl_device_id active_device; - result = clGetCommandQueueInfo(str->queue, CL_QUEUE_DEVICE, sizeof(cl_device_id), &active_device, NULL); - if (EXIT_SUCCESS == result) { - const char *const env_cl = getenv("OPENCL_LIBSMM_TRANS_BUILDOPTS"), *const env_bm = getenv("OPENCL_LIBSMM_TRANS_BM"); - const char* const cmem = (EXIT_SUCCESS != opencl_libsmm_use_cmem(active_device) ? "global" : "constant"); - const char* const param_format = "-DGLOBAL=%s -DINPLACE=%i -DFN=%s -DSM=%i -DSN=%i -DSWG=%i -DT=%s"; - const char *const env_inplace = getenv("OPENCL_LIBSMM_TRANS_INPLACE"), *tname = ""; + const char *const env_cl = getenv("OPENCL_LIBSMM_TRANS_BUILDOPTS"), *const env_bm = getenv("OPENCL_LIBSMM_TRANS_BM"); + const char* const cmem = (EXIT_SUCCESS != opencl_libsmm_use_cmem(c_dbcsr_acc_opencl_config.device.id) ? "global" + : "constant"); + const char* const param_format = "-DGLOBAL=%s -DINPLACE=%i -DFN=%s -DSM=%i -DSN=%i -DSWG=%i -DT=%s"; + const char *const env_inplace = getenv("OPENCL_LIBSMM_TRANS_INPLACE"), *tname = ""; # if defined(OPENCL_LIBSMM_TRANS_INPLACE) - const int inplace = ((m == n) && (NULL == env_inplace ? 1 : ('0' != *env_inplace))); + const int inplace = ((m == n) && (NULL == env_inplace ? 1 : ('0' != *env_inplace))); # else - const int inplace = ((m == n) && (NULL == env_inplace ? 0 : ('0' != *env_inplace))); + const int inplace = ((m == n) && (NULL == env_inplace ? 0 : ('0' != *env_inplace))); # endif - const int blockm = ((NULL == env_bm || '\0' == *env_bm) ? 0 : atoi(env_bm)); - const int bm = (0 >= blockm ? (NULL == config ? /*default*/ m : /*LIBXSMM_CLMP(config->bm, 1, m)*/ m) - : LIBXSMM_MIN(blockm, m)); - size_t wgsize_max; - opencl_libsmm_trans_t new_config; - memset(&new_config, 0, sizeof(new_config)); - result = c_dbcsr_acc_opencl_wgsize(active_device, NULL /*kernel*/, &wgsize_max, NULL /*prefmult*/); + const int blockm = ((NULL == env_bm || '\0' == *env_bm) ? 0 : atoi(env_bm)); + const int bm = (0 >= blockm ? (NULL == config ? /*default*/ m : /*LIBXSMM_CLMP(config->bm, 1, m)*/ m) + : LIBXSMM_MIN(blockm, m)); + opencl_libsmm_trans_t new_config; + memset(&new_config, 0, sizeof(new_config)); + switch (datatype) { + case dbcsr_type_real_8: { + tname = "char8"; /* double */ + fname[0] = 'd'; + } break; + case dbcsr_type_real_4: { + tname = "float"; + fname[0] = 's'; + } break; + default: assert('\0' == *tname); + } + new_config.wgsize = LIBXSMM_MIN((size_t)((m == bm || 0 == (m % bm)) ? bm : m), c_dbcsr_acc_opencl_config.device.wgsize[0]); + nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), "%s", NULL == env_cl ? "" : env_cl); + if (0 <= /*<*/ nchar && (int)sizeof(buffer) > nchar) { + nchar = LIBXSMM_SNPRINTF( + build_params, sizeof(build_params), param_format, cmem, inplace, fname, m, n, (int)new_config.wgsize, tname); + } + if ('\0' != *tname && 0 < nchar && (int)sizeof(build_params) > nchar) { + result = c_dbcsr_acc_opencl_kernel(0 /*source_is_file*/, OPENCL_KERNELS_SOURCE_TRANSPOSE, fname, build_params, buffer, + NULL /*try*/, NULL /*try_ok*/, NULL /*extnames*/, 0 /*num_exts*/, &new_config.kernel); if (EXIT_SUCCESS == result) { - switch (datatype) { - case dbcsr_type_real_8: { - tname = "char8"; /* double */ - fname[0] = 'd'; - } break; - case dbcsr_type_real_4: { - tname = "float"; - fname[0] = 's'; - } break; - default: assert('\0' == *tname); - } - new_config.wgsize = LIBXSMM_MIN((size_t)((m == bm || 0 == (m % bm)) ? bm : m), wgsize_max); - nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), "%s", NULL == env_cl ? "" : env_cl); - if (0 <= /*<*/ nchar && (int)sizeof(buffer) > nchar) { - nchar = LIBXSMM_SNPRINTF( - build_params, sizeof(build_params), param_format, cmem, inplace, fname, m, n, (int)new_config.wgsize, tname); - } - } - if ('\0' != *tname && 0 < nchar && (int)sizeof(build_params) > nchar) { - result = c_dbcsr_acc_opencl_kernel(0 /*source_is_file*/, OPENCL_KERNELS_SOURCE_TRANSPOSE, fname, build_params, buffer, - NULL /*try*/, NULL /*try_ok*/, NULL /*extnames*/, 0 /*num_exts*/, &new_config.kernel); + size_t wgsize_max; + assert(NULL != new_config.kernel); + result = clGetKernelWorkGroupInfo( + new_config.kernel, c_dbcsr_acc_opencl_config.device.id, CL_KERNEL_WORK_GROUP_SIZE, sizeof(size_t), &wgsize_max, NULL); if (EXIT_SUCCESS == result) { - result = c_dbcsr_acc_opencl_wgsize(active_device, new_config.kernel, &wgsize_max, NULL /*prefmult*/); - if (EXIT_SUCCESS == result) { - assert(0 < wgsize_max); - if (wgsize_max < new_config.wgsize) { - new_config.wgsize = wgsize_max; - nchar = LIBXSMM_SNPRINTF( - build_params, sizeof(build_params), param_format, cmem, inplace, fname, m, n, (int)new_config.wgsize, tname); - if (0 < nchar && (int)sizeof(build_params) > nchar) { - result = c_dbcsr_acc_opencl_kernel(0 /*source_is_file*/, OPENCL_KERNELS_SOURCE_TRANSPOSE, fname, build_params, - buffer, NULL /*try*/, NULL /*try_ok*/, NULL /*extnames*/, 0 /*num_exts*/, &new_config.kernel); - } - else result = EXIT_FAILURE; + assert(0 < wgsize_max); + if (wgsize_max < new_config.wgsize) { + new_config.wgsize = wgsize_max; + nchar = LIBXSMM_SNPRINTF( + build_params, sizeof(build_params), param_format, cmem, inplace, fname, m, n, (int)new_config.wgsize, tname); + if (0 < nchar && (int)sizeof(build_params) > nchar) { + result = c_dbcsr_acc_opencl_kernel(0 /*source_is_file*/, OPENCL_KERNELS_SOURCE_TRANSPOSE, fname, build_params, + buffer, NULL /*try*/, NULL /*try_ok*/, NULL /*extnames*/, 0 /*num_exts*/, &new_config.kernel); } - if (EXIT_SUCCESS == result) { - config = (opencl_libsmm_trans_t*)libxsmm_xregister(&key, sizeof(key), sizeof(new_config), &new_config); + else result = EXIT_FAILURE; + } + if (EXIT_SUCCESS == result) { + config = (opencl_libsmm_trans_t*)libxsmm_xregister(&key, sizeof(key), sizeof(new_config), &new_config); # if !defined(OPENCL_LIBSMM_VALIDATE_TRANS) - if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { - LIBXSMM_STDIO_ACQUIRE(); - duration = libxsmm_timer_duration(start, libxsmm_timer_tick()); - fprintf(stderr, "INFO ACC/LIBSMM: TRANS-kernel "); - opencl_libsmm_write_trans_params( - stderr, 0 /*only_key*/, &key, NULL /*config*/, NULL /*delim*/, NULL /*begin*/, NULL /*close*/); - fprintf(stderr, "="); - opencl_libsmm_write_trans_params( - stderr, 0 /*only_key*/, &key, config, NULL /*delim*/, NULL /*begin*/, NULL /*close*/); - fprintf(stderr, " gen=%.1f ms\n", 1E3 * duration); - LIBXSMM_STDIO_RELEASE(); - } -# endif + if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { + LIBXSMM_STDIO_ACQUIRE(); + duration = libxsmm_timer_duration(start, libxsmm_timer_tick()); + fprintf(stderr, "INFO ACC/LIBSMM: TRANS-kernel "); + opencl_libsmm_write_trans_params( + stderr, 0 /*only_key*/, &key, NULL /*config*/, NULL /*delim*/, NULL /*begin*/, NULL /*close*/); + fprintf(stderr, "="); + opencl_libsmm_write_trans_params( + stderr, 0 /*only_key*/, &key, config, NULL /*delim*/, NULL /*begin*/, NULL /*close*/); + fprintf(stderr, " gen=%.1f ms\n", 1E3 * duration); + LIBXSMM_STDIO_RELEASE(); } +# endif } } } - else if (EXIT_SUCCESS == result) { - result = EXIT_FAILURE; - } + } + else if (EXIT_SUCCESS == result) { + result = EXIT_FAILURE; } } else { @@ -1037,14 +1027,11 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, int nchar = LIBXSMM_SNPRINTF(fname, sizeof(fname), /* kernel name are meant to be unambiguous (BLAS-typeprefix and kernelsize) */ "x" OPENCL_LIBSMM_KERNELNAME_SMM "%ix%ix%i", m_max, n_max, k_max); - cl_device_id active_device = NULL; # if defined(__DBCSR_ACC) int routine_handle; c_dbcsr_timeset(LIBSMM_ACC_PROCESS_ROUTINE_NAME_STRPTR, LIBSMM_ACC_PROCESS_ROUTINE_NAME_LENPTR, &routine_handle); # endif - result = ((0 < nchar && (int)sizeof(fname) > nchar) - ? clGetCommandQueueInfo(str->queue, CL_QUEUE_DEVICE, sizeof(cl_device_id), &active_device, NULL) - : EXIT_FAILURE); + result = ((0 < nchar && (int)sizeof(fname) > nchar) ? EXIT_SUCCESS : EXIT_FAILURE); if (EXIT_SUCCESS == result) { c_dbcsr_acc_opencl_atomic_fp_t tkind = c_dbcsr_acc_opencl_atomic_fp_no; const char* tname = NULL; @@ -1065,7 +1052,34 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, const char *extensions[] = {NULL, NULL}, *const env_devid = getenv("OPENCL_LIBSMM_SMM_DEVID"); const unsigned int devuid = (NULL == env_devid || '\0' == *env_devid) ? c_dbcsr_acc_opencl_config.device.uid : (unsigned int)strtoul(env_devid, NULL, 0); - size_t nextensions = sizeof(extensions) / sizeof(*extensions), wgsize_max, wgsize_prf, sgs = 0; + size_t nextensions = sizeof(extensions) / sizeof(*extensions), sgs = 0, wgsize_prf = 1; + const char *const env_bm = getenv("OPENCL_LIBSMM_SMM_BM"), *const env_bn = getenv("OPENCL_LIBSMM_SMM_BN"); + const char *const env_bk = getenv("OPENCL_LIBSMM_SMM_BK"), *const env_ws = getenv("OPENCL_LIBSMM_SMM_WS"); + const char *const env_wg = getenv("OPENCL_LIBSMM_SMM_WG"), *const env_lu = getenv("OPENCL_LIBSMM_SMM_LU"); + const char *const env_nz = getenv("OPENCL_LIBSMM_SMM_NZ"), *const env_al = getenv("OPENCL_LIBSMM_SMM_AL"); + const char *const env_tb = getenv("OPENCL_LIBSMM_SMM_TB"), *const env_tc = getenv("OPENCL_LIBSMM_SMM_TC"); + const char *const env_ap = getenv("OPENCL_LIBSMM_SMM_AP"), *const env_aa = getenv("OPENCL_LIBSMM_SMM_AA"); + const char *const env_ab = getenv("OPENCL_LIBSMM_SMM_AB"), *const env_ac = getenv("OPENCL_LIBSMM_SMM_AC"); + const char *const env_xf = getenv("OPENCL_LIBSMM_SMM_XF"), *const env_cl = getenv("OPENCL_LIBSMM_SMM_BUILDOPTS"); + const char* const intel_xf = "-cl-intel-256-GRF-per-thread"; + const int default_lu = (0 != c_dbcsr_acc_opencl_config.device.intel ? -1 : 0); + const int unroll = LIBXSMM_MAX(-2, (NULL == env_lu || '\0' == *env_lu) + ? (0 == kernel_idx ? (NULL == config ? default_lu : config->lu) : default_lu) + : atoi(env_lu)); /* populate only lower bound */ + const int blockm = ((NULL == env_bm || '\0' == *env_bm || 1 < unroll) /* 1= unroll ? 0 : LIBXSMM_UP(m_max / unroll, OPENCL_LIBSMM_VMIN)) + : atoi(env_bm)); + const int blockn = ((NULL == env_bn || '\0' == *env_bn) ? 0 : atoi(env_bn)); + const int blockk = ((NULL == env_bk || '\0' == *env_bk) ? 0 : atoi(env_bk)); + const int wgmin = ((NULL == env_ws || '\0' == *env_ws) ? 0 : atoi(env_ws)); + const int default_aa = (((0x0bd0 > devuid || 0x0bdb < devuid)) ? ((k_max % OPENCL_LIBSMM_VMIN) ? 1 : 2) : 0); + const int default_ab = (((0x0bd0 > devuid || 0x0bdb < devuid) && 0x020a != devuid) ? 3 : 0), default_ac = 0; + const int default_bk = (((0x0bd0 > devuid || 0x0bdb < devuid) && 0x020a != devuid) + ? (0 == kernel_idx ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BK, m_max) + : LIBXSMM_MIN(OPENCL_LIBSMM_VMIN, m_max)) + : 1); + const int default_wg = (((0x0bd0 > devuid || 0x0bdb < devuid)) ? (0 == kernel_idx ? 0 : -2) : -1); + int nbm, nbn; opencl_libsmm_smm_t new_config; if (NULL == config) { memset(&new_config, 0, sizeof(new_config)); @@ -1073,231 +1087,177 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, else { /* preserve kernels, performance counters, etc. */ memcpy(&new_config, config, sizeof(opencl_libsmm_smm_t)); } - result = c_dbcsr_acc_opencl_wgsize(active_device, NULL /*device-specific*/, &wgsize_max, &wgsize_prf); - assert(EXIT_SUCCESS != result || 0 < wgsize_prf); - if (EXIT_SUCCESS == result) { - const char *const env_bm = getenv("OPENCL_LIBSMM_SMM_BM"), *const env_bn = getenv("OPENCL_LIBSMM_SMM_BN"); - const char *const env_bk = getenv("OPENCL_LIBSMM_SMM_BK"), *const env_ws = getenv("OPENCL_LIBSMM_SMM_WS"); - const char *const env_wg = getenv("OPENCL_LIBSMM_SMM_WG"), *const env_lu = getenv("OPENCL_LIBSMM_SMM_LU"); - const char *const env_nz = getenv("OPENCL_LIBSMM_SMM_NZ"), *const env_al = getenv("OPENCL_LIBSMM_SMM_AL"); - const char *const env_tb = getenv("OPENCL_LIBSMM_SMM_TB"), *const env_tc = getenv("OPENCL_LIBSMM_SMM_TC"); - const char *const env_ap = getenv("OPENCL_LIBSMM_SMM_AP"), *const env_aa = getenv("OPENCL_LIBSMM_SMM_AA"); - const char *const env_ab = getenv("OPENCL_LIBSMM_SMM_AB"), *const env_ac = getenv("OPENCL_LIBSMM_SMM_AC"); - const char *const env_xf = getenv("OPENCL_LIBSMM_SMM_XF"), *const env_cl = getenv("OPENCL_LIBSMM_SMM_BUILDOPTS"); - const char* const intel_xf = "-cl-intel-256-GRF-per-thread"; - const int default_lu = (0 != c_dbcsr_acc_opencl_config.device.intel ? -1 : 0); - const int unroll = LIBXSMM_MAX(-2, (NULL == env_lu || '\0' == *env_lu) - ? (0 == kernel_idx ? (NULL == config ? default_lu : config->lu) : default_lu) - : atoi(env_lu)); /* populate only lower bound */ - const int blockm = ((NULL == env_bm || '\0' == *env_bm || 1 < unroll) /* 1= unroll ? 0 : LIBXSMM_UP(m_max / unroll, OPENCL_LIBSMM_VMIN)) - : atoi(env_bm)); - const int blockn = ((NULL == env_bn || '\0' == *env_bn) ? 0 : atoi(env_bn)); - const int blockk = ((NULL == env_bk || '\0' == *env_bk) ? 0 : atoi(env_bk)); - const int wgmin = ((NULL == env_ws || '\0' == *env_ws) ? 0 : atoi(env_ws)); - const int default_aa = (((0x0bd0 > devuid || 0x0bdb < devuid)) ? ((k_max % OPENCL_LIBSMM_VMIN) ? 1 : 2) : 0); - const int default_ab = (((0x0bd0 > devuid || 0x0bdb < devuid) && 0x020a != devuid) ? 3 : 0), default_ac = 0; - const int default_bk = (((0x0bd0 > devuid || 0x0bdb < devuid) && 0x020a != devuid) - ? (0 == kernel_idx ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BK, m_max) - : LIBXSMM_MIN(OPENCL_LIBSMM_VMIN, m_max)) - : 1); - const int default_wg = (((0x0bd0 > devuid || 0x0bdb < devuid)) ? (0 == kernel_idx ? 0 : -2) : -1); - int nbm, nbn; - new_config.lu = unroll; - /* two defaults for new_config parameters: 1st - regular, 2nd - BS=1 kernel */ - new_config.bm = (0 >= blockm ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max) - : LIBXSMM_CLMP(config->bm, 1, m_max)) - : LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max)) - : LIBXSMM_MIN(blockm, m_max)); - new_config.bn = (0 >= blockn ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max) - : LIBXSMM_CLMP(config->bn, 1, n_max)) - : LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max)) - : LIBXSMM_MIN(blockn, n_max)); - new_config.bk = (0 >= blockk ? (NULL == config ? default_bk : LIBXSMM_CLMP(config->bk, 1, m_max)) - : LIBXSMM_MIN(blockk, m_max)); - new_config.ws = (0 >= wgmin ? (0 == kernel_idx ? (NULL == config ? /*default*/ LIBXSMM_MAX(m_max, n_max) - : LIBXSMM_CLMP(config->ws, 1, n_max * m_max)) - : /*default*/ LIBXSMM_MAX(m_max, n_max)) - : LIBXSMM_MIN(wgmin, n_max * m_max)); - new_config.wg = LIBXSMM_CLMP( - (NULL == env_wg || '\0' == *env_wg) ? (NULL == config ? default_wg : config->wg) : atoi(env_wg), -2, 2); - new_config.nz = LIBXSMM_CLMP((NULL == env_nz || '\0' == *env_nz) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->nz) : /*default*/ 0) - : atoi(env_nz), - 0, 1); - new_config.al = LIBXSMM_CLMP(/* bug: AL=1 */ - (NULL == env_al || '\0' == *env_al) ? 0 /*(0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0)*/ - : atoi(env_al), - 0, 1); - new_config.tb = LIBXSMM_CLMP((NULL == env_tb || '\0' == *env_tb) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->tb) : /*default*/ 0) - : atoi(env_tb), - 0, 1); - new_config.tc = LIBXSMM_CLMP((NULL == env_tc || '\0' == *env_tc) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 1 : config->tc) : /*default*/ 1) - : atoi(env_tc), - 0, 1); - new_config.ap = LIBXSMM_CLMP((NULL == env_ap || '\0' == *env_ap) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->ap) : /*default*/ 0) - : atoi(env_ap), - 0, 1); - new_config.aa = LIBXSMM_CLMP( - (NULL == env_aa || '\0' == *env_aa) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_aa : config->aa) : /*default*/ default_aa) - : atoi(env_aa), - 0, 2); - new_config.ab = LIBXSMM_CLMP( - (NULL == env_ab || '\0' == *env_ab) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_ab : config->ab) : /*default*/ default_ab) - : atoi(env_ab), - 0, 2); - new_config.ac = LIBXSMM_CLMP( - (NULL == env_ac || '\0' == *env_ac) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_ac : config->ac) : /*default*/ default_ac) - : atoi(env_ac), - 0, 1); - if (NULL == env_xf || '\0' == *env_xf) { - if (0 == c_dbcsr_acc_opencl_config.device.intel || CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type || - NULL == env_cl || NULL == strstr(env_cl, intel_xf)) - { - new_config.flags = (NULL == config ? /*default*/ 0 : config->flags); + new_config.lu = unroll; + /* two defaults for new_config parameters: 1st - regular, 2nd - BS=1 kernel */ + new_config.bm = (0 >= blockm ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max) + : LIBXSMM_CLMP(config->bm, 1, m_max)) + : LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max)) + : LIBXSMM_MIN(blockm, m_max)); + new_config.bn = (0 >= blockn ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max) + : LIBXSMM_CLMP(config->bn, 1, n_max)) + : LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max)) + : LIBXSMM_MIN(blockn, n_max)); + new_config.bk = (0 >= blockk ? (NULL == config ? default_bk : LIBXSMM_CLMP(config->bk, 1, m_max)) + : LIBXSMM_MIN(blockk, m_max)); + new_config.ws = (0 >= wgmin ? (0 == kernel_idx ? (NULL == config ? /*default*/ LIBXSMM_MAX(m_max, n_max) + : LIBXSMM_CLMP(config->ws, 1, n_max * m_max)) + : /*default*/ LIBXSMM_MAX(m_max, n_max)) + : LIBXSMM_MIN(wgmin, n_max * m_max)); + new_config.wg = LIBXSMM_CLMP( + (NULL == env_wg || '\0' == *env_wg) ? (NULL == config ? default_wg : config->wg) : atoi(env_wg), -2, 2); + new_config.nz = LIBXSMM_CLMP((NULL == env_nz || '\0' == *env_nz) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->nz) : /*default*/ 0) + : atoi(env_nz), + 0, 1); + new_config.al = LIBXSMM_CLMP(/* bug: AL=1 */ + (NULL == env_al || '\0' == *env_al) ? 0 /*(0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0)*/ + : atoi(env_al), + 0, 1); + new_config.tb = LIBXSMM_CLMP((NULL == env_tb || '\0' == *env_tb) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->tb) : /*default*/ 0) + : atoi(env_tb), + 0, 1); + new_config.tc = LIBXSMM_CLMP((NULL == env_tc || '\0' == *env_tc) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ 1 : config->tc) : /*default*/ 1) + : atoi(env_tc), + 0, 1); + new_config.ap = LIBXSMM_CLMP((NULL == env_ap || '\0' == *env_ap) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->ap) : /*default*/ 0) + : atoi(env_ap), + 0, 1); + new_config.aa = LIBXSMM_CLMP( + (NULL == env_aa || '\0' == *env_aa) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_aa : config->aa) : /*default*/ default_aa) + : atoi(env_aa), + 0, 2); + new_config.ab = LIBXSMM_CLMP( + (NULL == env_ab || '\0' == *env_ab) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_ab : config->ab) : /*default*/ default_ab) + : atoi(env_ab), + 0, 2); + new_config.ac = LIBXSMM_CLMP( + (NULL == env_ac || '\0' == *env_ac) + ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_ac : config->ac) : /*default*/ default_ac) + : atoi(env_ac), + 0, 1); + if (NULL == env_xf || '\0' == *env_xf) { + if (0 == c_dbcsr_acc_opencl_config.device.intel || CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type || + NULL == env_cl || NULL == strstr(env_cl, intel_xf)) + { + new_config.flags = (NULL == config ? /*default*/ 0 : config->flags); + } + else new_config.flags = 1; + } + else new_config.flags = atoi(env_xf); + if (0 >= new_config.s) new_config.s = stack_size; + if (0 == kernel_idx || 1 >= new_config.bs) new_config.bs = bs; + nbm = (m_max + new_config.bm - 1) / new_config.bm; + nbn = (n_max + new_config.bn - 1) / new_config.bn; + new_config.wgsize[kernel_idx] = LIBXSMM_MAX(nbm * nbn, new_config.ws); + if (0 != new_config.wg) { + if (0 != c_dbcsr_acc_opencl_config.device.wgsize[2]) { /* subgroups supported */ + if (new_config.wgsize[kernel_idx] <= c_dbcsr_acc_opencl_config.device.wgsize[2]) { + sgs = c_dbcsr_acc_opencl_config.device.wgsize[2]; + } + else if (new_config.wgsize[kernel_idx] <= c_dbcsr_acc_opencl_config.device.wgsize[1]) { + sgs = c_dbcsr_acc_opencl_config.device.wgsize[1]; } - else new_config.flags = 1; } - else new_config.flags = atoi(env_xf); - if (0 >= new_config.s) new_config.s = stack_size; - if (0 == kernel_idx || 1 >= new_config.bs) new_config.bs = bs; + wgsize_prf = LIBXSMM_UP(new_config.wgsize[kernel_idx], 0 != sgs ? sgs : c_dbcsr_acc_opencl_config.device.wgsize[1]); + } + else { /* cover exactly */ + wgsize_prf = new_config.wgsize[kernel_idx]; + } + if (2 <= new_config.wg) wgsize_prf = LIBXSMM_UP2POT(wgsize_prf); + if (wgsize_prf < (2 * new_config.wgsize[kernel_idx])) new_config.wgsize[kernel_idx] = wgsize_prf; /* limit */ + assert(1 <= bs && 0 < new_config.wgsize[kernel_idx] && 0 < wgsize_prf); + /* ensure minimum requested WG-size */ + while ((nbm * nbn) < new_config.ws && (nbm < m_max || nbn < n_max)) { + if (nbn < n_max) ++nbn; + else if (nbm < m_max) ++nbm; + } + if ((nbm * nbn) < new_config.ws) { + new_config.bn = (n_max + nbn - 1) / nbn; + new_config.bm = (m_max + nbm - 1) / nbm; + new_config.wgsize[kernel_idx] = (2 > new_config.wg ? (nbm * nbn) : ((int)LIBXSMM_UP2POT(nbm * nbn))); + } + else { /* reset */ nbm = (m_max + new_config.bm - 1) / new_config.bm; nbn = (n_max + new_config.bn - 1) / new_config.bn; - new_config.wgsize[kernel_idx] = LIBXSMM_MAX(nbm * nbn, new_config.ws); -# if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER - if (0 != new_config.wg) { - const unsigned int limit = (unsigned int)LIBXSMM_MAX(wgsize_prf, OPENCL_LIBSMM_VLEN); - unsigned int r = libxsmm_remainder( - (unsigned int)new_config.wgsize[kernel_idx], OPENCL_LIBSMM_VMIN, &limit, NULL /*remainder*/); - if (0 > new_config.wg) { - const char* const extension = "cl_intel_required_subgroup_size"; - if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_ext(active_device, &extension, 1)) { - unsigned int q = limit, i = 0; - size_t sizes[16], nbytes = 0; - ACC_OPENCL_EXPECT(EXIT_SUCCESS == clGetDeviceInfo(active_device, 0x4108 /*CL_DEVICE_SUB_GROUP_SIZES_INTEL*/, - sizeof(sizes), sizes, &nbytes)); - if (-1 == new_config.wg) { /* cover entire WG-size in sub-group size */ - for (; (i * sizeof(size_t)) < nbytes; ++i) { - sgs = sizes[i]; - if (new_config.wgsize[kernel_idx] <= sgs) break; - } - if (new_config.wgsize[kernel_idx] > sgs) sgs = 0; - } - else { /* explicit sub-group size with minimized WG-remainder */ - for (; (i * sizeof(size_t)) < nbytes; ++i) { - r = libxsmm_remainder( - (unsigned int)new_config.wgsize[kernel_idx], (unsigned int)sizes[i], &limit, NULL /*remainder*/); - if (r <= q) { - q = r; - sgs = sizes[i]; - } - } - } - wgsize_prf = new_config.wgsize[kernel_idx]; - } - else wgsize_prf = r; - } - else wgsize_prf = r; - } - else -# endif - { - wgsize_prf = new_config.wgsize[kernel_idx]; - } - if (2 <= new_config.wg) wgsize_prf = LIBXSMM_UP2POT(wgsize_prf); - if (wgsize_prf < (2 * new_config.wgsize[kernel_idx])) new_config.wgsize[kernel_idx] = wgsize_prf; /* limit */ - assert(1 <= bs && 0 < new_config.wgsize[kernel_idx] && 0 < wgsize_max && 0 < wgsize_prf); - /* ensure minimum requested WG-size */ - while ((nbm * nbn) < new_config.ws && (nbm < m_max || nbn < n_max)) { - if (nbn < n_max) ++nbn; - else if (nbm < m_max) ++nbm; - } - if ((nbm * nbn) < new_config.ws) { - new_config.bn = (n_max + nbn - 1) / nbn; - new_config.bm = (m_max + nbm - 1) / nbm; - new_config.wgsize[kernel_idx] = (2 > new_config.wg ? (nbm * nbn) : ((int)LIBXSMM_UP2POT(nbm * nbn))); + } + /* limit WG-size to maximum WG-size */ + while (c_dbcsr_acc_opencl_config.device.wgsize[0] < new_config.wgsize[kernel_idx] && + (new_config.bm < m_max || new_config.bn < n_max)) + { + if (new_config.bn < n_max) { + ++new_config.bn; + nbn = (n_max + new_config.bn - 1) / new_config.bn; } - else { /* reset */ + else if (new_config.bm < m_max) { + ++new_config.bm; nbm = (m_max + new_config.bm - 1) / new_config.bm; - nbn = (n_max + new_config.bn - 1) / new_config.bn; } - /* limit WG-size to maximum WG-size */ - while (wgsize_max < new_config.wgsize[kernel_idx] && (new_config.bm < m_max || new_config.bn < n_max)) { - if (new_config.bn < n_max) { - ++new_config.bn; - nbn = (n_max + new_config.bn - 1) / new_config.bn; - } - else if (new_config.bm < m_max) { - ++new_config.bm; - nbm = (m_max + new_config.bm - 1) / new_config.bm; - } - new_config.wgsize[kernel_idx] = (2 > new_config.wg ? (nbm * nbn) : ((int)LIBXSMM_UP2POT(nbm * nbn))); + new_config.wgsize[kernel_idx] = (2 > new_config.wg ? (nbm * nbn) : ((int)LIBXSMM_UP2POT(nbm * nbn))); + } + if (new_config.wgsize[kernel_idx] <= c_dbcsr_acc_opencl_config.device.wgsize[0]) { /* SMM can be handled by device */ + const char* const cmem = (EXIT_SUCCESS != opencl_libsmm_use_cmem(c_dbcsr_acc_opencl_config.device.id) ? "global" + : "constant"); + const char* const env_nrepeat = getenv("SMM_NREPEAT"); + const int typesize = OPENCL_LIBSMM_TYPESIZE(datatype); + const int slm_a = (1 != new_config.aa ? 0 : (LIBXSMM_ISPOT(k_max * typesize) + 1)); + const int slm_b = (1 != new_config.ab ? 0 : (LIBXSMM_ISPOT(k_max * typesize) + 1)); + const int slm_c = (1 != new_config.ac ? 0 : (LIBXSMM_ISPOT(m_max * typesize) + 1)); + /* compose build parameters and flags */ + nchar = LIBXSMM_SNPRINTF(build_params, sizeof(build_params), + "-DT=%s -DGPU=%u -DGLOBAL=%s -DSWG=%i -DSGS=%i -DFN=%s -DREPEAT=%i -DLU=%i " + "-DSM=%i -DSN=%i -DSK=%i -DBS=%i -DVL=%i %s -DBM=%i -DBN=%i -DBK=%i " + "%s %s %s %s %s %s %s %s ", /* space! */ + tname, CL_DEVICE_TYPE_GPU == c_dbcsr_acc_opencl_config.device.type, cmem, (int)new_config.wgsize[kernel_idx], + (int)sgs, fname, NULL == env_nrepeat ? 1 : atoi(env_nrepeat), new_config.lu, m_max, n_max, k_max, bs, + OPENCL_LIBSMM_VMIN, bs == new_config.bs ? "-DBSC" : "", new_config.bm, new_config.bn, new_config.bk, + 0 == new_config.tb ? "" : "-DTRACK_B", 0 != new_config.tc ? "-DTRACK_C" : "", + 0 == new_config.nz ? "" : "-DATOMIC_INC_NZ", 0 == new_config.al ? "" : "-DAL", 0 == new_config.ap ? "" : "-DSLM_P", + 0 == new_config.aa ? "" : (1 == slm_a ? "-DSLM_A=1" : (0 != slm_a ? "-DSLM_A=2" : "-DREG_A")), + 0 == new_config.ab ? "" : (1 == slm_b ? "-DSLM_B=1" : (0 != slm_b ? "-DSLM_B=2" : "-DREG_B")), + 0 == new_config.ac ? "" : (1 == slm_c ? "-DSLM_C=1" : "-DSLM_C=2")); + /* apply support for FP-atomics */ + if (0 < nchar && (int)sizeof(build_params) > nchar) { + nchar = c_dbcsr_acc_opencl_flags_atomics(&c_dbcsr_acc_opencl_config.device, tkind, extensions, &nextensions, + build_params + nchar, sizeof(build_params) - nchar); } - if (new_config.wgsize[kernel_idx] <= wgsize_max) { /* SMMs can be potentially handled by device */ - const char* const cmem = (EXIT_SUCCESS != opencl_libsmm_use_cmem(active_device) ? "global" : "constant"); - const char* const env_nrepeat = getenv("SMM_NREPEAT"); - const int typesize = OPENCL_LIBSMM_TYPESIZE(datatype); - const int slm_a = (1 != new_config.aa ? 0 : (LIBXSMM_ISPOT(k_max * typesize) + 1)); - const int slm_b = (1 != new_config.ab ? 0 : (LIBXSMM_ISPOT(k_max * typesize) + 1)); - const int slm_c = (1 != new_config.ac ? 0 : (LIBXSMM_ISPOT(m_max * typesize) + 1)); - /* compose build parameters and flags */ - nchar = LIBXSMM_SNPRINTF(build_params, sizeof(build_params), - "-DT=%s -DGPU=%u -DGLOBAL=%s -DSWG=%i -DSGS=%i -DFN=%s -DREPEAT=%i -DLU=%i " - "-DSM=%i -DSN=%i -DSK=%i -DBS=%i -DVL=%i %s -DBM=%i -DBN=%i -DBK=%i " - "%s %s %s %s %s %s %s %s ", /* space! */ - tname, CL_DEVICE_TYPE_GPU == c_dbcsr_acc_opencl_config.device.type, cmem, (int)new_config.wgsize[kernel_idx], - (int)sgs, fname, NULL == env_nrepeat ? 1 : atoi(env_nrepeat), new_config.lu, m_max, n_max, k_max, bs, - OPENCL_LIBSMM_VMIN, bs == new_config.bs ? "-DBSC" : "", new_config.bm, new_config.bn, new_config.bk, - 0 == new_config.tb ? "" : "-DTRACK_B", 0 != new_config.tc ? "-DTRACK_C" : "", - 0 == new_config.nz ? "" : "-DATOMIC_INC_NZ", 0 == new_config.al ? "" : "-DAL", - 0 == new_config.ap ? "" : "-DSLM_P", - 0 == new_config.aa ? "" : (1 == slm_a ? "-DSLM_A=1" : (0 != slm_a ? "-DSLM_A=2" : "-DREG_A")), - 0 == new_config.ab ? "" : (1 == slm_b ? "-DSLM_B=1" : (0 != slm_b ? "-DSLM_B=2" : "-DREG_B")), - 0 == new_config.ac ? "" : (1 == slm_c ? "-DSLM_C=1" : "-DSLM_C=2")); - /* apply support for FP-atomics */ - if (0 < nchar && (int)sizeof(build_params) > nchar) { - nchar = c_dbcsr_acc_opencl_flags_atomics(&c_dbcsr_acc_opencl_config.device, tkind, extensions, &nextensions, - build_params + nchar, sizeof(build_params) - nchar); - } - else result = EXIT_FAILURE; - if (0 < nchar && (int)sizeof(build_params) > nchar) { - const char* const cl_debug = ((0 != c_dbcsr_acc_opencl_config.debug && - 0 != c_dbcsr_acc_opencl_config.device.intel && - CL_DEVICE_TYPE_CPU != c_dbcsr_acc_opencl_config.device.type) - ? "-gline-tables-only" - : ""); - nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), "%s %s %s %s", - (0 == new_config.flags || 0 == c_dbcsr_acc_opencl_config.device.intel || - CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type) - ? "" - : intel_xf, - cl_debug, 0 == c_dbcsr_acc_opencl_config.debug ? "-cl-fast-relaxed-math -cl-denorms-are-zero" : "", - NULL == env_cl ? "" : env_cl); - if (0 >= nchar || (int)sizeof(buffer) <= nchar) result = EXIT_FAILURE; - } - else result = EXIT_FAILURE; + else result = EXIT_FAILURE; + if (0 < nchar && (int)sizeof(build_params) > nchar) { + const char* const cl_debug = ((0 != c_dbcsr_acc_opencl_config.debug && + 0 != c_dbcsr_acc_opencl_config.device.intel && + CL_DEVICE_TYPE_CPU != c_dbcsr_acc_opencl_config.device.type) + ? "-gline-tables-only" + : ""); + nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), "%s %s %s %s", + (0 == new_config.flags || 0 == c_dbcsr_acc_opencl_config.device.intel || + CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type) + ? "" + : intel_xf, + cl_debug, 0 == c_dbcsr_acc_opencl_config.debug ? "-cl-fast-relaxed-math -cl-denorms-are-zero" : "", + NULL == env_cl ? "" : env_cl); + if (0 >= nchar || (int)sizeof(buffer) <= nchar) result = EXIT_FAILURE; } - /* matrix-size causes too large WG-size */ else result = EXIT_FAILURE; } + else { /* matrix-size causes too large WG-size */ + result = EXIT_FAILURE; + } if (EXIT_SUCCESS == result) { const char* const env_kernel = getenv("OPENCL_LIBSMM_SMM_KERNEL"); result = c_dbcsr_acc_opencl_kernel(NULL == env_kernel ? 0 : 1, NULL == env_kernel ? OPENCL_KERNELS_SOURCE_MULTIPLY : env_kernel, fname, build_params, buffer, NULL /*cl_try*/, NULL /*cl_try_ok*/, extensions, nextensions, new_config.kernel + kernel_idx); if (EXIT_SUCCESS == result) { - size_t wgsize_max_kernel = wgsize_max; - result = c_dbcsr_acc_opencl_wgsize( - active_device, new_config.kernel[kernel_idx], &wgsize_max_kernel, NULL /*prefmult*/); + size_t wgsize_max_kernel = c_dbcsr_acc_opencl_config.device.wgsize[0]; + result = clGetKernelWorkGroupInfo(new_config.kernel[kernel_idx], c_dbcsr_acc_opencl_config.device.id, + CL_KERNEL_WORK_GROUP_SIZE, sizeof(size_t), &wgsize_max_kernel, NULL); if (EXIT_SUCCESS == result) { - assert(0 < new_config.wgsize[kernel_idx] && 0 < wgsize_max && 0 < wgsize_max_kernel); - assert(wgsize_max_kernel <= wgsize_max); + assert(0 < new_config.wgsize[kernel_idx] && 0 < wgsize_max_kernel); + assert(wgsize_max_kernel <= c_dbcsr_acc_opencl_config.device.wgsize[0]); if (new_config.wgsize[kernel_idx] <= wgsize_max_kernel) { /* check planned WG-size vs kernel-specific WG-size */ if (NULL == config || NULL == config->kernel[kernel_idx]) { config = (opencl_libsmm_smm_t*)libxsmm_xregister(&key, sizeof(key), sizeof(new_config), &new_config); @@ -1324,7 +1284,8 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, else { if (0 != c_dbcsr_acc_opencl_config.verbosity) { fprintf(stderr, "ERROR LIBSMM: tile-size causes too large WG-size (min(%u,%u) < %u)!\n", - (unsigned int)wgsize_max_kernel, (unsigned int)wgsize_max, (unsigned int)new_config.wgsize[kernel_idx]); + (unsigned int)wgsize_max_kernel, (unsigned int)c_dbcsr_acc_opencl_config.device.wgsize[0], + (unsigned int)new_config.wgsize[kernel_idx]); } result = EXIT_FAILURE; /* tile-size causes too large WG-size */ } From d860592174a82176b4fc02d190baba5d7c5a0825 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:32:58 +0200 Subject: [PATCH 11/74] [pre-commit.ci] pre-commit autoupdate (#779) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.3.4 → v0.3.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.4...v0.3.5) - [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v4.6.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v4.6.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 14b98c172c9..87de254e993 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.3.4' + rev: 'v0.3.5' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] @@ -21,7 +21,7 @@ repos: name: Reformat Python files with the black code formatter files: '^.*(/PACKAGE)|(\.py)$' - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-ast - id: check-yaml From f8086b020507a8d1934ce093ce844977618ce476 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:09:05 +0200 Subject: [PATCH 12/74] [pre-commit.ci] pre-commit autoupdate (#780) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.3.5 → v0.3.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.5...v0.3.7) - [github.com/psf/black: 24.3.0 → 24.4.0](https://github.com/psf/black/compare/24.3.0...24.4.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 87de254e993..7a8f2456c86 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.3.5' + rev: 'v0.3.7' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] @@ -15,7 +15,7 @@ repos: .cp2k/.*| )$ - repo: https://github.com/psf/black - rev: 24.3.0 + rev: 24.4.0 hooks: - id: black name: Reformat Python files with the black code formatter From 31ddf41edce35208a517dbb9087b57443addd34a Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 4 Apr 2024 15:49:11 +0200 Subject: [PATCH 13/74] Fixed #776 * Citation: "Setting cudaLimitPrintfFifoSize must not be performed after launching any kernel that uses the printf() device system call - in such case cudaErrorInvalidValue will be returned." * Since DeviceSetLimit is governed by ACC_API_CALL, the symbol NDEBUG must not be defined for reproducing the issue. --- src/acc/cuda_hip/acc_dev.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/acc/cuda_hip/acc_dev.cpp b/src/acc/cuda_hip/acc_dev.cpp index 99c7969c4ce..4f3613f26fd 100644 --- a/src/acc/cuda_hip/acc_dev.cpp +++ b/src/acc/cuda_hip/acc_dev.cpp @@ -45,7 +45,11 @@ extern "C" int c_dbcsr_acc_set_active_device(int device_id) { ACC_API_CALL(Free, (0)); #if defined(__CUDA) || defined(__HIP_PLATFORM_NVCC__) - ACC_API_CALL(DeviceSetLimit, (ACC(LimitPrintfFifoSize), (size_t)1000000000)); + static bool once = false; + if (!once) { + ACC_API_CALL(DeviceSetLimit, (ACC(LimitPrintfFifoSize), (size_t)1000000000)); + once = true; + } #endif return 0; From 63402b0102366ddd71eb87ce6f0f78cbd3b7d06b Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 4 Apr 2024 15:55:06 +0200 Subject: [PATCH 14/74] ocl: improved dumping source/kernel-code * Allow to omit to preprocess kernel when dumping code (ACC_OPENCL_CPP). * Dump source even if CPP is not available. * Minor improvements (acc_opencl.sh). --- src/acc/opencl/acc_opencl.c | 129 +++++++++++++++++++---------------- src/acc/opencl/acc_opencl.sh | 7 +- 2 files changed, 76 insertions(+), 60 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 18399be978e..35e1c4ce498 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -22,11 +22,17 @@ # if defined(__DBCSR_ACC) # include "../acc_libsmm.h" # endif - +# include # include # if !defined(S_ISDIR) && defined(S_IFMT) && defined(S_IFDIR) # define S_ISDIR(A) ((S_IFMT & (A)) == S_IFDIR) # endif +# if !defined(S_IREAD) +# define S_IREAD S_IRUSR +# endif +# if !defined(S_IWRITE) +# define S_IWRITE S_IWUSR +# endif # if !defined(ACC_OPENCL_NLOCKS) # define ACC_OPENCL_NLOCKS 4 @@ -1430,73 +1436,82 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha } buffer[0] = '\0'; /* reset to empty */ } - /* consider preprocessing kernel for analysis (cpp); failure does not matter (result) */ -# if defined(ACC_OPENCL_CPPBIN) + /* cpp: consider to preprocess kernel (failure does not impact result code) */ if (0 != c_dbcsr_acc_opencl_config.dump && NULL == file_src) { - nchar = LIBXSMM_SNPRINTF(buffer_name, sizeof(buffer_name), ACC_OPENCL_TEMPDIR "/.%s.XXXXXX", kernel_name); - if (0 < nchar && (int)sizeof(buffer_name) > nchar) { - FILE* const file_cpp = fopen(ACC_OPENCL_CPPBIN, "rb"); - const char* sed_pattern = ""; -# if defined(ACC_OPENCL_SEDBIN) - FILE* const file_sed = fopen(ACC_OPENCL_SEDBIN, "rb"); - if (NULL != file_sed) { - sed_pattern = "| " ACC_OPENCL_SEDBIN " '/^[[:space:]]*\\(\\/\\/.*\\)*$/d'"; - fclose(file_sed); /* existence-check */ - } -# endif + char dump_filename[ACC_OPENCL_MAXSTRLEN]; + nchar = LIBXSMM_SNPRINTF(dump_filename, sizeof(dump_filename), "%s.cl", kernel_name); + if (0 < nchar && (int)sizeof(dump_filename) > nchar) { + const int std_flag_len = (int)strlen(c_dbcsr_acc_opencl_config.device.std_flag); + const char* const env_cpp = getenv("ACC_OPENCL_CPP"); + const int cpp = (NULL == env_cpp ? 1 /*default*/ : atoi(env_cpp)); +# if defined(ACC_OPENCL_CPPBIN) + FILE* const file_cpp = (0 != cpp ? fopen(ACC_OPENCL_CPPBIN, "rb") : NULL); +# else + FILE* const file_cpp = NULL; +# endif + int file_dmp = -1; if (NULL != file_cpp) { - const int file_tmp = mkstemp(buffer_name); + nchar = LIBXSMM_SNPRINTF(buffer_name, sizeof(buffer_name), ACC_OPENCL_TEMPDIR "/.%s.XXXXXX", kernel_name); + if (0 < nchar && (int)sizeof(buffer_name) > nchar) file_dmp = mkstemp(buffer_name); fclose(file_cpp); /* existence-check */ - if (0 <= file_tmp) { - const int std_clevel = 100 * c_dbcsr_acc_opencl_config.device.std_clevel[0] + - 10 * c_dbcsr_acc_opencl_config.device.std_clevel[1]; - const int std_level = 100 * c_dbcsr_acc_opencl_config.device.std_level[0] + - 10 * c_dbcsr_acc_opencl_config.device.std_level[1]; - const int std_flag_len = (int)strlen(c_dbcsr_acc_opencl_config.device.std_flag); - nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), - ACC_OPENCL_CPPBIN " -P -C -nostdinc -DACC_OPENCL_VERSION=%u -DACC_OPENCL_C_VERSION=%u %s %s %s %s >%s.cl", std_level, - std_clevel, 0 == c_dbcsr_acc_opencl_config.device.nv ? "" : "-D__NV_CL_C_VERSION", - NULL != build_params ? build_params : "", buffer_name, sed_pattern, kernel_name); - if (0 < nchar && (int)sizeof(buffer) > nchar && - (0 == std_flag_len || (3 == write(file_tmp, "/*\n", 3) && - std_flag_len == write(file_tmp, c_dbcsr_acc_opencl_config.device.std_flag, std_flag_len) && - 4 == write(file_tmp, "\n*/\n", 4))) && - size_src == (size_t)write(file_tmp, ext_source, size_src)) - { - if (EXIT_SUCCESS == system(buffer)) { - nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), "%s.cl", kernel_name); - if (0 < nchar && (int)sizeof(buffer) > nchar) { - FILE* const file = fopen(buffer, "r"); - if (NULL != file) { - const long int size = (EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_END) ? ftell(file) : 0); - char* const src = (char*)(EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_SET) - ? libxsmm_aligned_scratch(size + 1 /*terminator*/, 0 /*auto-align*/) - : NULL); - if (NULL != src) { - if ((size_t)size == fread(src, 1 /*sizeof(char)*/, size /*count*/, file)) { - if (source != ext_source) { - void* p = NULL; - LIBXSMM_ASSIGN127(&p, &ext_source); - libxsmm_free(p); - } - src[size] = '\0'; - ext_source = src; - } - else libxsmm_free(src); - } - ACC_OPENCL_EXPECT(EXIT_SUCCESS == fclose(file)); + } + else file_dmp = open(dump_filename, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE); + if (0 <= file_dmp) { + if ((0 != std_flag_len && (3 != write(file_dmp, "/*\n", 3) || + std_flag_len != write(file_dmp, c_dbcsr_acc_opencl_config.device.std_flag, std_flag_len) || + 4 != write(file_dmp, "\n*/\n", 4))) || + size_src != (size_t)write(file_dmp, ext_source, size_src)) + { + file_dmp = -1; + } + ACC_OPENCL_EXPECT(EXIT_SUCCESS == close(file_dmp)); + } +# if defined(ACC_OPENCL_CPPBIN) + if (NULL != file_cpp && 0 <= file_dmp) { /* preprocess source-code */ + const int std_clevel = 100 * c_dbcsr_acc_opencl_config.device.std_clevel[0] + + 10 * c_dbcsr_acc_opencl_config.device.std_clevel[1]; + const int std_level = 100 * c_dbcsr_acc_opencl_config.device.std_level[0] + + 10 * c_dbcsr_acc_opencl_config.device.std_level[1]; + const char* sed_pattern = ""; +# if defined(ACC_OPENCL_SEDBIN) + FILE* const file_sed = fopen(ACC_OPENCL_SEDBIN, "rb"); + if (NULL != file_sed) { + sed_pattern = "| " ACC_OPENCL_SEDBIN " '/^[[:space:]]*\\(\\/\\/.*\\)*$/d'"; + fclose(file_sed); /* existence-check */ + } +# endif + nchar = LIBXSMM_SNPRINTF(buffer, sizeof(buffer), + ACC_OPENCL_CPPBIN " -P -C -nostdinc -DACC_OPENCL_VERSION=%u -DACC_OPENCL_C_VERSION=%u %s %s %s %s >%s", std_level, + std_clevel, 0 == c_dbcsr_acc_opencl_config.device.nv ? "" : "-D__NV_CL_C_VERSION", + NULL != build_params ? build_params : "", buffer_name, sed_pattern, dump_filename); + if (0 < nchar && (int)sizeof(buffer) > nchar && EXIT_SUCCESS == system(buffer)) { + FILE* const file = fopen(dump_filename, "r"); + if (NULL != file) { + const long int size = (EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_END) ? ftell(file) : 0); + char* const src = (char*)(EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_SET) + ? libxsmm_aligned_scratch(size + 1 /*terminator*/, 0 /*auto-align*/) + : NULL); + if (NULL != src) { + if ((size_t)size == fread(src, 1 /*sizeof(char)*/, size /*count*/, file)) { + if (source != ext_source) { + void* p = NULL; + LIBXSMM_ASSIGN127(&p, &ext_source); + libxsmm_free(p); } + src[size] = '\0'; + ext_source = src; } + else libxsmm_free(src); } + ACC_OPENCL_EXPECT(EXIT_SUCCESS == fclose(file)); } - buffer[0] = '\0'; /* reset to empty */ - ACC_OPENCL_EXPECT(EXIT_SUCCESS == unlink(buffer_name)); - ACC_OPENCL_EXPECT(EXIT_SUCCESS == close(file_tmp)); } + ACC_OPENCL_EXPECT(EXIT_SUCCESS == unlink(buffer_name)); /* remove temporary file */ + buffer[0] = '\0'; /* reset to empty */ } +# endif } } -# endif program = clCreateProgramWithSource(c_dbcsr_acc_opencl_config.device.context, 1 /*nlines*/, &ext_source, NULL, &result); if (EXIT_SUCCESS == result) { assert(NULL != program); diff --git a/src/acc/opencl/acc_opencl.sh b/src/acc/opencl/acc_opencl.sh index d4b793c8b41..27016902432 100755 --- a/src/acc/opencl/acc_opencl.sh +++ b/src/acc/opencl/acc_opencl.sh @@ -74,13 +74,14 @@ process() { if [ "${FILE}" ] && [ -e "${FILE}" ]; then process_pre "${FILE}" "$2" | process "${FILE}" "$2" else - >&2 echo "ERROR: header file ${FILE} not found!" - exit 1 + >&2 echo "WARNING: header file ${FILE} not found!" + #exit 1 fi else ${SED} <<<"${LINE}" \ -e '/^[[:space:]]*$/d' -e 's/[[:space:]]*$//' \ - -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/ "/' -e 's/$/\\n" \\/' + -e 's/[[:space:]]*\\/ \\\\/g' -e 's/"/\\"/g' \ + -e 's/^/ "/' -e 's/$/\\n" \\/' fi done unset IFS From 708e8f98e771428b7bc72fbefdb3cf5e2351002d Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 16 Apr 2024 16:08:50 +0200 Subject: [PATCH 15/74] * Introduced ACC_OPENCL_ACTIVATE and avoid activating device-0 by default (c_dbcsr_acc_set_active_device must be called). * Lazily auto-activate device (ACC_OPENCL_ACTIVATE). * Updated tuned parameters. * Makefile of acc_bench_smm (OpenCL and CUDA) - Adjusted compiler options and apply CXXSTD for two-phase compilation. - Avoid overriding LD_LIBRARY_DIRS. - Adjusted C++ baseline standard. - Fixed finding LIBXSMMROOT. --- src/acc/cuda/Makefile | 20 +-- src/acc/opencl/Makefile | 4 +- src/acc/opencl/acc_opencl.c | 16 ++- src/acc/opencl/acc_opencl.h | 4 + src/acc/opencl/acc_opencl_mem.c | 19 ++- src/acc/opencl/acc_opencl_stream.c | 19 ++- .../opencl/smm/params/tune_multiply_PVC.csv | 132 +++++++++--------- 7 files changed, 130 insertions(+), 84 deletions(-) diff --git a/src/acc/cuda/Makefile b/src/acc/cuda/Makefile index 79092692035..4a4b4ab32ac 100644 --- a/src/acc/cuda/Makefile +++ b/src/acc/cuda/Makefile @@ -22,7 +22,7 @@ OBJSMM := $(SRCSMM:.cpp=.o) INCALL := $(INCACC) $(INCSMM) -LIBXSMMROOT := $(wildcard $(ACCDIR)/../../../libxsmm) +LIBXSMMROOT := $(wildcard $(ACCDIR)/../../../../../libxsmm) ifeq (,$(LIBXSMMROOT)) LIBXSMMROOT := $(wildcard $(HOME)/libxsmm) endif @@ -33,6 +33,9 @@ INTEL ?= 0 GNU ?= 0 DEV ?= 0 +# C++ baseline standard +CXXSTD ?= -std=c++14 + # select from set of predefined triplet specifications SPECID ?= 0 # limit shape in tests (zero or negative for unlimited) @@ -118,7 +121,7 @@ else ifneq (0,$(GNU)) else override AR := ar endif - override LD_LIBRARY_DIRS := $(NULL) + #override LD_LIBRARY_DIRS := $(NULL) else CXX := g++ CC := gcc @@ -211,7 +214,7 @@ LD_LIBSTUB_PATH := $(wildcard $(patsubst %,%/stubs,$(LD_LIBRARY_DIRS))) LIBPATHS := $(foreach DIR,$(LD_LIBRARY_DIRS),$(if $(filter -L$(DIR),$(LDFLAGS)),$(NULL),-L$(DIR))) LIBSTUBS := $(foreach DIR,$(LD_LIBSTUB_PATH),$(if $(filter -L$(DIR),$(LDFLAGS)),$(NULL),-L$(DIR))) LDFLAGS += $(LIBPATHS) $(LIBSTUBS) -lcudart -lcublas -lnvrtc -lcuda -CXXFLAGS += -std=c++11 $(CFLAGS) +CXXFLAGS += $(CXXSTD) $(CFLAGS) .PHONY: bench bench: $(ACCDIR)/acc_bench_smm $(ACCDIR)/acc_bench_trans @@ -296,15 +299,16 @@ libsmm: $(ACCDIR)/dbcsr_acc_smm.a $(ACCDIR)/dbcsr_acc_smm.a: $(OBJSMM) $(AR) -rs $@ $^ -%.o: %.cu $(INCALL) $(MAKDIR)/Makefile - $(NVCC) $(DFLAGS) -allow-unsupported-compiler --compiler-options="$(CXXFLAGS) $(CFLAGS_XSMM)" -c $< -o $@ - %.o: %.cpp $(INCALL) $(MAKDIR)/Makefile $(CXX) $(DFLAGS) $(CXXFLAGS) $(CFLAGS_XSMM) -c $< -o $@ +%.o: %.cu $(INCALL) $(MAKDIR)/Makefile + $(NVCC) $(DFLAGS) -allow-unsupported-compiler $(CXXSTD) \ + --compiler-options="$(filter-out $(CXXSTD),$(CXXFLAGS)) $(CFLAGS_XSMM)" -c $< -o $@ + $(ACCDIR)/cuda_hip/calculate_norms.o: $(ACCDIR)/cuda_hip/calculate_norms.cpp $(INCALL) $(MAKDIR)/Makefile - $(NVCC) $(DFLAGS) -x cu -allow-unsupported-compiler \ - --compiler-options="$(filter-out -pedantic,$(CXXFLAGS)) $(CFLAGS_XSMM)" -c $< -o $@ + $(NVCC) $(DFLAGS) -allow-unsupported-compiler $(CXXSTD) -x cu \ + --compiler-options="$(filter-out $(CXXSTD) -pedantic,$(CXXFLAGS)) $(CFLAGS_XSMM)" -c $< -o $@ $(MAKDIR)/acc_bench_smm.o: $(ACCDIR)/acc_bench_smm.c $(MAKDIR)/Makefile ifneq (0,$(LIBXSMM)) diff --git a/src/acc/opencl/Makefile b/src/acc/opencl/Makefile index 81607ad860e..2ac977d8c1a 100644 --- a/src/acc/opencl/Makefile +++ b/src/acc/opencl/Makefile @@ -15,7 +15,7 @@ KERNEL := $(wildcard $(MAKDIR)/smm/kernels/*.cl) INCALL := $(INCACC) $(INCSMM) -LIBXSMMROOT := $(wildcard $(ACCDIR)/../../../libxsmm) +LIBXSMMROOT := $(wildcard $(ACCDIR)/../../../../../libxsmm) ifeq (,$(LIBXSMMROOT)) LIBXSMMROOT := $(wildcard $(HOME)/libxsmm) endif @@ -89,7 +89,7 @@ else ifneq (0,$(GNU)) else override AR := ar endif - override LD_LIBRARY_DIRS := $(NULL) + #override LD_LIBRARY_DIRS := $(NULL) else CXX := g++ CC := gcc diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 35e1c4ce498..81643bbd4e3 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -621,7 +621,14 @@ int c_dbcsr_acc_init(void) { result = EXIT_FAILURE; } if (EXIT_SUCCESS == result) { /* lastly, print active device and list of devices */ - result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, device_id); +# if defined(ACC_OPENCL_ACTIVATE) + if (0 <= ACC_OPENCL_ACTIVATE && ACC_OPENCL_ACTIVATE < c_dbcsr_acc_opencl_config.ndevices) { + result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, ACC_OPENCL_ACTIVATE); + } + else { + result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, device_id); + } +# endif if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { char platform_name[ACC_OPENCL_BUFFERSIZE]; for (i = 0; i < (cl_uint)c_dbcsr_acc_opencl_config.ndevices; ++i) { @@ -973,10 +980,10 @@ int c_dbcsr_acc_opencl_create_context(cl_device_id active_id, cl_context* contex int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_id) { /* accessing devices is thread-safe (array is fixed after initialization) */ - const cl_device_id active_id = c_dbcsr_acc_opencl_config.devices[device_id]; + const cl_device_id active_id = + ((0 <= device_id && device_id < c_dbcsr_acc_opencl_config.ndevices) ? c_dbcsr_acc_opencl_config.devices[device_id] : NULL); int result = EXIT_SUCCESS; assert(c_dbcsr_acc_opencl_config.ndevices < ACC_OPENCL_MAXNDEVS); - assert(0 <= device_id && device_id < c_dbcsr_acc_opencl_config.ndevices); if (NULL != active_id) { cl_device_id context_id = NULL; cl_context context = NULL; @@ -1311,6 +1318,7 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, int c_dbcsr_acc_opencl_flags( const char build_params[], const char build_options[], const char try_build_options[], char buffer[], size_t buffer_size) { int result = EXIT_SUCCESS; + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL != buffer) { const int std_clevel = 100 * c_dbcsr_acc_opencl_config.device.std_clevel[0] + 10 * c_dbcsr_acc_opencl_config.device.std_clevel[1]; @@ -1341,6 +1349,7 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha cl_program program = NULL; FILE* file_src = NULL; size_t size_src = 0; + assert(NULL != c_dbcsr_acc_opencl_config.device.context); assert(NULL != kernel); *kernel = NULL; if (EXIT_SUCCESS == result && 0 != source_is_file) file_src = fopen(source, "rb"); @@ -1659,6 +1668,7 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha int c_dbcsr_acc_opencl_set_kernel_ptr(cl_kernel kernel, cl_uint arg_index, const void* arg_value) { + assert(NULL != c_dbcsr_acc_opencl_config.device.context); return (NULL != c_dbcsr_acc_opencl_config.device.clSetKernelArgMemPointerINTEL ? c_dbcsr_acc_opencl_config.device.clSetKernelArgMemPointerINTEL(kernel, arg_index, arg_value) : clSetKernelArg(kernel, arg_index, sizeof(cl_mem), &arg_value)); diff --git a/src/acc/opencl/acc_opencl.h b/src/acc/opencl/acc_opencl.h index 4e60cc9a77c..e93d8270e0b 100644 --- a/src/acc/opencl/acc_opencl.h +++ b/src/acc/opencl/acc_opencl.h @@ -116,6 +116,10 @@ #if !defined(ACC_OPENCL_OMPLOCKS) && 1 # define ACC_OPENCL_OMPLOCKS #endif +/* Activate device by default */ +#if !defined(ACC_OPENCL_ACTIVATE) && 0 +# define ACC_OPENCL_ACTIVATE 0 +#endif /* Use DBCSR's profile for detailed timings */ #if !defined(ACC_OPENCL_PROFILE) && 0 # define ACC_OPENCL_PROFILE diff --git a/src/acc/opencl/acc_opencl_mem.c b/src/acc/opencl/acc_opencl_mem.c index c24deb88f35..8f525fa1445 100644 --- a/src/acc/opencl/acc_opencl_mem.c +++ b/src/acc/opencl/acc_opencl_mem.c @@ -73,6 +73,7 @@ c_dbcsr_acc_opencl_info_memptr_t* c_dbcsr_acc_opencl_info_devptr_modify( assert(0 < elsize); if (NULL != memory) { # if defined(ACC_OPENCL_MEM_DEVPTR) + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL == c_dbcsr_acc_opencl_config.device.clSetKernelArgMemPointerINTEL) { const char* const pointer = (const char*)memory; const size_t n = ACC_OPENCL_MAXNITEMS * c_dbcsr_acc_opencl_config.nthreads; @@ -140,6 +141,7 @@ int c_dbcsr_acc_opencl_info_devptr_lock(c_dbcsr_acc_opencl_info_memptr_t* info, devptr = c_dbcsr_acc_opencl_info_devptr_modify(lock, non_const, elsize, amount, offset); if (NULL != devptr) { # if defined(ACC_OPENCL_MEM_DEVPTR) + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL == c_dbcsr_acc_opencl_config.device.clSetKernelArgMemPointerINTEL) { LIBXSMM_ASSIGN127(info, devptr); } @@ -178,6 +180,11 @@ int c_dbcsr_acc_host_mem_allocate(void** host_mem, size_t nbytes, void* stream) } nbytes += alignment + size_meminfo - 1; assert(NULL != host_mem); +# if !defined(ACC_OPENCL_ACTIVATE) + if (NULL == c_dbcsr_acc_opencl_config.device.context) { + ACC_OPENCL_EXPECT(EXIT_SUCCESS == c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, 0 /*device_id*/)); + } +# endif memory = clCreateBuffer(c_dbcsr_acc_opencl_config.device.context, CL_MEM_ALLOC_HOST_PTR, nbytes, NULL /*host_ptr*/, &result); if (EXIT_SUCCESS == result) { const c_dbcsr_acc_opencl_stream_t* const str = (NULL != stream ? ACC_OPENCL_STREAM(stream) @@ -289,7 +296,7 @@ int c_dbcsr_acc_opencl_memcpy_d2h( int c_dbcsr_acc_dev_mem_allocate(void** dev_mem, size_t nbytes) { int result = EXIT_SUCCESS; /* assume no lock is needed to protect against context/device changes */ - const cl_context context = c_dbcsr_acc_opencl_config.device.context; + cl_context context = c_dbcsr_acc_opencl_config.device.context; cl_mem memory = NULL; void* memptr = NULL; # if defined(__DBCSR_ACC) && defined(ACC_OPENCL_PROFILE) @@ -297,6 +304,12 @@ int c_dbcsr_acc_dev_mem_allocate(void** dev_mem, size_t nbytes) { static const char* const routine_name_ptr = LIBXSMM_FUNCNAME; static const int routine_name_len = (int)sizeof(LIBXSMM_FUNCNAME) - 1; c_dbcsr_timeset((const char**)&routine_name_ptr, &routine_name_len, &routine_handle); +# endif +# if !defined(ACC_OPENCL_ACTIVATE) + if (NULL == context) { + ACC_OPENCL_EXPECT(EXIT_SUCCESS == c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, 0 /*device_id*/)); + context = c_dbcsr_acc_opencl_config.device.context; + } # endif assert(NULL != dev_mem && NULL != context); # if defined(ACC_OPENCL_MEM_DEVPTR) @@ -392,6 +405,7 @@ int c_dbcsr_acc_dev_mem_deallocate(void* dev_mem) { # if !defined(ACC_OPENCL_MEM_DEVPTR) memory = (cl_mem)dev_mem; # else + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL != c_dbcsr_acc_opencl_config.device.clMemFreeINTEL) { result = c_dbcsr_acc_opencl_config.device.clMemFreeINTEL(c_dbcsr_acc_opencl_config.device.context, dev_mem); } @@ -458,6 +472,7 @@ int c_dbcsr_acc_memcpy_h2d(const void* host_mem, void* dev_mem, size_t nbytes, v c_dbcsr_timeset((const char**)&routine_name_ptr, &routine_name_len, &routine_handle); # endif assert((NULL != host_mem && NULL != dev_mem) || 0 == nbytes); + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL != host_mem && NULL != dev_mem && 0 != nbytes) { const c_dbcsr_acc_opencl_stream_t* const str = (NULL != stream ? ACC_OPENCL_STREAM(stream) : c_dbcsr_acc_opencl_stream(NULL /*lock*/, ACC_OPENCL_OMP_TID())); @@ -547,6 +562,7 @@ int c_dbcsr_acc_memcpy_d2d(const void* devmem_src, void* devmem_dst, size_t nbyt cl_event event = NULL; assert(NULL != str && NULL != str->queue); # if defined(ACC_OPENCL_MEM_DEVPTR) + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL != c_dbcsr_acc_opencl_config.device.clEnqueueMemcpyINTEL) { result = c_dbcsr_acc_opencl_config.device.clEnqueueMemcpyINTEL( str->queue, CL_FALSE /*blocking*/, devmem_dst, devmem_src, nbytes, 0, NULL, &event); @@ -596,6 +612,7 @@ int c_dbcsr_acc_opencl_memset(void* dev_mem, int value, size_t offset, size_t nb else if (0 == LIBXSMM_MOD2(nbytes, 2)) size_of_value = 2; assert(NULL != str && NULL != str->queue); # if defined(ACC_OPENCL_MEM_DEVPTR) + assert(NULL != c_dbcsr_acc_opencl_config.device.context); if (NULL != c_dbcsr_acc_opencl_config.device.clEnqueueMemFillINTEL) { result = c_dbcsr_acc_opencl_config.device.clEnqueueMemFillINTEL( str->queue, (char*)dev_mem + offset, &value, size_of_value, nbytes, 0, NULL, &event); diff --git a/src/acc/opencl/acc_opencl_stream.c b/src/acc/opencl/acc_opencl_stream.c index e14445e18ff..87d1077d263 100644 --- a/src/acc/opencl/acc_opencl_stream.c +++ b/src/acc/opencl/acc_opencl_stream.c @@ -40,6 +40,7 @@ const c_dbcsr_acc_opencl_stream_t* c_dbcsr_acc_opencl_stream(ACC_OPENCL_LOCKTYPE else break; /* error */ } if (NULL == result) { /* fallback */ + assert(NULL != c_dbcsr_acc_opencl_config.device.context); result = (NULL != result_main ? result_main : &c_dbcsr_acc_opencl_config.device.stream); } if (NULL != lock) ACC_OPENCL_RELEASE(lock); @@ -103,7 +104,19 @@ int c_dbcsr_acc_stream_create(void** stream_p, const char* name, int priority) { } else offset = c_dbcsr_acc_opencl_stream_counter_base++; # endif - if (NULL != c_dbcsr_acc_opencl_config.device.context) { + if (NULL == c_dbcsr_acc_opencl_config.device.context) +# if defined(ACC_OPENCL_ACTIVATE) + { + result = EXIT_FAILURE; + } + else +# else + { + result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, 0 /*device*/); + } + if (NULL != c_dbcsr_acc_opencl_config.device.context) +# endif + { if (0 != (2 & c_dbcsr_acc_opencl_config.xhints) && 0 != c_dbcsr_acc_opencl_config.device.intel) { /* enable queue families */ struct { cl_command_queue_properties properties; @@ -136,9 +149,6 @@ int c_dbcsr_acc_stream_create(void** stream_p, const char* name, int priority) { queue = ACC_OPENCL_CREATE_COMMAND_QUEUE( c_dbcsr_acc_opencl_config.device.context, c_dbcsr_acc_opencl_config.device.id, properties, &result); } - else { - result = EXIT_FAILURE; - } if (EXIT_SUCCESS == result) { /* register stream */ assert(NULL != c_dbcsr_acc_opencl_config.streams && NULL != queue); *stream_p = c_dbcsr_acc_opencl_pmalloc( @@ -211,6 +221,7 @@ int c_dbcsr_acc_stream_priority_range(int* least, int* greatest) { if (0 < c_dbcsr_acc_opencl_config.ndevices) { char buffer[ACC_OPENCL_BUFFERSIZE]; cl_platform_id platform = NULL; + assert(NULL != c_dbcsr_acc_opencl_config.device.context); ACC_OPENCL_CHECK( clGetDeviceInfo(c_dbcsr_acc_opencl_config.device.id, CL_DEVICE_PLATFORM, sizeof(cl_platform_id), &platform, NULL), "retrieve platform associated with active device", result); diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index 5eeb2d5e986..e0c11d4557f 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -1,8 +1,8 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;8;2;1;1;1;-1;0;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;-2;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;5;4;1;2;1;-1;-1;0;1;1;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;2;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;4;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 @@ -10,32 +10,32 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;4;1;-1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;2;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;11;4;1;4;1;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;4;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;3;1;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;13;30000;0;8;4;1;1;1;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;17;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;25;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;17;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;25;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;26;30000;0;8;4;1;1;5;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;28;30000;0;8;4;1;1;5;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;32;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;28;30000;0;8;4;1;1;5;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;32;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;10;4;1;3;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;5;30000;0;10;4;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;3;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;2;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;28;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;32;30000;0;8;4;1;1;7;-1;-1;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;4;1;-1;1;0;0;0;1;0;2;0;0;0 @@ -152,7 +152,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-1;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;13;5;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;13;30000;0;10;5;1;1;1;1;0;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;16;30000;0;8;5;1;1;1;-2;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;17;30000;0;8;5;1;1;1;-1;-1;1;1;0;1;1;0;0;0;0 @@ -164,7 +164,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;14;28;30000;0;8;5;1;1;14;-2;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;13;30000;0;14;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;15;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-2;-2;0;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;4;30000;0;16;5;1;1;1;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;14;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 @@ -173,14 +173,14 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;17;30000;0;8;5;1;1;1;-1;-2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;32;30000;0;8;5;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;5;30000;0;16;5;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;13;30000;0;15;5;1;1;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;14;5;1;4;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;14;5;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;24;30000;0;18;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;26;30000;0;15;5;1;1;24;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;32;30000;0;8;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;17;5;1;1;1;0;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;16;5;1;1;1;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;5;30000;0;18;5;1;1;25;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;7;30000;0;14;5;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;9;30000;0;14;5;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;9;30000;0;14;5;1;1;25;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;13;30000;0;8;5;1;1;25;0;-1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;25;30000;0;8;5;1;1;25;0;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;26;30000;0;8;5;1;1;25;-2;-2;0;0;0;1;1;2;0;0;0 @@ -303,8 +303,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;42;7;1;4;45;-2;-1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;43;7;1;6;45;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;7;30000;0;41;7;1;1;45;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;36;7;1;4;45;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;13;30000;0;15;7;1;1;45;0;5;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;25;30000;0;15;7;1;1;45;1;0;1;1;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;13;30000;0;15;7;1;1;45;-1;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;25;30000;0;41;7;1;1;45;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;26;30000;0;10;7;1;1;45;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;10;7;1;1;45;0;-1;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;32;30000;0;8;7;1;1;45;-2;0;1;0;1;1;1;2;0;0;1 @@ -316,7 +316,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;8;1;-2;-1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;7;1;-2;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;9;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;14;9;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 @@ -324,16 +324,16 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;10;9;1;6;1;-1;-2;0;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-2;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-1;-2;0;1;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;32;30000;0;8;9;1;1;9;-1;0;0;1;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;45;30000;0;8;9;1;1;9;-1;0;0;0;0;1;1;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;4;30000;0;16;9;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;4;30000;0;16;9;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;7;30000;0;16;9;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;9;30000;0;11;9;1;1;1;-1;-1;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;26;30000;0;8;9;1;3;9;-1;1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;28;30000;0;8;9;1;1;9;-1;0;0;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 @@ -455,11 +455,11 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;28;30000;0;8;13;1;1;13;-2;-2;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;32;30000;0;8;13;1;1;1;-2;0;0;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;3;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;7;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;9;1;-2;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;11;13;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;13;30000;0;9;13;1;6;1;-1;-1;1;1;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;-2;-1;1;0;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;26;30000;0;8;13;1;1;13;-2;-2;1;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;28;30000;0;8;13;1;1;13;-1;-1;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;32;30000;0;10;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 @@ -467,23 +467,23 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;45;30000;0;8;13;1;1;13;1;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;16;13;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;5;30000;0;16;13;1;7;13;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;14;13;1;11;13;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;9;30000;0;14;13;1;4;13;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;10;13;1;5;13;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;9;30000;0;13;13;1;2;13;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;10;13;1;5;13;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;32;30000;0;8;13;1;1;13;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;45;30000;0;8;13;1;1;13;0;-2;0;1;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;24;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;27;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;7;30000;0;22;13;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;9;30000;0;24;13;1;1;13;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;9;30000;0;24;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;13;30000;0;8;13;1;4;1;-1;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;14;30000;0;18;13;1;1;13;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;18;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;24;30000;0;8;13;1;1;13;-1;-2;1;1;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;24;30000;0;14;13;1;1;13;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;25;30000;0;8;13;1;1;13;-1;0;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;14;13;1;1;13;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;18;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;28;30000;0;8;13;1;1;13;-1;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;32;30000;0;8;13;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;45;30000;0;8;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 @@ -614,13 +614,13 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;7;1;-2;-1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;4;1;-1;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;26;30000;0;8;16;1;14;1;-1;-2;1;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;18;16;1;16;1;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;16;16;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;16;16;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;16;30000;0;8;16;1;1;1;-1;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;22;30000;0;8;16;1;1;1;-1;0;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;13;5;30000;0;22;16;1;2;1;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;13;16;1;1;16;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;13;5;30000;0;23;16;1;12;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;13;16;1;1;16;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;16;30000;0;12;16;1;1;16;-2;0;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;29;30000;0;14;16;1;1;16;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;29;30000;0;10;16;1;1;16;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;35;16;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;9;30000;0;25;16;1;1;1;-1;-2;1;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;25;16;1;1;16;-1;1;0;0;0;1;0;0;2;0;0 @@ -631,7 +631,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;55;30000;0;8;16;1;1;16;-2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;9;30000;0;21;16;1;9;1;-2;-1;1;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;16;30000;0;8;16;1;1;1;-1;1;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;22;30000;0;8;16;1;1;1;0;1;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;24;5;30000;0;22;16;1;13;1;-2;-2;1;0;1;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;24;5;30000;0;18;16;1;9;1;0;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;20;16;1;2;1;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;13;29;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;10;29;-1;1;0;0;0;1;0;2;0;0;0 @@ -640,8 +640,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;-1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;16;30000;0;32;16;1;1;55;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;29;30000;0;30;16;1;1;55;-1;0;1;0;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;55;30000;0;15;16;1;1;55;1;1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;2;17;1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;4;30000;0;14;17;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;9;17;0;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;4;30000;0;14;17;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;5;30000;0;14;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;13;30000;0;9;17;1;1;1;-2;0;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 @@ -766,7 +766,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;32;30000;0;8;8;1;1;25;-2;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;45;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;13;30000;0;8;25;1;10;25;1;1;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;11;25;1;8;25;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;11;25;1;12;25;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;26;30000;0;15;25;1;1;25;0;-1;1;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;15;25;1;1;25;-1;-2;0;0;0;1;0;0;0;0;1 @@ -778,13 +778,13 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;13;30000;0;15;25;1;1;25;0;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;14;30000;0;24;25;1;1;25;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;25;30000;0;16;25;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;26;30000;0;15;25;1;1;25;-1;-1;0;1;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;16;25;1;1;25;-1;-1;1;1;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;25;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;21;16;1;20;26;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;2;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;14;30000;0;17;25;1;1;26;1;-1;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;25;30000;0;15;25;1;1;26;1;1;0;0;0;1;0;0;0;0;1 @@ -913,14 +913,14 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;45;30000;0;8;26;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;4;30000;0;30;8;1;3;28;-2;-1;1;0;0;1;1;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;12;28;-1;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;26;1;15;28;-2;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;16;1;12;28;-1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;16;8;1;3;28;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;18;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;26;30000;0;16;26;1;1;28;-1;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;28;30000;0;30;8;1;24;28;-1;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;28;30000;0;30;16;1;7;28;-2;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;-2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;31;8;1;11;32;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;26;32;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;26;32;1;-1;0;1;0;1;0;1;2;0;0 @@ -935,20 +935,20 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;22;8;1;18;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;23;26;1;11;45;1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;28;16;1;16;45;1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;15;26;1;12;45;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;27;16;1;14;45;0;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;15;26;1;15;45;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;-1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;26;30000;0;5;26;1;1;45;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;28;30000;0;1;26;1;19;45;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;7;8;1;26;45;-2;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;9;8;1;24;45;-2;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;45;30000;0;5;26;1;1;45;1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;1;1;-1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;17;28;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;7;30000;0;9;8;1;6;28;0;4;0;0;1;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;11;28;0;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;8;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;-1;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;1;8;1;28;28;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;1;8;1;10;28;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;13;28;1;11;28;1;4;0;0;0;1;0;2;1;0;0 @@ -1072,7 +1072,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;76;76;30000;0;4;16;1;1;76;1;2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;4;30000;0;19;8;1;25;1;-2;-2;1;0;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;5;30000;0;18;8;1;20;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;7;30000;0;13;8;1;32;32;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;9;30000;0;8;8;1;12;32;1;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;9;30000;0;10;8;1;2;32;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;13;30000;0;15;8;1;19;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;17;30000;0;8;8;1;12;1;-2;5;1;0;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;9;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 @@ -1085,21 +1085,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;5;30000;0;15;8;1;8;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;15;8;1;31;32;0;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;9;30000;0;8;8;1;30;32;1;-1;0;0;0;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;13;30000;0;8;32;1;26;1;-2;-2;0;1;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;17;30000;0;8;32;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;17;30000;0;8;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;24;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;8;16;1;1;32;1;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;8;8;1;1;32;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;28;30000;0;4;8;1;22;32;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;32;30000;0;8;32;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;45;30000;0;4;8;1;1;32;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;4;30000;0;18;8;1;14;32;-2;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;5;30000;0;16;8;1;2;32;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;5;30000;0;16;8;1;9;32;1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;7;30000;0;15;8;1;12;32;-1;4;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;9;30000;0;10;8;1;30;32;0;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;13;30000;0;8;8;1;9;32;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;25;30000;0;8;8;1;1;32;1;4;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;26;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;8;8;1;1;32;1;4;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;8;8;1;1;32;1;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;9;8;1;1;32;-2;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;45;30000;0;8;8;1;1;32;1;1;1;0;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;4;30000;0;17;8;1;19;32;1;5;0;0;0;1;1;0;0;0;0 From 4cdb2dcd40d2c34120fbec3977c1f5fec016c562 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 17 Apr 2024 13:44:15 +0200 Subject: [PATCH 16/74] Fixed compilation warning and typo * Avoid warning about format %p expecting void-pointer. * Fixed typo (DBCSR_ABORT message). --- src/acc/cuda_hip/acc_stream.cpp | 2 +- src/core/dbcsr_lib.F | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/acc/cuda_hip/acc_stream.cpp b/src/acc/cuda_hip/acc_stream.cpp index ff3c1bfdab9..d577233e4ea 100644 --- a/src/acc/cuda_hip/acc_stream.cpp +++ b/src/acc/cuda_hip/acc_stream.cpp @@ -51,7 +51,7 @@ extern "C" int c_dbcsr_acc_stream_create(void** stream_p, const char* name, int cErr = ACC(StreamCreate)(acc_stream); } - if (verbose_print) printf("StreamCreate : %p -> %p \n", *stream_p, *acc_stream); + if (verbose_print) printf("StreamCreate : %p -> %p \n", *stream_p, (const void*)*acc_stream); if (acc_error_check(cErr)) return -1; if (acc_error_check(ACC(GetLastError)())) return -1; diff --git a/src/core/dbcsr_lib.F b/src/core/dbcsr_lib.F index 5a0fd79b903..293be20e73d 100644 --- a/src/core/dbcsr_lib.F +++ b/src/core/dbcsr_lib.F @@ -220,7 +220,7 @@ SUBROUTINE dbcsr_init_lib_pre(mp_comm, io_unit, accdrv_active_device_id) ! Use round-robin assignment per rank CALL set_accdrv_active_device_id(MOD(mynode, dbcsr_acc_get_ndevices())) ELSE - DBCSR_ABORT("dbcsr_init_lib: No recongnized GPU devices") + DBCSR_ABORT("dbcsr_init_lib: No recognized GPU devices") END IF CALL acc_init() END IF From 54af50c1851b35f829e2aff4ce9a187525fa1adc Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 22 Apr 2024 21:18:20 +0200 Subject: [PATCH 17/74] ocl: demoted verbose messages to higher verbosity-level (#782) * Adjusted an internal setting (ZEX_NUMBER_OF_CCS). --- src/acc/opencl/acc_opencl.c | 2 +- src/acc/opencl/smm/opencl_libsmm.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 81643bbd4e3..acec156a413 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -295,7 +295,7 @@ int c_dbcsr_acc_init(void) { int j = strlen(zex_nccs); for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { const char* const istr = (0 < i ? ",%u:%i" : "%u:%i"); - const int n = LIBXSMM_SNPRINTF(zex_nccs + j, sizeof(zex_nccs) - j, istr, i, LIBXSMM_MAX(nccs, 1)); + const int n = LIBXSMM_SNPRINTF(zex_nccs + j, sizeof(zex_nccs) - j, istr, i, LIBXSMM_CLMP(nccs, 1, 0 != wa ? 2 : 4)); if (0 < n) j += n; else { j = 0; diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 217342084e5..ae84a28a80f 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -556,11 +556,11 @@ int libsmm_acc_init(void) { } } # if defined(OPENCL_KERNELS_DEVICES) - if (0 != c_dbcsr_acc_opencl_config.verbosity && 0 != ntuned) { + if (0 != ntuned && (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity)) { fprintf(stderr, "INFO ACC/LIBSMM: PARAMS in %u set%s loaded targeting ", ntuned, 1 != ntuned ? "s" : ""); if (0 != c_dbcsr_acc_opencl_config.devmatch) { fprintf(stderr, "%i device%s\n", ndevices_params, 1 != ndevices_params ? "s" : ""); - if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { + if (3 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { unsigned int i = 0; for (; i < (unsigned int)ndevices_params; ++i) { fprintf(stderr, "INFO ACC/LIBSMM: PARAMS -> \"%s\"\n", OPENCL_KERNELS_DEVICES[i]); From d607216cae1408067f543ce13a136c50e38653d3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:44:27 +0000 Subject: [PATCH 18/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.3.7 → v0.4.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.7...v0.4.1) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7a8f2456c86..b3570b47228 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.3.7' + rev: 'v0.4.1' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 16272578bb29542d20532c98fdf0094de86f3110 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 25 Apr 2024 16:47:23 +0200 Subject: [PATCH 19/74] ocl: several minor fixes * Avoid potential segfault during finalization (ACC_OPENCL_DEVICE != 0). * Avoid initializing private memory (aka registers) using curly braces. * Lock ACC_OPENCL_NCCS behind first WA-bit (ZEX_NUMBER_OF_CCS). * Improved error output (tune_multiply.py). * Fixed ACC_OPENCL_ACTIVATE. * Fixed comment. --- src/acc/opencl/acc_opencl.c | 16 ++--- src/acc/opencl/acc_opencl.h | 2 +- src/acc/opencl/acc_opencl_mem.c | 6 +- src/acc/opencl/acc_opencl_stream.c | 2 +- src/acc/opencl/smm/kernels/multiply.cl | 85 ++++++++++---------------- src/acc/opencl/smm/tune_multiply.py | 20 +++--- 6 files changed, 59 insertions(+), 72 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index acec156a413..cef01aa130c 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -164,7 +164,7 @@ LIBXSMM_ATTRIBUTE_DTOR void c_dbcsr_acc_opencl_finalize(void) { for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { const cl_device_id device_id = c_dbcsr_acc_opencl_config.devices[i]; if (NULL != device_id) { -# if defined(CL_VERSION_1_2) +# if defined(CL_VERSION_1_2) && 0 /* avoid potential segfault */ ACC_OPENCL_EXPECT(EXIT_SUCCESS == clReleaseDevice(device_id)); # endif /* c_dbcsr_acc_opencl_create_context scans for non-NULL devices */ @@ -229,7 +229,7 @@ int c_dbcsr_acc_init(void) { const int nccs = (NULL == env_nccs ? ACC_OPENCL_NCCS : atoi(env_nccs)); # endif const char *const env_neo = getenv("NEOReadDebugKeys"), *const env_wa = getenv("ACC_OPENCL_WA"); - const int neo = (NULL == env_neo ? 1 : atoi(env_neo)), wa = neo * (NULL == env_wa ? 3 : atoi(env_wa)); + const int neo = (NULL == env_neo ? 1 : atoi(env_neo)), wa = neo * (NULL == env_wa ? 7 : atoi(env_wa)); # if defined(ACC_OPENCL_ASYNC) const char* const env_async = (ACC_OPENCL_ASYNC); const int async_default = 3; @@ -290,12 +290,12 @@ int c_dbcsr_acc_init(void) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(ze_flat)); /* soft-error */ } # if defined(ACC_OPENCL_NCCS) - if (NULL == getenv("ZEX_NUMBER_OF_CCS") && 0 != nccs) { + if (NULL == getenv("ZEX_NUMBER_OF_CCS") && 0 != nccs && 0 == (1 & wa)) { static char zex_nccs[ACC_OPENCL_MAXNDEVS * 8 + 32] = "ZEX_NUMBER_OF_CCS="; int j = strlen(zex_nccs); for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { const char* const istr = (0 < i ? ",%u:%i" : "%u:%i"); - const int n = LIBXSMM_SNPRINTF(zex_nccs + j, sizeof(zex_nccs) - j, istr, i, LIBXSMM_CLMP(nccs, 1, 0 != wa ? 2 : 4)); + const int n = LIBXSMM_SNPRINTF(zex_nccs + j, sizeof(zex_nccs) - j, istr, i, LIBXSMM_CLMP(nccs, 1, 4)); if (0 < n) j += n; else { j = 0; @@ -306,14 +306,14 @@ int c_dbcsr_acc_init(void) { if (0 < j) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(zex_nccs)); /* soft-error */ } # endif - if (0 != wa) { /* environment is populated before touching the compute runtime */ + if (~1 & wa) { /* environment is populated before touching the compute runtime */ static char* key_value[] = { "NEOReadDebugKeys=1", "EnableRecoverablePageFaults=0", "DirectSubmissionOverrideBlitterSupport=0"}; if (NULL == env_neo) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[0])); - if (0 != (1 & wa) && NULL == getenv("EnableRecoverablePageFaults")) { + if ((2 & wa) && NULL == getenv("EnableRecoverablePageFaults")) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[1])); } - if (0 != (2 & wa) && NULL == getenv("DirectSubmissionOverrideBlitterSupport")) { + if ((4 & wa) && NULL == getenv("DirectSubmissionOverrideBlitterSupport")) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[2])); } } @@ -628,6 +628,8 @@ int c_dbcsr_acc_init(void) { else { result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, device_id); } +# else + c_dbcsr_acc_opencl_config.device.uid = (cl_uint)device_id; /* hack */ # endif if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { char platform_name[ACC_OPENCL_BUFFERSIZE]; diff --git a/src/acc/opencl/acc_opencl.h b/src/acc/opencl/acc_opencl.h index e93d8270e0b..da466199729 100644 --- a/src/acc/opencl/acc_opencl.h +++ b/src/acc/opencl/acc_opencl.h @@ -278,7 +278,7 @@ typedef struct c_dbcsr_acc_opencl_device_t { cl_device_id id; /** Whether host memory is unified. */ cl_int unified; - /** Device-ID. */ + /** Device-UID. */ cl_uint uid; /** Main vendor? */ cl_int intel, amd, nv; diff --git a/src/acc/opencl/acc_opencl_mem.c b/src/acc/opencl/acc_opencl_mem.c index 8f525fa1445..fece7545bfc 100644 --- a/src/acc/opencl/acc_opencl_mem.c +++ b/src/acc/opencl/acc_opencl_mem.c @@ -182,7 +182,8 @@ int c_dbcsr_acc_host_mem_allocate(void** host_mem, size_t nbytes, void* stream) assert(NULL != host_mem); # if !defined(ACC_OPENCL_ACTIVATE) if (NULL == c_dbcsr_acc_opencl_config.device.context) { - ACC_OPENCL_EXPECT(EXIT_SUCCESS == c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, 0 /*device_id*/)); + ACC_OPENCL_EXPECT( + EXIT_SUCCESS == c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, (int)c_dbcsr_acc_opencl_config.device.uid)); } # endif memory = clCreateBuffer(c_dbcsr_acc_opencl_config.device.context, CL_MEM_ALLOC_HOST_PTR, nbytes, NULL /*host_ptr*/, &result); @@ -307,7 +308,8 @@ int c_dbcsr_acc_dev_mem_allocate(void** dev_mem, size_t nbytes) { # endif # if !defined(ACC_OPENCL_ACTIVATE) if (NULL == context) { - ACC_OPENCL_EXPECT(EXIT_SUCCESS == c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, 0 /*device_id*/)); + ACC_OPENCL_EXPECT( + EXIT_SUCCESS == c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, (int)c_dbcsr_acc_opencl_config.device.uid)); context = c_dbcsr_acc_opencl_config.device.context; } # endif diff --git a/src/acc/opencl/acc_opencl_stream.c b/src/acc/opencl/acc_opencl_stream.c index 87d1077d263..4a90f0dc068 100644 --- a/src/acc/opencl/acc_opencl_stream.c +++ b/src/acc/opencl/acc_opencl_stream.c @@ -112,7 +112,7 @@ int c_dbcsr_acc_stream_create(void** stream_p, const char* name, int priority) { else # else { - result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, 0 /*device*/); + result = c_dbcsr_acc_opencl_set_active_device(NULL /*lock*/, (int)c_dbcsr_acc_opencl_config.device.uid); } if (NULL != c_dbcsr_acc_opencl_config.device.context) # endif diff --git a/src/acc/opencl/smm/kernels/multiply.cl b/src/acc/opencl/smm/kernels/multiply.cl index bf02cce2ade..d980eb94a4c 100644 --- a/src/acc/opencl/smm/kernels/multiply.cl +++ b/src/acc/opencl/smm/kernels/multiply.cl @@ -144,8 +144,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # if defined(SLM_C) local T cnm[SN][SM + SLM_C - 1]; /* tile in SLM */ for (SINT n = (SINT)idx; n < SN; n += SWG) { - UNROLL_FORCE(SM) - for (SINT m = 0; m < SM; ++m) cnm[n][m] = ZERO; + UNROLL_FORCE(SM) for (SINT m = 0; m < SM; ++m) cnm[n][m] = ZERO; } # elif (BM < SM || 1 != BN) # if (1 != BN) @@ -153,16 +152,13 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res for (SINT bn = 0; bn < BN; ++bn) # endif { - UNROLL_FORCE(BM) - for (SINT bm = 0; bm < BM; ++bm) CNM(bn, bm) = ZERO; + UNROLL_FORCE(BM) for (SINT bm = 0; bm < BM; ++bm) CNM(bn, bm) = ZERO; } # else - UNROLL_FORCE(SM) - for (SINT m = 0; m < SM; ++m) cnm[m] = ZERO; + UNROLL_FORCE(SM) for (SINT m = 0; m < SM; ++m) cnm[m] = ZERO; # endif # if defined(SLM_P) - UNROLL_FORCE(3 * BS) - for (int i = idx; i < (3 * batchsize); i += SWG) params[i] = pbase[i] - 1; + UNROLL_FORCE(3 * BS) for (int i = idx; i < (3 * batchsize); i += SWG) params[i] = pbase[i] - 1; # endif # if defined(BARRIER) && (MAX(1, SGS) < SWG) && (defined(SLM_C) || defined(SLM_P)) BARRIER(CLK_LOCAL_MEM_FENCE); @@ -200,8 +196,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res for (; m < SM; m += WRK) # endif { - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) amk[m][k] = ADX(m, k); + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) amk[m][k] = ADX(m, k); } } #endif @@ -213,8 +208,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res for (; n < SN; n += WRK) # endif { - UNROLL(SK) - for (SINT k = 0; k < SK; ++k) bnk[n][k] = BDX(k, n); + UNROLL(SK) for (SINT k = 0; k < SK; ++k) bnk[n][k] = BDX(k, n); } } #elif defined(REG_B) @@ -224,8 +218,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # else { /* copy or transpose B-matrix into registers */ # endif - UNROLL(SK) - for (SINT k = 0; k < SK; ++k) { + UNROLL(SK) for (SINT k = 0; k < SK; ++k) { # if (BM < SM || 1 != BN) SINT bn = 0; # if (1 != BN) @@ -256,7 +249,8 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res { /* calculate result-tile using general tiles */ # if defined(REG_A) && !defined(SLM_A) && (1 != BK) # if (1 == BS) - T cnm[BN] = {ZERO}; /* row */ + T cnm[BN]; /* row */ + UNROLL_FORCE(BN) for (SINT n = 0; n < BN; ++n) cnm[n] = ZERO; # endif UNROLL(BM) # if (SM % BM) @@ -266,8 +260,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # endif { /* general BK, A in registers */ SINT bn = 0; - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) amk[k] = ADX(m, k); + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) amk[k] = ADX(m, k); # if (1 != BN) UNROLL(BN) for (; bn < BN; ++bn) @@ -287,8 +280,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # else const int mc = bn, nc = idx; # endif - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) { + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) { CNM(nc, mc) = MAD(AMK(m, k), # if defined(REG_B) BNK(bn, k), @@ -318,16 +310,15 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res } # elif (1 == BK) # if (1 == BS) - T cnm[BM] = {ZERO}; /* column-block */ + T cnm[BM]; /* column-block */ + UNROLL_FORCE(BM) for (SINT m = 0; m < BM; ++m) cnm[m] = ZERO; # endif - UNROLL(SK) - for (SINT k = 0; k < SK; ++k) { + UNROLL(SK) for (SINT k = 0; k < SK; ++k) { # if (SN % BN) || !defined(REG_B) || (defined(SLM_C) && (1 < BS)) || (1 == BS) || (1 != BN) SINT bn = 0; # endif # if defined(REG_A) && !defined(SLM_A) - UNROLL_FORCE(BM) - for (SINT bm = 0; bm < BM; ++bm) amk[bm] = ADX(bm + m0, k); + UNROLL_FORCE(BM) for (SINT bm = 0; bm < BM; ++bm) amk[bm] = ADX(bm + m0, k); # endif # if (1 != BN) UNROLL(BN) @@ -365,8 +356,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # endif } # if (1 == BS) - UNROLL(BM) - for (SINT bm = 0; bm < BM; ++bm) { + UNROLL(BM) for (SINT bm = 0; bm < BM; ++bm) { # if defined(ATOMIC_INC_NZ) if (ZERO != CNM(idx, bm)) # endif @@ -394,7 +384,8 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # endif { /* general BK */ # if (1 == BS) - T cnm[BM] = {ZERO}; /* column-block */ + T cnm[BM]; /* column-block */ + UNROLL_FORCE(BM) for (SINT m = 0; m < BM; ++m) cnm[m] = ZERO; # endif UNROLL(BM) # if (SM % BM) @@ -421,12 +412,10 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # else const int nb = n; # endif - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) CNM(nc, mc) = MAD(AMK(m, k), BNK(nb, k), CNM(nc, mc)); + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) CNM(nc, mc) = MAD(AMK(m, k), BNK(nb, k), CNM(nc, mc)); } # if (1 == BS) - UNROLL(BM) - for (SINT bm = 0; bm < BM; ++bm) { + UNROLL(BM) for (SINT bm = 0; bm < BM; ++bm) { # if defined(ATOMIC_INC_NZ) if (ZERO != CNM(idx, bm)) # endif @@ -443,11 +432,11 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res #else /* BM == SM && 1 == BN */ { /* calculate result-tile using columns */ # if (1 == BS) - T cnm[UM] = {ZERO}; /* column-block */ + T cnm[UM]; /* column-block */ + UNROLL_FORCE(UM) for (SINT m = 0; m < UM; ++m) cnm[m] = ZERO; # endif # if (1 == BK) - UNROLL_OUTER(SK) - for (SINT k = 0; k < SK; ++k) { + UNROLL_OUTER(SK) for (SINT k = 0; k < SK; ++k) { const T b = BNK(idx, k); # if defined(SLM_A) # if (WRK != SM) @@ -456,8 +445,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res amk[idx] = ADX(idx, k); # endif # elif defined(REG_A) - UNROLL_FORCE(SM) - for (SINT m = 0; m < SM; ++m) amk[m] = ADX(m, k); + UNROLL_FORCE(SM) for (SINT m = 0; m < SM; ++m) amk[m] = ADX(m, k); # endif # if defined(BARRIER) && (MAX(1, SGS) < SWG) && defined(SLM_A) BARRIER(CLK_LOCAL_MEM_FENCE); @@ -465,8 +453,7 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # if defined(ACC_OPENCL_VERSION) && (200 /*2.0*/ <= ACC_OPENCL_VERSION) && (!defined(GPU) || (0 != GPU)) && !defined(SLM_A) && \ !defined(REG_A) && (WRK == SM) && (SM <= SGS || SM <= SWG) /* use ACC_OPENCL_VERSION rather than ACC_OPENCL_C_VERSION */ const T a = AMK(idx, k); - UNROLL_FORCE(SM) - for (SINT m = 0; m < SM; ++m) { + UNROLL_FORCE(SM) for (SINT m = 0; m < SM; ++m) { # if (SM <= SGS) CNM(idx, m) = MAD(sub_group_broadcast(a, m), b, CNM(idx, m)); /* size of subgroup is sufficient */ # else @@ -474,16 +461,14 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res # endif } # else - UNROLL_FORCE(SM) - for (SINT m = 0; m < SM; ++m) CNM(idx, m) = MAD(AMK(m, k), b, CNM(idx, m)); /* fallback */ + UNROLL_FORCE(SM) for (SINT m = 0; m < SM; ++m) CNM(idx, m) = MAD(AMK(m, k), b, CNM(idx, m)); /* fallback */ # endif # if defined(BARRIER) && (MAX(1, SGS) < SWG) && defined(SLM_A) BARRIER(CLK_LOCAL_MEM_FENCE); # endif } # if (1 == BS) - UNROLL(SM) - for (SINT m = 0; m < SM; ++m) { + UNROLL(SM) for (SINT m = 0; m < SM; ++m) { # if defined(ATOMIC_INC_NZ) if (ZERO != CNM(idx, m)) # endif @@ -512,13 +497,9 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res const int vm = u; # endif # if defined(REG_A) && !defined(SLM_A) - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) amk[k] = ADX(um, k); + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) amk[k] = ADX(um, k); # endif - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) { - CNM(idx, vm) = MAD(AMK(um, k), BNK(idx, k), CNM(idx, vm)); - } + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) { CNM(idx, vm) = MAD(AMK(um, k), BNK(idx, k), CNM(idx, vm)); } } # if (1 == BS) u = 0; @@ -550,13 +531,9 @@ FN(global T* restrict cdata, GLOBAL const T* restrict adata, GLOBAL const T* res const int vm = u; # endif # if defined(REG_A) && !defined(SLM_A) - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) amk[k] = ADX(um, k); + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) amk[k] = ADX(um, k); # endif - UNROLL_FORCE(SK) - for (SINT k = 0; k < SK; ++k) { - CNM(idx, vm) = MAD(AMK(um, k), BNK(idx, k), CNM(idx, vm)); - } + UNROLL_FORCE(SK) for (SINT k = 0; k < SK; ++k) { CNM(idx, vm) = MAD(AMK(um, k), BNK(idx, k), CNM(idx, vm)); } } # if (1 == BS) u = 0; diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 1593765afda..4aefbb255c1 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -77,7 +77,7 @@ def __init__(self, args): os.path.dirname(sys.argv[0]), "..", "..", self.exename ) self.run_result = ( # verbosity to capture device name and tuned parameters - self.launch(["ACC_OPENCL_VERBOSE=2", "CHECK=0"], nrep=1) + self.call_program(self.launch(["ACC_OPENCL_VERBOSE=2", "CHECK=0"], nrep=1)) if (self.args.merge is None or 0 > self.args.merge) and (self.args.update is None or "" == self.args.update) else None @@ -249,7 +249,7 @@ def launch(self, envs, nrep=None, verbose=None): self.size if self.size else self.args.size, " ".join(map(str, self.mnk)), ) - return self.call_program(env_exe_args) + return env_exe_args def seed_configurations(self): return [ @@ -290,17 +290,17 @@ def run(self, desired_result, input, limit): """Run a configuration and return performance""" config = desired_result.configuration.data cfgenv = self.environment(config) - self.run_result = self.launch( + runcmd = self.launch( cfgenv + ["CHECK={}".format(self.args.check)], verbose=self.args.verbose ) - if 0 == self.run_result["returncode"]: + self.run_result = self.call_program(runcmd) + returncode = self.run_result["returncode"] + if 0 == returncode: performance = re.search( "device:\\s+([0-9]+[^ ]*) ms\\s+([0-9]+[^ ]*)", str(self.run_result["stdout"]), ) else: - failed = " ".join(map(str, cfgenv)).replace("OPENCL_LIBSMM_SMM_", "") - print("FAILED: {}".format(failed)) performance = None if performance and performance.group(1) and performance.group(2): mseconds = float(performance.group(1)) @@ -317,6 +317,12 @@ def run(self, desired_result, input, limit): # gflops are reported as "accuracy" (console output) return Result(time=mseconds, accuracy=gflops, size=kernelreq) else: # return non-competitive/bad result in case of an error + failed = ( + " ".join(map(str, cfgenv)).replace("OPENCL_LIBSMM_SMM_", "") + if not self.args.verbose + else runcmd + ) + print("FAILED ({}): {}".format(returncode, failed), flush=True) return Result(time=float("inf"), accuracy=0.0, size=100.0) def update_jsons(self, filenames): @@ -498,7 +504,7 @@ def save_final_config(self, configuration, final=True): result = self.run_result["returncode"] if config and self.run_result else 1 envchk = os.getenv("CHECK") # conside CHECKing result unless CHECK=0 if 0 == result and 0 == self.args.check and (envchk is None or "0" != envchk): - self.run_result = self.launch(cfgenv + ["CHECK=1"]) + self.run_result = self.call_program(self.launch(cfgenv + ["CHECK=1"])) result = self.run_result["returncode"] if self.run_result else 1 # extend result for easier reuse if config: From 4a22a99685155740b465e18a40f99d0a38b29049 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 15:08:53 +0200 Subject: [PATCH 20/74] [pre-commit.ci] pre-commit autoupdate (#786) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.1 → v0.4.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.1...v0.4.2) - [github.com/psf/black: 24.4.0 → 24.4.2](https://github.com/psf/black/compare/24.4.0...24.4.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b3570b47228..8c683a1e5ac 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.1' + rev: 'v0.4.2' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] @@ -15,7 +15,7 @@ repos: .cp2k/.*| )$ - repo: https://github.com/psf/black - rev: 24.4.0 + rev: 24.4.2 hooks: - id: black name: Reformat Python files with the black code formatter From 317a3c48e6b381627ceea56bcfa015ceaec40c18 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 6 May 2024 17:49:07 +0000 Subject: [PATCH 21/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.2 → v0.4.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.2...v0.4.3) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8c683a1e5ac..2568096753a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.2' + rev: 'v0.4.3' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 954815d52a41a74d1320d95e4a0542ff5503c529 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 13 May 2024 09:52:14 +0200 Subject: [PATCH 22/74] ocl: make backend less verbose at termination (#789) ocl: make backend less verbose at termination * Made OpenCL common/shared code/definitions available. * Updated tuned parameters. --- src/acc/opencl/acc_opencl.c | 2 +- src/acc/opencl/common/opencl_common.h | 27 +- src/acc/opencl/smm/kernels/multiply.cl | 16 +- .../opencl/smm/params/tune_multiply_PVC.csv | 898 +++++++++--------- 4 files changed, 475 insertions(+), 468 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index cef01aa130c..24ac61dc502 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -679,7 +679,7 @@ int c_dbcsr_acc_finalize(void) { # endif assert(c_dbcsr_acc_opencl_config.ndevices < ACC_OPENCL_MAXNDEVS); if (0 != c_dbcsr_acc_opencl_config.ndevices && NULL != cleanup) { - if (0 != c_dbcsr_acc_opencl_config.verbosity) { + if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { int d; fprintf(stderr, "INFO ACC/OpenCL: pid=%u nthreads=%i", libxsmm_get_pid(), c_dbcsr_acc_opencl_config.nthreads); if (NULL != c_dbcsr_acc_opencl_config.device.context && diff --git a/src/acc/opencl/common/opencl_common.h b/src/acc/opencl/common/opencl_common.h index 8fa27d612c0..e19b099955b 100644 --- a/src/acc/opencl/common/opencl_common.h +++ b/src/acc/opencl/common/opencl_common.h @@ -24,16 +24,6 @@ # define UNROLL_AUTO #endif -#if !defined(MIN) -# define MIN(A, B) ((A) < (B) ? (A) : (B)) -#endif -#if !defined(MAX) -# define MAX(A, B) ((A) < (B) ? (B) : (A)) -#endif -#if !defined(MAD) -# define MAD fma -#endif - #if !defined(LU) || (-1 == LU) # define UNROLL_OUTER(N) # define UNROLL(N) @@ -48,4 +38,21 @@ # define UNROLL(N) UNROLL_FORCE(N) #endif +#if !defined(MIN) +# define MIN(A, B) ((A) < (B) ? (A) : (B)) +#endif +#if !defined(MAX) +# define MAX(A, B) ((A) < (B) ? (B) : (A)) +#endif +#if !defined(MAD) +# define MAD fma +#endif + +#define DIVUP(A, B) (((A) + (B) - 1) / (B)) +#define NUP(N, UP) (DIVUP(N, UP) * (UP)) +#define BLR(N, BN) (NUP(N, BN) - (N)) + +#define IDX(I, J, M, N) ((int)(I) * (N) + (J)) +#define IDT(I, J, M, N) IDX(J, I, N, M) + #endif /*OPENCL_COMMON_H*/ diff --git a/src/acc/opencl/smm/kernels/multiply.cl b/src/acc/opencl/smm/kernels/multiply.cl index d980eb94a4c..cb4562a5db3 100644 --- a/src/acc/opencl/smm/kernels/multiply.cl +++ b/src/acc/opencl/smm/kernels/multiply.cl @@ -9,13 +9,13 @@ #include "../../common/opencl_atomics.h" #if !defined(AL) || (SM != SN) || (SM != BM) || (SN != SK) || (1 == BS) -# define ADX(M, K) adata[SM * K + M + a0] /* transposed */ -# define BDX(K, N) bdata[SN * K + N + b0] /* linear */ -# define CDX(M, N) cdata[SM * N + M + c0] /* transposed */ +# define ADX(M, K) adata[IDT(M, K, SM, SK) + a0] /* transposed */ +# define BDX(K, N) bdata[IDX(K, N, SK, SN) + b0] /* linear */ +# define CDX(M, N) cdata[IDT(M, N, SM, SN) + c0] /* transposed */ #else -# define ADX(M, K) adata[SK * M + K + a0] /* linear */ -# define BDX(K, N) bdata[SK * N + K + b0] /* transposed */ -# define CDX(M, N) cdata[SN * M + N + c0] /* linear */ +# define ADX(M, K) adata[IDX(M, K, SM, SK) + a0] /* linear */ +# define BDX(K, N) bdata[IDT(K, N, SK, SN) + b0] /* transposed */ +# define CDX(M, N) cdata[IDX(M, N, SM, SN) + c0] /* linear */ #endif #if defined(SLM_A) @@ -63,8 +63,8 @@ # define REPEAT 1 #endif -#define NBM ((SM + BM - 1) / BM) -#define NBN ((SN + BN - 1) / BN) +#define NBM DIVUP(SM, BM) +#define NBN DIVUP(SN, BN) #define WRK (NBM * NBN) #define UM (SM / BK) diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index e0c11d4557f..e663046da6c 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -1,41 +1,41 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;8;2;1;1;1;-1;0;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;1;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;2;1;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;3;1;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;4;1;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;4;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;4;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;2;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;3;1;1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;2;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;13;30000;0;8;4;1;1;1;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;13;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;17;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;25;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;26;30000;0;8;4;1;1;5;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;28;30000;0;8;4;1;1;5;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;28;30000;0;8;4;1;1;5;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;32;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;5;30000;0;10;4;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;2;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;2;1;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;28;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;32;30000;0;8;4;1;1;7;-1;-1;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;4;1;-1;1;0;0;0;1;0;2;0;0;0 @@ -47,112 +47,112 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;28;30000;0;8;4;1;1;9;-1;-1;0;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;32;30000;0;8;4;1;1;9;-1;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;45;30000;0;4;4;1;1;9;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;4;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;9;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;4;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;3;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;13;4;1;4;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;1;1;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;17;30000;0;8;4;1;1;1;-1;-2;1;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;25;30000;0;8;4;1;1;13;-1;0;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;26;30000;0;8;4;1;1;13;-2;-1;0;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;28;30000;0;8;4;1;1;13;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;28;30000;0;8;4;1;1;13;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;32;30000;0;8;4;1;1;1;-2;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;45;30000;0;4;4;1;1;13;-1;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;4;30000;0;13;4;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;10;30000;0;10;4;1;1;15;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;4;30000;0;14;4;1;3;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;10;30000;0;10;4;1;4;15;0;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;15;30000;0;8;4;1;1;15;-1;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;4;30000;0;14;4;1;3;1;1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;13;30000;0;10;4;1;1;1;0;5;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;4;30000;0;14;4;1;2;1;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;3;1;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;13;30000;0;8;4;1;1;1;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;17;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;32;30000;0;8;4;1;1;1;1;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;14;4;1;4;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;5;30000;0;14;4;1;4;1;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;14;4;1;2;25;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;9;30000;0;8;4;1;1;25;-2;0;1;0;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;14;4;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;9;30000;0;10;4;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;13;30000;0;8;4;1;1;25;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;25;30000;0;8;4;1;1;25;-2;0;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;26;30000;0;8;4;1;1;25;-2;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;28;30000;0;8;4;1;1;25;-1;0;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;28;30000;0;8;4;1;1;25;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;32;30000;0;8;4;1;1;25;1;-2;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;45;30000;0;8;4;1;1;25;-1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;4;30000;0;14;4;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;4;30000;0;16;4;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;5;30000;0;15;4;1;2;26;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;7;30000;0;14;4;1;4;26;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;9;30000;0;10;4;1;3;26;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;7;30000;0;14;4;1;1;26;0;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;9;30000;0;10;4;1;3;26;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;13;30000;0;8;4;1;1;26;1;0;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;25;30000;0;8;4;1;1;26;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;25;30000;0;8;4;1;1;26;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;26;30000;0;8;4;1;1;26;-2;-1;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;28;30000;0;8;4;1;1;26;0;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;32;30000;0;8;4;1;1;26;-2;-1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;45;30000;0;8;4;1;1;26;0;0;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;14;4;1;2;1;-2;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;14;4;1;2;28;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;14;4;1;4;28;1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;9;30000;0;14;4;1;2;28;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;14;4;1;4;28;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;14;4;1;3;28;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;9;30000;0;14;4;1;3;28;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;13;30000;0;8;4;1;1;28;0;-2;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;25;30000;0;8;4;1;1;28;0;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;26;30000;0;8;4;1;1;28;0;-1;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;28;30000;0;8;4;1;1;28;0;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;32;30000;0;8;4;1;1;28;1;-2;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;45;30000;0;8;4;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;4;30000;0;17;4;1;2;1;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;5;30000;0;16;4;1;3;1;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;7;30000;0;15;4;1;2;32;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;9;30000;0;15;4;1;2;32;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;13;30000;0;8;4;1;1;1;-1;0;1;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;4;30000;0;16;4;1;3;1;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;5;30000;0;16;4;1;2;1;0;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;7;30000;0;15;4;1;2;32;0;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;9;30000;0;15;4;1;4;32;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;13;30000;0;15;4;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;17;30000;0;8;4;1;1;1;-2;0;0;1;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;25;30000;0;8;4;1;1;32;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;26;30000;0;8;4;1;1;32;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;28;30000;0;8;4;1;1;32;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;32;30000;0;8;4;1;1;1;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;45;30000;0;4;4;1;1;32;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;4;30000;0;15;4;1;2;45;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;5;30000;0;15;4;1;2;45;0;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;7;30000;0;15;4;1;4;45;-1;2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;9;30000;0;15;4;1;4;45;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;13;30000;0;6;4;1;1;45;1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;4;30000;0;15;4;1;1;45;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;5;30000;0;15;4;1;2;45;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;7;30000;0;15;4;1;2;45;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;9;30000;0;15;4;1;3;45;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;13;30000;0;6;4;1;1;45;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;25;30000;0;4;4;1;1;45;-1;6;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;26;30000;0;4;4;1;1;45;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;28;30000;0;4;4;1;1;45;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;32;30000;0;4;4;1;1;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;45;30000;0;3;4;1;1;45;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;4;30000;0;12;5;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;5;30000;0;13;5;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;7;30000;0;10;5;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;9;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;13;30000;0;8;5;1;1;1;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;17;30000;0;8;5;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;25;30000;0;8;5;1;1;1;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;26;30000;0;8;5;1;1;5;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;28;30000;0;8;5;1;1;5;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;4;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;5;30000;0;12;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;7;30000;0;8;5;1;1;1;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;9;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;13;30000;0;8;5;1;1;1;0;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;17;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;25;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;26;30000;0;8;5;1;1;5;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;28;30000;0;8;5;1;1;5;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;12;5;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;7;30000;0;10;5;1;1;1;-1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;11;5;1;1;1;-2;5;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;13;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;16;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;17;30000;0;8;5;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;16;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;17;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;24;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;28;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;4;30000;0;12;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;9;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;14;5;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;13;5;1;1;1;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;13;5;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;13;5;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;13;30000;0;10;5;1;1;1;1;0;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;16;30000;0;8;5;1;1;1;-2;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;17;30000;0;8;5;1;1;1;-1;-1;1;1;0;1;1;0;0;0;0 @@ -161,7 +161,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;26;30000;0;8;5;1;1;1;-1;3;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;32;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;45;30000;0;8;5;1;1;13;-1;0;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;14;28;30000;0;8;5;1;1;14;-2;-2;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;13;30000;0;14;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;15;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 @@ -172,15 +172,15 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;13;30000;0;8;5;1;1;1;-2;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;32;30000;0;8;5;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;5;30000;0;16;5;1;1;1;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;13;30000;0;15;5;1;1;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;14;5;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;13;30000;0;15;5;1;1;1;0;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;15;5;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;24;30000;0;18;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;26;30000;0;15;5;1;1;24;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;32;30000;0;8;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;16;5;1;1;1;0;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;5;30000;0;18;5;1;1;25;1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;7;30000;0;14;5;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;9;30000;0;14;5;1;1;25;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;18;5;1;1;1;0;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;5;30000;0;18;5;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;7;30000;0;15;5;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;9;30000;0;14;5;1;1;25;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;13;30000;0;8;5;1;1;25;0;-1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;25;30000;0;8;5;1;1;25;0;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;26;30000;0;8;5;1;1;25;-2;-2;0;0;0;1;1;2;0;0;0 @@ -188,33 +188,33 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;28;30000;0;8;5;1;1;25;-1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;32;30000;0;8;5;1;1;25;-1;-2;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;45;30000;0;8;5;1;1;25;-1;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;4;30000;0;18;5;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;5;30000;0;18;5;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;7;30000;0;15;5;1;1;26;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;9;30000;0;14;5;1;1;26;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;5;30000;0;18;5;1;1;1;0;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;7;30000;0;14;5;1;1;26;0;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;9;30000;0;14;5;1;1;26;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;13;30000;0;8;5;1;1;1;1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;16;30000;0;8;5;1;1;1;-2;-1;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;24;30000;0;8;5;1;1;26;-1;-2;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;24;30000;0;8;5;1;1;26;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;25;30000;0;8;5;1;1;26;-2;-1;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;26;30000;0;8;5;1;1;26;-1;-2;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;28;30000;0;8;5;1;1;26;0;-2;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;32;30000;0;8;5;1;1;26;-1;0;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;45;30000;0;8;5;1;1;26;-2;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;4;30000;0;15;5;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;4;30000;0;16;5;1;1;28;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;5;30000;0;18;5;1;1;28;0;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;7;30000;0;15;5;1;1;28;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;9;30000;0;14;5;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;9;30000;0;15;5;1;1;28;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;13;30000;0;14;5;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;14;30000;0;14;5;1;1;28;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;14;30000;0;10;5;1;1;28;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;25;30000;0;8;5;1;1;28;-1;0;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;26;30000;0;8;5;1;1;28;0;-2;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;28;30000;0;8;5;1;1;28;-2;0;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;32;30000;0;8;5;1;1;28;-2;-2;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;45;30000;0;8;5;1;1;28;1;-2;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;18;5;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;18;5;1;1;1;0;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;18;5;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;18;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;7;30000;0;15;5;1;1;32;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;9;30000;0;15;5;1;1;32;0;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;18;5;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;18;5;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;24;30000;0;8;5;1;1;32;-1;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;25;30000;0;8;5;1;1;32;-1;2;0;1;0;1;0;2;0;0;0 @@ -223,9 +223,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;28;30000;0;8;5;1;1;32;-1;-1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;32;30000;0;8;5;1;1;1;-1;0;0;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;45;30000;0;8;5;1;1;32;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;4;30000;0;17;5;1;3;45;-1;-2;1;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;5;30000;0;17;5;1;2;45;1;2;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;5;30000;0;15;5;1;5;45;0;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;7;30000;0;15;5;1;2;45;0;3;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;9;30000;0;15;5;1;5;45;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;9;30000;0;15;5;1;4;45;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;13;30000;0;8;5;1;3;45;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;25;30000;0;5;5;1;1;45;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;26;30000;0;6;5;1;1;45;-2;-1;0;0;0;1;0;2;0;0;0 @@ -233,146 +233,146 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;28;30000;0;5;5;1;1;45;-1;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;32;30000;0;4;5;1;1;45;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;45;30000;0;9;5;1;1;45;-2;-1;0;0;0;1;1;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;6;30000;0;9;6;1;3;1;-2;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;6;30000;0;14;6;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;8;30000;0;11;6;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;10;6;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;6;30000;0;14;6;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;10;6;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;8;30000;0;11;6;1;1;1;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;6;30000;0;16;6;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;7;30000;0;13;6;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;8;30000;0;13;6;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;14;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;16;7;1;3;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;13;7;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;13;7;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;7;30000;0;13;6;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;8;30000;0;13;6;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;14;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;14;7;1;3;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;11;7;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;10;7;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;32;30000;0;8;7;1;1;7;1;0;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;45;30000;0;8;7;1;1;7;1;0;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;4;30000;0;14;7;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;4;30000;0;14;7;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;5;30000;0;16;7;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;7;30000;0;13;7;1;1;1;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;11;7;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;11;7;1;1;1;0;0;0;1;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;7;30000;0;10;7;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;14;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;8;7;1;1;1;-2;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;25;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;26;30000;0;8;7;1;1;7;1;0;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;28;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;32;30000;0;8;7;1;1;7;-1;0;1;1;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;45;30000;0;8;7;1;1;7;-2;0;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;13;7;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;13;7;1;1;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;7;30000;0;13;7;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;8;30000;0;10;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;16;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;16;7;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;7;30000;0;9;7;1;2;1;1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;10;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;8;7;1;1;7;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;10;7;1;1;7;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;26;30000;0;10;7;1;1;7;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;28;30000;0;8;7;1;1;7;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;28;30000;0;8;7;1;1;7;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;32;30000;0;8;7;1;1;7;-1;0;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;45;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;6;30000;0;14;7;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;7;30000;0;14;7;1;1;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;8;30000;0;13;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;4;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;5;30000;0;18;7;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;5;30000;0;16;7;1;4;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;7;30000;0;17;7;1;1;1;-1;0;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;9;30000;0;14;7;1;1;9;0;2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;13;30000;0;9;7;1;1;9;-1;-2;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;25;30000;0;11;7;1;7;9;-1;-1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;26;30000;0;13;7;1;6;9;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;9;30000;0;14;7;1;1;9;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;13;30000;0;10;7;1;5;9;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;25;30000;0;11;7;1;2;9;-1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;26;30000;0;11;7;1;6;9;1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;28;30000;0;8;7;1;1;9;-1;-2;1;0;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;32;30000;0;8;7;1;1;9;-1;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;45;30000;0;8;7;1;1;9;1;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;4;30000;0;17;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;5;30000;0;17;7;1;3;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;4;30000;0;17;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;5;30000;0;16;7;1;5;1;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;7;30000;0;14;7;1;1;1;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;13;30000;0;10;7;1;3;1;-2;0;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;13;30000;0;18;7;1;4;32;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;25;30000;0;14;7;1;1;32;1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;14;7;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;28;30000;0;15;7;1;1;32;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;13;30000;0;15;7;1;3;32;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;25;30000;0;15;7;1;1;32;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;15;7;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;28;30000;0;15;7;1;1;32;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;32;30000;0;8;7;1;1;32;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;45;30000;0;15;7;1;1;32;1;0;1;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;42;7;1;4;45;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;43;7;1;6;45;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;45;30000;0;15;7;1;1;32;1;1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;42;7;1;5;45;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;43;7;1;7;45;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;7;30000;0;41;7;1;1;45;0;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;36;7;1;4;45;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;41;7;1;1;45;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;13;30000;0;15;7;1;1;45;-1;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;25;30000;0;41;7;1;1;45;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;26;30000;0;10;7;1;1;45;0;-2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;10;7;1;1;45;0;-1;0;0;0;1;0;0;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;8;7;1;1;45;1;-1;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;32;30000;0;8;7;1;1;45;-2;0;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;45;30000;0;9;7;1;1;45;1;0;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;16;8;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;16;8;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;7;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;8;30000;0;10;8;1;8;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;8;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;7;1;-2;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;9;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;14;9;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;10;9;1;6;1;-1;-2;0;1;0;1;0;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-2;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;10;9;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-2;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;32;30000;0;8;9;1;1;9;-1;0;0;1;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;45;30000;0;8;9;1;1;9;-1;0;0;0;0;1;1;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;4;30000;0;16;9;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;7;30000;0;16;9;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;9;30000;0;11;9;1;1;1;-1;-1;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;26;30000;0;8;9;1;3;9;-1;1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;28;30000;0;8;9;1;1;9;-1;0;0;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;45;30000;0;8;9;1;1;9;-1;0;0;1;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;16;9;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;7;30000;0;14;9;1;1;1;-2;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;8;9;1;7;9;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;10;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;12;9;1;1;9;-2;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;25;30000;0;8;9;1;1;9;-1;-2;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;26;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;28;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;45;30000;0;8;9;1;1;9;-1;-2;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;4;30000;0;18;9;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;5;30000;0;16;9;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;7;30000;0;17;9;1;1;9;-1;-1;1;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;5;30000;0;16;9;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;7;30000;0;16;9;1;1;9;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;9;30000;0;8;9;1;2;1;-1;1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;13;30000;0;15;9;1;1;9;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;16;30000;0;14;9;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;22;30000;0;8;9;1;3;1;-1;-1;0;1;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;25;30000;0;10;9;1;1;9;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;26;30000;0;10;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;16;30000;0;14;9;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;22;30000;0;10;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;25;30000;0;10;9;1;1;9;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;26;30000;0;10;9;1;1;9;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;28;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;32;30000;0;8;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;32;30000;0;8;9;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;45;30000;0;8;9;1;1;9;-1;-2;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;4;30000;0;25;9;1;1;1;-1;-1;1;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;18;9;1;1;13;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;13;9;1;9;13;-2;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-2;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;14;9;1;4;13;-1;-1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;25;30000;0;8;9;1;1;13;-2;0;1;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;17;9;1;1;13;0;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;16;9;1;4;13;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-2;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;12;9;1;2;13;-1;-2;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;25;30000;0;13;9;1;8;13;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;26;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;28;30000;0;8;9;1;1;13;-1;-2;1;0;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;32;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;45;30000;0;8;9;1;1;13;-2;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;9;30000;0;18;9;1;9;1;-2;-1;1;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;16;30000;0;15;9;1;1;1;-2;0;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;22;30000;0;17;9;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;16;30000;0;15;9;1;2;1;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;22;30000;0;17;9;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;9;30000;0;16;9;1;8;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;16;30000;0;9;9;1;9;1;0;-1;1;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;22;30000;0;8;9;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 @@ -380,126 +380,126 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;32;30000;0;8;9;1;1;1;-2;-1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;4;30000;0;24;9;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;5;30000;0;24;9;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;7;30000;0;21;9;1;1;25;1;0;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;9;30000;0;15;9;1;7;25;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;13;30000;0;14;9;1;5;25;0;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;25;30000;0;8;9;1;9;25;-2;1;1;0;1;1;1;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;9;30000;0;15;9;1;8;25;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;13;30000;0;14;9;1;3;25;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;25;30000;0;8;9;1;1;25;0;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;26;30000;0;8;9;1;1;25;0;-2;1;0;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;28;30000;0;8;9;1;1;25;-2;-1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;32;30000;0;8;9;1;1;25;-2;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;45;30000;0;15;9;1;1;25;1;0;1;1;1;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;4;30000;0;28;9;1;1;26;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;5;30000;0;28;9;1;1;26;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;7;30000;0;18;9;1;1;26;1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;9;30000;0;18;9;1;7;26;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;13;30000;0;17;9;1;1;26;-1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;5;30000;0;25;9;1;1;26;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;7;30000;0;18;9;1;1;26;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;9;30000;0;18;9;1;9;26;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;13;30000;0;15;9;1;2;26;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;25;30000;0;8;9;1;1;26;-1;1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;26;30000;0;8;9;1;1;26;-2;0;1;1;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;28;30000;0;8;9;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;28;30000;0;10;9;1;1;26;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;32;30000;0;8;9;1;1;26;-2;-2;1;0;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;45;30000;0;15;9;1;1;26;0;0;1;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;4;30000;0;35;9;1;1;28;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;5;30000;0;25;9;1;1;28;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;5;30000;0;25;9;1;1;28;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;7;30000;0;23;9;1;1;28;-1;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;9;30000;0;18;9;1;6;28;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;13;30000;0;15;9;1;4;28;0;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;9;30000;0;18;9;1;8;28;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;13;30000;0;15;9;1;2;28;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;25;30000;0;8;9;1;1;28;0;0;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;26;30000;0;10;9;1;1;28;-2;0;0;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;28;30000;0;12;9;1;1;28;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;32;30000;0;15;9;1;1;28;-1;-2;0;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;45;30000;0;15;9;1;1;28;-2;0;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;39;9;1;1;32;1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;38;9;1;1;32;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;18;9;1;3;32;-1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;9;30000;0;25;9;1;2;1;-2;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;13;30000;0;16;9;1;4;32;0;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;22;30000;0;15;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;38;9;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;18;9;1;1;32;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;9;30000;0;25;9;1;4;1;1;0;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;13;30000;0;15;9;1;8;32;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;22;30000;0;15;9;1;1;1;-2;0;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;25;30000;0;8;9;1;1;32;1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;26;30000;0;8;9;1;1;32;0;1;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;28;30000;0;15;9;1;1;32;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;28;30000;0;15;9;1;1;32;-1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;32;30000;0;15;9;1;1;1;-2;0;1;0;0;1;1;0;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;32;30000;0;10;9;1;1;45;1;0;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;45;30000;0;9;9;1;1;45;1;-2;1;1;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;4;30000;0;16;10;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;4;30000;0;16;10;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;10;30000;0;12;10;1;1;1;-1;-2;0;0;1;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;15;30000;0;8;10;1;1;10;-1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;4;30000;0;16;10;1;4;1;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;15;30000;0;8;10;1;1;10;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;4;30000;0;16;10;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;10;30000;0;8;10;1;2;1;-1;-2;0;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;18;10;1;1;10;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;7;15;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;11;10;1;8;15;-2;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;4;15;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;13;10;1;9;15;-2;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;12;12;12;30000;0;8;12;1;12;12;-2;-1;1;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;4;30000;0;16;13;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;16;13;1;4;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;7;30000;0;13;13;1;8;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;9;30000;0;13;13;1;13;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;13;30000;0;8;13;1;6;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;4;30000;0;16;13;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;13;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;7;30000;0;13;13;1;7;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;9;30000;0;10;13;1;9;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;13;30000;0;8;13;1;6;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;17;30000;0;8;13;1;13;1;-1;-1;0;0;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;25;30000;0;8;13;1;1;13;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;26;30000;0;8;13;1;1;13;-1;-1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;28;30000;0;8;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;32;30000;0;8;13;1;11;1;-2;0;0;1;1;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;26;30000;0;8;13;1;1;13;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;28;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;32;30000;0;8;13;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;45;30000;0;8;13;1;1;13;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;4;30000;0;16;13;1;1;1;-2;0;0;0;1;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;4;30000;0;16;13;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;5;30000;0;16;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;7;30000;0;13;13;1;10;1;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;9;30000;0;12;13;1;4;13;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;13;30000;0;8;13;1;6;1;-1;-2;0;1;0;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;16;30000;0;8;13;1;10;1;-2;-1;1;1;1;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;7;30000;0;13;13;1;11;1;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;9;30000;0;13;13;1;3;13;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;13;30000;0;8;13;1;3;1;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;16;30000;0;8;13;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;17;30000;0;8;13;1;7;1;-2;-2;0;1;0;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;24;30000;0;9;13;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;25;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;24;30000;0;8;13;1;1;1;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;25;30000;0;8;13;1;1;13;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;26;30000;0;8;13;1;10;1;-1;-2;0;0;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;28;30000;0;8;13;1;1;13;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;28;30000;0;8;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;32;30000;0;8;13;1;1;1;-2;0;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;7;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;9;1;-2;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;11;13;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;4;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;12;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;5;13;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;13;30000;0;9;13;1;6;1;-1;-1;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;26;30000;0;8;13;1;1;13;-2;-2;1;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;28;30000;0;8;13;1;1;13;-1;-1;0;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;32;30000;0;10;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;32;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;45;30000;0;8;13;1;1;13;1;-2;0;0;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;16;13;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;5;30000;0;16;13;1;7;13;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;14;13;1;11;13;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;16;13;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;5;30000;0;16;13;1;10;13;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;16;13;1;11;13;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;9;30000;0;13;13;1;2;13;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;10;13;1;5;13;1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;10;13;1;5;13;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;32;30000;0;8;13;1;1;13;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;45;30000;0;8;13;1;1;13;0;-2;0;1;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;27;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;7;30000;0;22;13;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;9;30000;0;24;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;13;30000;0;8;13;1;4;1;-1;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;14;30000;0;18;13;1;1;13;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;18;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;18;13;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;24;30000;0;14;13;1;1;13;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;25;30000;0;8;13;1;1;13;-1;0;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;18;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;14;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;28;30000;0;8;13;1;1;13;-1;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;32;30000;0;8;13;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;45;30000;0;8;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;13;30000;0;13;13;1;12;14;-2;0;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;14;30000;0;14;13;1;1;14;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;14;30000;0;15;13;1;1;14;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;25;30000;0;8;13;1;1;14;-2;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;26;30000;0;9;13;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;32;30000;0;8;13;1;1;14;-2;-2;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;16;5;30000;0;20;13;1;9;1;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;4;30000;0;19;13;1;11;1;-1;-1;1;1;0;1;1;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;4;30000;0;18;13;1;10;1;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;5;30000;0;19;13;1;10;1;0;-1;1;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;13;30000;0;9;13;1;9;1;1;-1;1;1;0;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;17;30000;0;8;13;1;1;1;-2;1;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;32;30000;0;8;13;1;1;1;1;-2;1;0;0;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;5;30000;0;22;13;1;5;1;1;-1;1;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;12;13;1;8;24;-2;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;13;13;1;10;24;-1;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;24;30000;0;8;13;1;1;24;1;1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;1;0;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;16;13;1;1;24;1;0;1;0;1;1;0;2;0;0;1 @@ -508,52 +508,52 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;5;30000;0;22;13;1;3;25;0;-1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;11;25;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;4;25;-2;6;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;13;30000;0;8;13;1;7;25;-2;-1;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;1;25;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;1;25;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;10;8;1;3;25;1;3;0;1;1;1;0;1;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;26;30000;0;15;13;1;1;25;1;-2;1;1;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;28;30000;0;15;8;1;1;25;-1;2;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;32;30000;0;5;8;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;45;30000;0;15;13;1;1;25;0;-2;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;4;30000;0;15;8;1;12;26;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;4;30000;0;15;8;1;8;26;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;5;30000;0;23;13;1;13;1;0;-2;1;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;7;30000;0;21;13;1;13;26;0;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;9;30000;0;15;13;1;13;26;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;13;30000;0;8;13;1;13;26;0;0;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;14;30000;0;8;13;1;11;26;-2;-2;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;24;30000;0;15;13;1;1;26;-1;-2;0;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;7;30000;0;20;13;1;12;26;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;9;30000;0;15;13;1;5;26;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;13;30000;0;13;13;1;13;26;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;14;30000;0;11;13;1;4;26;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;24;30000;0;15;13;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;25;30000;0;15;13;1;1;26;-1;0;1;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;26;30000;0;15;13;1;1;26;-1;0;0;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;28;30000;0;16;13;1;1;26;-2;-2;0;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;32;30000;0;15;13;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;45;30000;0;15;13;1;1;26;1;-2;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;4;30000;0;27;13;1;4;28;-1;-1;1;0;0;1;1;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;5;30000;0;24;13;1;13;28;1;0;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;21;13;1;5;28;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;9;30000;0;16;13;1;11;28;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;5;30000;0;17;13;1;9;28;0;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;24;13;1;11;28;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;9;30000;0;16;13;1;10;28;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;13;30000;0;13;13;1;12;28;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;25;30000;0;16;13;1;1;28;1;0;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;26;30000;0;16;13;1;1;28;-1;-2;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;28;30000;0;15;13;1;1;28;-1;-2;0;1;0;1;1;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;1;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;-2;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;45;30000;0;15;13;1;1;28;-1;-2;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;23;13;1;4;1;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;24;13;1;9;1;0;-1;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;3;32;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;25;13;1;2;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;25;13;1;11;1;0;-2;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;13;32;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;9;30000;0;16;13;1;7;32;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;13;30000;0;13;13;1;2;1;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;13;13;1;7;32;-2;1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;13;30000;0;13;13;1;3;1;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;13;13;1;12;32;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;17;30000;0;8;13;1;1;1;-1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;24;30000;0;16;13;1;1;32;-2;-2;1;1;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;-1;0;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;16;13;1;1;32;-1;-2;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-2;-2;1;1;0;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;26;13;1;1;45;-2;1;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;28;8;1;4;45;0;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;37;13;1;9;45;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;6;45;1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;3;45;0;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;25;13;1;11;45;0;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;27;8;1;5;45;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;37;13;1;6;45;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;13;45;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;3;45;-2;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;25;30000;0;17;8;1;9;45;0;1;1;0;1;1;0;1;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;26;30000;0;30;13;1;1;45;-1;-2;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;28;30000;0;10;8;1;6;45;-1;-1;0;1;0;1;0;1;2;1;1 @@ -565,19 +565,19 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;14;30000;0;8;14;1;1;14;-1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;25;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;26;30000;0;8;14;1;1;14;-1;-1;0;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;32;30000;0;8;14;1;1;14;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;13;30000;0;18;14;1;1;14;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;13;30000;0;25;14;1;1;14;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;14;30000;0;8;14;1;5;14;-1;-1;0;1;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;16;30000;0;24;14;1;1;14;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;25;30000;0;24;14;1;1;14;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;12;14;1;1;14;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;25;30000;0;24;14;1;1;14;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;18;14;1;1;14;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;28;30000;0;8;14;1;1;14;-2;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;29;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;32;30000;0;12;14;1;1;14;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;17;14;1;3;16;-2;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;17;14;1;8;16;1;-2;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;16;30000;0;17;14;1;4;16;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;29;30000;0;8;14;1;1;16;-2;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;13;30000;0;8;14;1;1;25;1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;14;30000;0;11;14;1;13;25;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;14;30000;0;11;14;1;3;25;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;25;30000;0;15;14;1;1;25;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;26;30000;0;15;8;1;1;25;1;3;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;32;30000;0;10;14;1;1;25;-1;1;1;0;1;1;0;2;0;0;0 @@ -586,39 +586,39 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;14;30000;0;11;14;1;8;26;1;-2; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;25;30000;0;8;14;1;1;26;0;1;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;26;30000;0;8;14;1;1;26;-2;1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;32;30000;0;8;14;1;1;26;-2;1;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;5;30000;0;25;14;1;7;28;-2;-2;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;14;30000;0;11;14;1;10;28;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;5;30000;0;25;14;1;13;28;-1;-2;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;14;30000;0;13;14;1;7;28;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;28;30000;0;15;14;1;1;28;-1;0;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;13;14;1;10;29;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;13;14;1;12;29;1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;16;30000;0;9;14;1;9;29;1;1;0;1;0;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;29;30000;0;13;14;1;1;29;1;1;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;32;30000;0;16;14;1;1;29;1;-1;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;14;14;1;13;32;1;0;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;13;14;1;2;32;-2;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;13;14;1;9;32;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;13;14;1;5;32;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;25;30000;0;8;14;1;1;32;-2;1;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;26;30000;0;8;14;1;1;32;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;29;30000;0;16;14;1;1;32;1;-2;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;32;30000;0;16;14;1;1;32;0;-1;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;10;30000;0;10;15;1;6;15;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;15;30000;0;8;15;1;1;15;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;15;30000;0;8;15;1;1;15;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;4;30000;0;17;15;1;1;15;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;10;30000;0;12;15;1;4;15;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;15;30000;0;10;15;1;1;15;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;10;30000;0;13;15;1;6;15;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;15;30000;0;10;15;1;1;15;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;4;30000;0;28;15;1;1;15;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;24;15;1;1;15;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;24;15;1;1;15;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;15;30000;0;8;15;1;8;1;-1;-2;0;1;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;13;8;1;16;1;-1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;13;8;1;5;1;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;7;1;-2;-1;0;1;0;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;4;1;-1;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;26;30000;0;8;16;1;14;1;-1;-2;1;1;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;18;16;1;16;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;18;16;1;15;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;16;16;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;16;30000;0;8;16;1;1;1;-1;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;22;30000;0;8;16;1;1;1;-1;0;0;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;13;5;30000;0;23;16;1;12;1;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;13;16;1;1;16;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;12;16;1;1;16;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;16;30000;0;12;16;1;1;16;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;29;30000;0;10;16;1;1;16;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;35;16;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 @@ -626,126 +626,126 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;9;30000;0;25;16;1;1;1;-1;-2;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;25;16;1;1;16;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;16;30000;0;8;16;1;3;1;-2;1;0;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;22;30000;0;21;16;1;1;1;-2;0;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;29;30000;0;10;16;1;1;16;-1;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;29;30000;0;25;16;1;1;16;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;55;30000;0;8;16;1;1;16;-2;0;1;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;9;30000;0;21;16;1;9;1;-2;-1;1;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;16;30000;0;8;16;1;1;1;-1;1;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;22;30000;0;8;16;1;1;1;0;1;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;24;5;30000;0;18;16;1;9;1;0;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;20;16;1;2;1;0;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;13;29;1;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;10;29;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;24;5;30000;0;18;16;1;5;1;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;20;16;1;15;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;12;29;0;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;1;29;1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;29;30000;0;16;16;1;1;29;1;0;1;0;1;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;-1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;16;30000;0;32;16;1;1;55;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;29;30000;0;30;16;1;1;55;-1;0;1;0;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;55;30000;0;15;16;1;1;55;1;1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;9;17;0;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;9;17;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;4;30000;0;14;17;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;5;30000;0;14;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;13;30000;0;9;17;1;1;1;-2;0;0;1;1;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;13;30000;0;8;17;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;32;30000;0;8;17;1;1;1;-1;-2;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;4;30000;0;16;17;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;16;17;1;10;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;4;30000;0;16;17;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;14;17;1;12;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;13;30000;0;8;17;1;4;1;-1;-2;0;1;1;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;17;30000;0;8;17;1;2;1;-2;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;32;30000;0;8;17;1;1;1;-1;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;4;30000;0;19;17;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;5;30000;0;22;17;1;3;1;-2;1;1;0;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;13;30000;0;15;17;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;13;30000;0;15;17;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;17;30000;0;14;17;1;1;1;-2;-2;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;32;30000;0;8;17;1;1;1;-1;0;1;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;4;30000;0;18;17;1;3;1;-1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;5;30000;0;14;17;1;13;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;5;30000;0;14;17;1;17;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;13;30000;0;8;17;1;1;1;0;1;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;17;30000;0;8;17;1;4;1;-1;-1;0;1;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;32;30000;0;17;17;1;1;1;0;-2;1;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;35;30000;0;15;17;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;25;17;1;14;1;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;25;17;1;7;1;-2;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;5;30000;0;28;17;1;8;1;-2;1;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;13;30000;0;11;17;1;1;0;-2;1;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;17;30000;0;27;17;1;1;1;-1;0;0;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;32;30000;0;15;17;1;1;1;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;35;30000;0;15;17;1;1;1;1;0;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;30;17;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;31;17;1;1;1;1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;32;30000;0;30;17;1;1;1;1;-2;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;35;30000;0;30;17;1;1;1;0;-2;1;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;20;20;20;30000;0;8;20;1;1;1;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;9;30000;0;14;22;1;1;1;-1;-1;1;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;16;30000;0;8;22;1;1;1;-1;-2;1;1;0;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;16;30000;0;10;22;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;22;30000;0;8;22;1;1;1;-1;0;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;9;32;30000;0;8;22;1;1;1;-1;-2;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;9;30000;0;22;22;1;1;1;-1;-2;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;16;30000;0;15;22;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;16;30000;0;18;22;1;11;1;-2;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;22;30000;0;8;22;1;1;1;-2;-2;1;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;9;30000;0;13;22;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;16;30000;0;8;22;1;1;1;-2;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;22;30000;0;15;22;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;32;30000;0;15;22;1;1;1;-2;1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;9;30000;0;25;22;1;1;1;0;0;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;9;30000;0;25;22;1;1;1;-1;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;22;30000;0;17;22;1;1;1;-2;0;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;32;30000;0;16;22;1;1;1;-1;-1;1;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;23;23;23;30000;0;15;23;1;1;1;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;5;30000;0;17;8;1;21;1;-1;0;1;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;10;8;1;19;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;10;8;1;6;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;16;30000;0;8;8;1;7;1;-1;4;1;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;24;30000;0;8;8;1;1;24;0;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;26;30000;0;6;8;1;19;24;0;0;0;0;0;1;0;0;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;32;30000;0;4;24;1;1;24;-1;3;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;5;30000;0;20;24;1;6;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;32;30000;0;8;8;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;5;30000;0;20;24;1;2;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;13;30000;0;15;8;1;13;24;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;24;30000;0;6;8;1;1;24;-1;4;1;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;26;30000;0;17;24;1;1;24;-1;-1;0;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;32;30000;0;9;8;1;1;24;1;-2;1;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;7;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;5;30000;0;32;8;1;18;24;-1;3;1;1;1;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;2;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;5;30000;0;28;8;1;22;24;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;13;24;1;3;24;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;24;30000;0;15;24;1;1;1;-2;-1;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;26;30000;0;16;24;1;1;1;0;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;32;30000;0;15;24;1;1;1;-1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;5;30000;0;28;8;1;15;26;0;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;13;30000;0;28;8;1;18;26;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;13;30000;0;27;8;1;8;26;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;24;30000;0;10;8;1;12;1;-1;0;0;1;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;26;30000;0;16;24;1;1;26;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;32;30000;0;15;24;1;1;1;0;-1;1;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;5;30000;0;39;8;1;17;32;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;5;30000;0;39;8;1;24;32;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;13;30000;0;27;8;1;10;32;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;24;30000;0;17;24;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;26;30000;0;18;8;1;7;32;1;-1;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;32;30000;0;15;24;1;1;1;-1;-1;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;16;25;1;1;1;-2;-1;0;1;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;16;8;1;15;1;-1;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;13;25;1;1;1;1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;13;8;1;13;1;-1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;7;30000;0;9;8;1;24;25;-1;3;1;0;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;2;25;-1;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;12;25;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;6;25;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;9;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;10;8;1;13;25;-2;0;0;1;1;1;0;2;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;1;25;1;0;0;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;28;30000;0;8;8;1;1;25;1;1;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;32;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;45;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;16;25;1;9;1;-1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;13;25;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;5;30000;0;10;8;1;25;25;1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;8;8;1;3;25;1;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;8;8;1;10;25;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;8;8;1;23;25;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;8;8;1;16;25;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;13;30000;0;8;8;1;1;25;-2;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;25;30000;0;4;8;1;14;25;-1;0;0;0;1;1;0;2;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;26;30000;0;8;8;1;1;25;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;28;30000;0;8;8;1;1;25;-1;3;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;11;8;1;5;25;0;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;14;8;1;16;25;-1;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;11;8;1;22;25;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;8;8;1;15;25;-2;3;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;11;8;1;22;25;1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;14;8;1;20;25;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;13;8;1;22;25;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;10;8;1;14;25;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;8;8;1;23;25;1;3;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;1;6;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;8;8;1;16;25;-2;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;8;8;1;15;25;1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;25;30000;0;10;8;1;4;25;-1;1;0;0;1;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;11;8;1;4;25;-1;2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;13;8;1;15;25;-2;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;8;8;1;1;25;0;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;6;25;-1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;15;25;-1;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;10;25;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;11;16;1;16;25;0;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;11;8;1;18;25;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;8;8;1;1;25;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;13;25;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;3;25;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;23;25;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;7;30000;0;15;8;1;3;25;0;-1;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;9;30000;0;15;8;1;19;25;-2;3;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;10;8;1;14;25;1;5;1;1;1;1;0;0;2;0;0 @@ -754,108 +754,108 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;26;30000;0;3;8;1;1;25;-1;4;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;28;30000;0;3;8;1;1;25;-2;0;1;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;32;30000;0;8;16;1;1;25;-1;2;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;45;30000;0;3;8;1;1;25;-1;0;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;4;30000;0;15;8;1;8;25;-2;5;1;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;6;25;-2;0;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;4;30000;0;15;8;1;18;25;0;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;13;25;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;7;30000;0;15;8;1;14;25;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;9;30000;0;15;8;1;4;25;-2;1;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;8;25;1;10;25;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;1;25;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;8;25;1;7;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;25;30000;0;5;8;1;1;25;1;4;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;26;30000;0;16;8;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;32;30000;0;8;8;1;1;25;-2;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;45;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;45;30000;0;15;25;1;1;25;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;13;30000;0;8;25;1;10;25;1;1;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;11;25;1;12;25;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;8;25;1;17;25;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;26;30000;0;15;25;1;1;25;0;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;15;25;1;1;25;-1;-2;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;15;25;1;1;25;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;4;30000;0;30;8;1;17;25;0;3;0;1;0;1;1;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;5;30000;0;30;8;1;21;25;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;7;30000;0;30;8;1;15;25;-2;0;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;9;30000;0;30;8;1;20;25;1;3;0;1;1;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;9;30000;0;15;8;1;21;25;0;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;13;30000;0;15;25;1;1;25;0;-1;0;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;14;30000;0;24;25;1;1;25;-2;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;25;30000;0;16;25;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;14;30000;0;24;25;1;1;25;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;25;30000;0;15;25;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;26;30000;0;15;25;1;1;25;-1;-1;0;1;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-2;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;25;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;2;26;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;7;26;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;14;30000;0;17;25;1;1;26;1;-1;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;25;30000;0;15;25;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;26;30000;0;15;25;1;1;26;-1;-1;1;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;28;30000;0;30;16;1;22;26;0;2;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;32;30000;0;15;25;1;1;26;0;1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;32;30000;0;15;25;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;45;30000;0;8;25;1;1;26;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;4;30000;0;30;8;1;17;28;-1;6;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;19;16;1;24;28;0;2;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;19;16;1;24;28;0;1;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;7;30000;0;30;8;1;23;28;-2;3;1;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;9;30000;0;8;25;1;1;28;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;13;30000;0;15;25;1;1;28;-1;-1;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;25;30000;0;15;25;1;1;28;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;25;30000;0;15;25;1;1;28;-2;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;26;30000;0;16;25;1;1;28;-2;-1;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;28;30000;0;16;25;1;1;28;0;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;32;30000;0;15;25;1;1;28;0;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;32;30000;0;15;25;1;1;28;-1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;45;30000;0;15;25;1;1;28;1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;4;30000;0;30;8;1;8;32;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;31;8;1;5;32;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;30;8;1;22;32;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;30;8;1;3;32;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;30;8;1;20;32;-1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;9;30000;0;30;8;1;12;32;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;13;30000;0;15;16;1;2;32;1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;15;8;1;5;32;1;2;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;15;16;1;22;32;1;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;25;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;26;30000;0;8;25;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;28;30000;0;8;25;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;32;30000;0;4;25;1;1;32;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;45;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;22;8;1;21;45;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;23;8;1;25;45;1;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;28;25;1;10;45;1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;22;8;1;6;45;-2;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;23;8;1;6;45;1;3;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;27;16;1;4;45;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;9;30000;0;17;25;1;9;45;0;1;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;13;30000;0;31;25;1;1;45;-2;-1;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;25;30000;0;30;25;1;1;45;-1;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;10;16;1;15;45;1;1;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;10;16;1;19;45;-1;-1;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;10;16;1;9;45;0;0;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;10;16;1;9;45;0;-1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;32;30000;0;15;25;1;1;45;1;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;45;30000;0;30;25;1;1;45;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;45;30000;0;30;25;1;1;45;1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;4;30000;0;16;26;1;6;1;-1;-2;1;0;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;5;30000;0;10;8;1;19;26;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;5;30000;0;10;8;1;26;26;0;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;7;30000;0;9;26;1;3;26;0;4;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;9;30000;0;8;26;1;22;26;0;0;0;0;0;1;1;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;13;30000;0;8;26;1;5;26;0;3;0;0;1;1;0;2;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;13;30000;0;8;8;1;1;26;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;25;30000;0;8;26;1;1;26;-2;4;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;26;30000;0;4;26;1;16;26;-2;3;1;1;0;1;1;2;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;28;30000;0;8;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;13;8;1;19;26;1;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;45;30000;0;8;26;1;1;26;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;14;8;1;7;26;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;14;8;1;14;26;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;5;30000;0;13;26;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;24;26;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;16;26;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;9;30000;0;8;26;1;20;26;0;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;13;30000;0;15;26;1;16;0;-1;0;0;0;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;16;30000;0;8;8;1;16;1;0;3;0;1;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;8;26;1;21;26;1;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;8;16;1;24;26;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;25;30000;0;4;26;1;1;26;1;-2;0;1;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;26;30000;0;8;8;1;1;26;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;19;26;1;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;15;26;1;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;11;26;-2;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;12;8;1;23;26;1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;13;26;1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;19;26;0;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;14;26;-2;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;12;8;1;24;26;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;10;8;1;24;26;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;8;8;1;18;26;-2;1;0;1;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;22;26;-1;3;1;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;5;26;-2;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;1;26;1;20;26;1;3;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;1;26;1;22;26;0;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;26;30000;0;4;8;1;1;26;0;4;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;28;30000;0;8;26;1;1;26;0;3;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;25;26;-1;3;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;45;30000;0;8;16;1;1;26;-1;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;6;26;-1;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;2;26;-1;5;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;10;8;1;21;26;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;7;30000;0;15;8;1;10;26;0;3;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;9;30000;0;15;8;1;19;26;1;-2;0;0;0;1;0;1;2;0;0 @@ -866,9 +866,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;28;30000;0;13;8;1;26;26;1;2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;32;30000;0;8;26;1;1;26;0;1;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;45;30000;0;15;26;1;1;26;0;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;4;30000;0;15;8;1;25;26;-1;6;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;20;26;1;7;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;20;26;1;10;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;7;30000;0;15;8;1;26;26;0;5;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;9;30000;0;15;8;1;25;26;1;4;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;9;30000;0;15;8;1;26;26;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;9;26;1;4;26;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;14;30000;0;8;26;1;12;26;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;24;30000;0;16;8;1;1;26;0;0;0;1;1;1;0;2;0;0;0 @@ -881,132 +881,132 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;1;26;-2;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;14;30000;0;8;26;1;6;26;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;26;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;-1;-2;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;24;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;10;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;7;26;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;13;30000;0;17;26;1;1;26;0;-1;1;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;24;30000;0;12;8;1;1;1;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;26;30000;0;15;26;1;1;1;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;32;30000;0;12;8;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;4;30000;0;30;8;1;6;26;0;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;32;8;1;26;26;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;31;8;1;23;26;-1;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;11;26;1;10;26;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;30;8;1;26;26;0;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;30;8;1;17;26;0;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;11;26;1;9;26;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;13;30000;0;15;26;1;1;26;0;-1;1;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;14;30000;0;32;8;1;5;26;1;1;0;0;1;1;0;1;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;14;30000;0;15;16;1;6;26;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;25;30000;0;15;8;1;1;26;1;2;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;26;30000;0;5;8;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;8;1;9;26;0;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;16;1;14;26;0;2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;32;30000;0;3;8;1;1;26;1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;20;16;1;12;26;-1;3;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;59;8;1;17;26;1;3;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;4;30000;0;30;8;1;22;26;0;3;0;1;1;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;3;26;0;5;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;30;8;1;21;26;0;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;3;26;0;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;30;8;1;14;26;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;9;30000;0;20;26;1;1;26;-2;1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;13;30000;0;15;8;1;23;26;0;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;14;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;24;30000;0;15;26;1;1;1;-1;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;25;30000;0;16;26;1;1;26;-2;-1;1;0;1;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;16;26;1;1;1;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;25;30000;0;15;26;1;1;26;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;15;26;1;1;1;-1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;28;30000;0;15;26;1;1;26;-2;-1;1;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;45;30000;0;8;26;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;4;30000;0;30;8;1;3;28;-2;-1;1;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;12;28;-1;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;16;1;12;28;-1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;16;28;0;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;16;1;9;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;16;8;1;3;28;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;18;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;-2;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;0;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;26;30000;0;16;26;1;1;28;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;28;30000;0;30;16;1;7;28;-2;1;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;1;-2;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;31;8;1;11;32;-2;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;26;32;-2;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;26;32;1;-1;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;8;32;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;23;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;9;30000;0;30;8;1;12;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;8;32;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;24;30000;0;30;8;1;1;1;-1;-1;1;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;25;30000;0;8;26;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;5;16;1;18;32;-2;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;28;30000;0;4;8;1;1;32;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;22;8;1;18;45;-1;5;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;23;8;1;16;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;23;26;1;11;45;1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;27;16;1;14;45;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;15;26;1;15;45;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;27;16;1;18;45;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;15;26;1;18;45;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;-1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;26;30000;0;5;26;1;1;45;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;28;30000;0;1;26;1;19;45;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;9;8;1;24;45;-2;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;45;30000;0;5;26;1;1;45;1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;1;1;-1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;17;28;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;7;1;-2;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;26;28;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;7;30000;0;9;8;1;6;28;0;4;0;0;1;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;11;28;0;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;-1;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;1;8;1;28;28;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;1;8;1;10;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;15;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;16;1;23;28;-2;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;1;28;1;6;28;0;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;13;28;1;11;28;1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;16;28;1;27;28;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;8;8;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;15;8;1;8;28;0;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;25;28;1;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;10;8;1;22;28;0;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;10;8;1;15;28;0;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;1;28;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;11;28;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;8;8;1;1;28;-2;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;1;8;1;20;28;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;8;8;1;1;28;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;8;28;1;18;28;0;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;4;8;1;21;28;-2;4;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;13;8;1;27;28;-1;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;13;8;1;15;28;0;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;17;8;1;9;28;-2;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;14;8;1;23;28;-2;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;8;8;1;1;28;-1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;12;8;1;16;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;11;28;1;18;28;0;-2;0;0;1;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;22;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;15;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;9;30000;0;8;28;1;5;28;-2;4;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;13;30000;0;8;28;1;8;28;1;-1;1;0;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;4;8;1;14;28;-2;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;11;8;1;2;28;1;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;26;30000;0;21;28;1;7;28;-1;4;0;0;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;11;16;1;28;28;0;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;14;8;1;16;28;-2;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;3;28;1;7;28;0;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;11;28;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;23;28;-2;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;15;28;1;28;28;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;13;16;1;26;28;1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;14;8;1;28;28;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;6;8;1;8;28;0;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;14;28;-2;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;14;28;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;15;8;1;4;28;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;9;30000;0;9;28;1;23;28;-1;0;0;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;13;30000;0;9;28;1;4;28;1;-1;0;0;1;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;25;30000;0;15;28;1;1;28;0;4;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;26;30000;0;5;28;1;1;28;-2;4;0;0;1;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;5;28;1;8;28;1;0;1;1;0;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;8;1;14;28;1;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;26;30000;0;11;16;1;18;28;1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;11;16;1;28;28;0;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;16;1;13;28;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;45;30000;0;8;28;1;1;28;-2;2;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;28;1;9;28;0;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;17;28;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;8;1;12;28;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;8;28;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;7;30000;0;15;8;1;19;28;1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;15;28;1;25;28;-1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;28;1;1;28;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;6;16;1;23;28;-1;2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;18;8;1;18;28;0;2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;8;8;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;4;8;1;17;28;-2;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;15;8;1;7;28;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;8;1;1;28;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;17;16;1;23;28;-1;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;17;16;1;18;28;1;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;15;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;15;8;1;1;28;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;5;16;1;23;28;-2;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;34;16;1;16;28;-2;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;15;28;-2;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;16;28;1;7;28;0;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;30;8;1;22;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;14;28;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;30;16;1;19;28;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;9;30000;0;16;16;1;9;28;1;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;10;28;1;28;28;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;10;28;1;28;28;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;25;30000;0;9;28;1;1;28;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;15;28;1;1;28;-1;6;0;1;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;30;8;1;1;28;0;5;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;28;30000;0;8;28;1;1;28;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;32;30000;0;10;8;1;1;28;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;4;30000;0;30;8;1;10;28;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;3;28;-2;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;4;30000;0;30;8;1;10;28;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;4;28;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;7;30000;0;30;8;1;23;28;1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;9;30000;0;18;16;1;25;28;-2;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;9;30000;0;16;16;1;24;28;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;13;30000;0;20;28;1;12;28;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;25;30000;0;8;28;1;1;28;0;1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;26;30000;0;15;16;1;1;28;1;1;0;0;0;1;0;2;0;0;0 @@ -1014,17 +1014,17 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;28;30000;0;8;28;1;1;28;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;32;30000;0;8;28;1;1;28;-2;1;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;45;30000;0;15;28;1;1;28;1;1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;4;30000;0;30;8;1;21;28;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;15;28;1;11;28;-1;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;7;30000;0;30;8;1;7;28;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;30;16;1;23;28;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;7;30000;0;30;8;1;11;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;9;30000;0;30;8;1;24;28;-1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;15;28;1;10;28;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;20;28;1;10;28;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;14;30000;0;15;28;1;1;28;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;25;30000;0;16;28;1;1;28;-1;1;0;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;26;30000;0;16;28;1;1;28;-2;-1;1;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;28;30000;0;15;16;1;25;1;1;0;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;32;30000;0;9;28;1;1;28;-2;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;4;30000;0;30;8;1;14;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;4;30000;0;30;8;1;18;32;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;30;8;1;27;32;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;7;30000;0;30;8;1;8;32;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;9;30000;0;18;28;1;8;32;0;1;0;0;0;1;0;2;2;0;0 @@ -1041,18 +1041,18 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;9;30000;0;27;8;1;6;45;-2;3;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;13;30000;0;15;28;1;6;45;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;25;30000;0;7;8;1;1;45;1;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;26;30000;0;4;8;1;1;45;1;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;0;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;32;30000;0;15;28;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;3;8;1;2;45;-1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;17;29;1;20;29;-2;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;8;16;1;24;29;0;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;16;1;1;29;0;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;15;8;1;10;29;1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;16;8;1;23;29;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;8;1;1;29;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;29;30000;0;15;8;1;1;29;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;5;8;1;2;45;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;17;16;1;13;29;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;17;16;1;15;29;-1;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;8;1;1;29;-2;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;15;8;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;17;8;1;16;29;0;3;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;8;1;1;29;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;29;30000;0;15;8;1;1;29;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;55;30000;0;8;16;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;14;30000;0;15;16;1;16;29;-1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;14;30000;0;15;16;1;7;29;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;16;30000;0;13;29;1;1;29;-2;1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;29;30000;0;8;29;1;1;29;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;32;30000;0;10;8;1;1;29;1;4;1;0;1;1;1;2;0;0;0 @@ -1070,26 +1070,26 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;76;30000;0;8;30;1;1;30;-1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;76;30;30000;0;27;8;1;1;76;-1;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;76;76;30000;0;4;16;1;1;76;1;2;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;4;30000;0;19;8;1;25;1;-2;-2;1;0;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;5;30000;0;18;8;1;20;1;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;7;30000;0;13;8;1;32;32;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;5;30000;0;18;8;1;25;1;1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;7;30000;0;13;8;1;29;32;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;9;30000;0;10;8;1;2;32;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;13;30000;0;15;8;1;19;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;17;30000;0;8;8;1;12;1;-2;5;1;0;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;9;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;8;8;1;1;32;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;26;30000;0;8;8;1;1;32;-1;6;0;1;1;1;1;0;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;28;30000;0;8;8;1;1;32;-1;-1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;32;30000;0;8;32;1;1;1;-1;-2;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;45;30000;0;8;8;1;1;32;-1;4;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;4;30000;0;15;8;1;18;1;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;4;30000;0;16;8;1;27;1;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;5;30000;0;15;8;1;8;1;0;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;15;8;1;31;32;0;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;15;8;1;16;32;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;9;30000;0;8;8;1;30;32;1;-1;0;0;0;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;13;30000;0;8;32;1;26;1;-2;-2;0;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;17;30000;0;8;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;24;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;8;16;1;1;32;1;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;8;8;1;1;32;0;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;8;8;1;1;32;-1;-1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;28;30000;0;4;8;1;22;32;-1;5;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;28;30000;0;8;8;1;1;32;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;32;30000;0;8;32;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;45;30000;0;4;8;1;1;32;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;4;30000;0;18;8;1;14;32;-2;4;0;0;0;1;0;2;2;0;0 @@ -1099,8 +1099,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;9;30000;0;10;8;1;30;32;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;13;30000;0;8;8;1;9;32;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;25;30000;0;8;8;1;1;32;1;4;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;26;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;8;8;1;1;32;1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;9;8;1;1;32;-2;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;8;8;1;1;32;0;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;45;30000;0;8;8;1;1;32;1;1;1;0;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;4;30000;0;17;8;1;19;32;1;5;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;5;30000;0;15;8;1;20;32;-1;4;1;1;0;1;0;2;2;0;0 @@ -1119,39 +1119,39 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;7;30000;0;17;8;1;3;32;0;6;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;9;30000;0;15;8;1;16;32;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;13;30000;0;13;32;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;14;30000;0;15;32;1;18;32;-1;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;17;30000;0;12;32;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;24;30000;0;15;16;1;24;32;-1;4;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;17;30000;0;15;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;24;30000;0;30;8;1;3;32;-1;0;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;25;30000;0;15;8;1;1;32;-2;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;26;30000;0;30;16;1;3;32;-1;4;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;28;30000;0;18;16;1;5;32;-2;4;1;1;0;1;0;0;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;26;30000;0;30;8;1;7;32;-1;-2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;28;30000;0;30;8;1;22;32;0;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;32;30000;0;8;32;1;1;1;-2;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;45;30000;0;5;8;1;1;32;-1;1;0;0;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;13;30000;0;15;32;1;28;32;-2;6;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;14;30000;0;21;32;1;7;32;1;-2;0;1;0;1;0;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;14;30000;0;15;8;1;14;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;25;30000;0;15;32;1;1;32;-1;4;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;26;30000;0;15;32;1;1;32;-2;4;1;1;1;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;29;30000;0;8;8;1;1;32;-1;6;1;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;29;30000;0;8;8;1;1;32;-2;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;32;30000;0;8;16;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;30;8;1;17;1;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;30;8;1;21;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;5;30000;0;29;8;1;31;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;12;8;1;25;1;0;0;0;1;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;27;8;1;31;1;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;17;30000;0;15;32;1;1;1;-1;1;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;12;8;1;1;1;-2;1;1;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;29;8;1;9;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;27;8;1;8;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;22;30000;0;12;8;1;1;1;1;4;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;17;8;1;1;1;1;1;1;0;0;1;1;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;38;8;1;31;32;1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;27;32;1;14;32;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;30;8;1;27;32;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;27;8;1;14;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;24;30000;0;12;8;1;1;32;-2;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;26;30000;0;12;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;13;8;1;1;1;-1;0;0;0;0;1;1;2;2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;31;8;1;9;32;-1;4;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;42;8;1;13;32;-2;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;30;8;1;22;32;0;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;7;30000;0;30;32;1;24;32;1;4;0;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;30;8;1;13;32;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;13;30000;0;30;32;1;12;32;-2;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;17;32;0;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;10;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;26;30000;0;15;32;1;1;32;1;1;1;1;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;28;30000;0;6;16;1;1;32;-1;4;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;32;30000;0;12;8;1;1;32;1;0;1;0;1;1;0;1;0;0;1 @@ -1160,29 +1160,29 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;4;30000;0;30;32;1;25;32;1;4;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;5;30000;0;31;32;1;24;32;1;4;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;7;30000;0;30;32;1;11;32;1;4;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;32;8;1;19;32;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;30;8;1;8;32;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;9;32;1;7;32;0;-1;0;0;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;24;30000;0;10;8;1;1;1;0;0;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;25;30000;0;10;32;1;1;32;-1;4;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;11;1;-2;4;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;15;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;30;16;1;1;32;-1;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;15;8;1;1;1;-1;-2;1;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;45;30000;0;20;8;1;1;32;-1;5;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;4;30000;0;42;8;1;28;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;5;30000;0;42;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;7;30000;0;30;8;1;5;32;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;18;32;1;4;32;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;13;30000;0;30;8;1;2;32;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;13;30000;0;30;8;1;5;32;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;59;8;1;1;32;-2;4;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;31;32;0;-2;0;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;1;32;0;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;32;30000;0;20;8;1;1;32;-2;-2;1;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;45;30000;0;20;8;1;1;32;1;-2;0;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;31;16;1;30;32;1;3;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;20;8;1;1;32;-1;1;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;30;16;1;6;32;0;3;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;30;16;1;1;32;1;-2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;32;30000;0;20;8;1;1;32;-2;0;1;1;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;55;30000;0;59;8;1;1;32;-1;4;0;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;4;30000;0;30;16;1;27;1;-2;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;4;30000;0;41;8;1;1;1;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;5;30000;0;30;8;1;13;1;1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;7;30000;0;30;8;1;14;32;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;9;30000;0;30;8;1;8;1;1;1;0;0;0;1;0;1;2;0;0 @@ -1198,20 +1198,20 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;29;30000;0;8;32;1;1;32;-2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;32;30000;0;8;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;45;30000;0;10;32;1;1;32;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;55;30000;0;10;32;1;1;32;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;4;30000;0;31;32;1;17;45;-2;5;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;5;30000;0;29;8;1;2;45;0;5;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;4;30000;0;61;8;1;8;45;1;4;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;5;30000;0;61;8;1;14;45;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;7;30000;0;28;32;1;2;45;-1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;60;8;1;14;45;0;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;13;30000;0;28;32;1;22;45;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;60;8;1;12;45;0;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;13;30000;0;28;8;1;5;45;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;25;30000;0;16;8;1;1;45;-1;5;0;0;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;28;45;1;-2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;28;30000;0;12;8;1;1;45;1;5;1;1;0;1;1;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;16;8;1;17;45;0;-2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;17;8;1;1;45;1;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;45;30000;0;12;8;1;1;45;-2;-2;0;0;1;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;12;16;1;19;55;-2;2;0;0;0;1;1;0;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;20;16;1;1;55;1;1;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;59;16;1;1;55;0;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;8;8;1;1;55;-2;0;1;0;0;1;1;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;12;8;1;21;1;-2;4;1;0;1;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;12;8;1;1;1;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;32;30000;0;10;8;1;3;1;0;0;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;32;35;30000;0;11;8;1;33;35;-1;5;1;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;35;32;30000;0;9;8;1;21;35;0;0;0;0;0;1;0;0;2;1;1 From fcff710632b67933b09de7bc5efafc5aa5a12a50 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 12:59:42 +0200 Subject: [PATCH 23/74] [pre-commit.ci] pre-commit autoupdate (#790) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [pre-commit.ci] pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.3 → v0.4.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.3...v0.4.4) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- examples/dbcsr_example_3.cpp | 4 ++-- tests/dbcsr_test.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2568096753a..faccf75d4de 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.3' + rev: 'v0.4.4' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] diff --git a/examples/dbcsr_example_3.cpp b/examples/dbcsr_example_3.cpp index a59c4d23adc..a49a169ff4d 100644 --- a/examples/dbcsr_example_3.cpp +++ b/examples/dbcsr_example_3.cpp @@ -53,8 +53,8 @@ int main(int argc, char* argv[]) { for (int i = 0; i != mpi_size; ++i) { if (mpi_rank == i) { - std::cout << "I'm processor " << mpi_rank << " over " << mpi_size << " proc" << ", (" << coord[0] << ", " << coord[1] - << ") in the 2D grid" << std::endl; + std::cout << "I'm processor " << mpi_rank << " over " << mpi_size << " proc" + << ", (" << coord[0] << ", " << coord[1] << ") in the 2D grid" << std::endl; } MPI_Barrier(MPI_COMM_WORLD); } diff --git a/tests/dbcsr_test.cpp b/tests/dbcsr_test.cpp index b7865101440..e7fa02bb0d4 100644 --- a/tests/dbcsr_test.cpp +++ b/tests/dbcsr_test.cpp @@ -51,8 +51,8 @@ int main(int argc, char* argv[]) { for (int i = 0; i != mpi_size; ++i) { if (mpi_rank == i) { - std::cout << "I'm processor " << mpi_rank << " over " << mpi_size << " proc" << ", (" << coord[0] << ", " << coord[1] - << ") in the 2D grid" << std::endl; + std::cout << "I'm processor " << mpi_rank << " over " << mpi_size << " proc" + << ", (" << coord[0] << ", " << coord[1] << ") in the 2D grid" << std::endl; } MPI_Barrier(MPI_COMM_WORLD); } From 1904f2a33e691c9e808c790c97c81b344920dd6a Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Tue, 14 May 2024 21:10:15 +0200 Subject: [PATCH 24/74] Fix CI * Update compiler in macOS * Avoid error/warning due to rocm 6+ --- .github/workflows/testing-macos.yml | 4 ++-- cmake/CompilerConfiguration.cmake | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/testing-macos.yml b/.github/workflows/testing-macos.yml index 6c5228b521f..100af9c18f9 100644 --- a/.github/workflows/testing-macos.yml +++ b/.github/workflows/testing-macos.yml @@ -8,7 +8,7 @@ on: # Workaround issue in Xcode 14.1/2 env: - DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer + DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer jobs: build-and-test: @@ -45,7 +45,7 @@ jobs: mkdir -p build cd build env \ - CC=gcc-12 CXX=g++-12 FC=gfortran-12 \ + CC=gcc-13 CXX=g++-12 FC=gfortran-12 \ cmake -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DUSE_${{ matrix.use_mpi }} \ diff --git a/cmake/CompilerConfiguration.cmake b/cmake/CompilerConfiguration.cmake index 1b3c8959abd..c99666498a0 100644 --- a/cmake/CompilerConfiguration.cmake +++ b/cmake/CompilerConfiguration.cmake @@ -48,6 +48,9 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if ((NOT (USE_MPI)) OR (NOT ("${MPI_Fortran_LIBRARY_VERSION_STRING}" MATCHES "Open MPI"))) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=leak") endif () + if (USE_ACCEL MATCHES "hip" AND hip_VERSION GREATER_EQUAL 6.0.0) # Remove deprecated function error with ROCm v6+ + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=deprecated-declarations") + endif () elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -funroll-loops") set(CMAKE_CXX_FLAGS_COVERAGE "-O0 -g --coverage") From 9e9f718bc0dbe84a58a586244ee9619e348777c7 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 14 May 2024 13:08:36 +0200 Subject: [PATCH 25/74] Avoid false positive warnings turned into an error * For instance, https://github.com/cp2k/dbcsr/actions/runs/9078189846/job/24944690222 --- cmake/CompilerConfiguration.cmake | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cmake/CompilerConfiguration.cmake b/cmake/CompilerConfiguration.cmake index c99666498a0..b2b68dc8d8e 100644 --- a/cmake/CompilerConfiguration.cmake +++ b/cmake/CompilerConfiguration.cmake @@ -1,9 +1,12 @@ if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU") - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-form -std=f2008ts -fimplicit-none -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-parameter -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Werror=uninitialized -Wno-maybe-uninitialized -Werror=unused-parameter") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10) - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Werror=argument-mismatch") # gcc 10+ has this automatically + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-form -std=f2008ts -fimplicit-none -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-parameter -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized -Werror=unused-parameter") + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10) # comparison against CXX version rather than GFortran version + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch") # required for 10+ (MPI wrap) else () - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch") # requires for 10+ for the MPI wrap module + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Werror=argument-mismatch") # gcc 10+ has this automatically + endif () + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13) # comparison against CXX version rather than GFortran version + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wno-error=uninitialized") # false positive (allocatable array) endif () set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -g -funroll-loops") set(CMAKE_Fortran_FLAGS_COVERAGE "-O0 -g --coverage -fno-omit-frame-pointer -fcheck=all,no-array-temps -ffpe-trap=invalid,zero,overflow -fbacktrace -finit-real=snan -finit-integer=-42 -finit-derived -Werror=realloc-lhs -finline-matmul-limit=0 -Werror") From b56c646c0b310fc9424062e56e38fe6799736dee Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 27 May 2024 09:59:35 +0200 Subject: [PATCH 26/74] ocl: removed debug helper * Unrelated: rely on debug_mod similar to careful_mod. * Updated LIBXSMM (Daint-CI). --- .ci/daint.cscs.ch/ocl.build.sh | 2 +- src/acc/opencl/acc_opencl.c | 7 ------- src/mm/dbcsr_mm_hostdrv.F | 2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.ci/daint.cscs.ch/ocl.build.sh b/.ci/daint.cscs.ch/ocl.build.sh index baa2ed4dc88..9c4c421de89 100755 --- a/.ci/daint.cscs.ch/ocl.build.sh +++ b/.ci/daint.cscs.ch/ocl.build.sh @@ -27,7 +27,7 @@ if [ ! -d "${HOME}/libxsmm" ]; then fi cd "${HOME}/libxsmm" git fetch -git checkout 6c55e168d2053fa44f60f6985c370303bd84f9c1 +git checkout 2fe2b1a7077ddfbc9ab3b3f7ba1f5a45d52549cb make -j cd .. diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 24ac61dc502..9293837112f 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -74,13 +74,6 @@ int c_dbcsr_acc_opencl_active_id; # endif -void __wrap__gfortran_runtime_warning_at(const char* /*where*/, const char* /*message*/, ...); -void __wrap__gfortran_runtime_warning_at(const char* where, const char* message, ...) { - LIBXSMM_UNUSED(message); - LIBXSMM_UNUSED(where); -} - - void c_dbcsr_acc_opencl_notify(const char /*errinfo*/[], const void* /*private_info*/, size_t /*cb*/, void* /*user_data*/); void c_dbcsr_acc_opencl_notify(const char errinfo[], const void* private_info, size_t cb, void* user_data) { LIBXSMM_UNUSED(private_info); diff --git a/src/mm/dbcsr_mm_hostdrv.F b/src/mm/dbcsr_mm_hostdrv.F index f3d76a85695..7089d2f3a58 100644 --- a/src/mm/dbcsr_mm_hostdrv.F +++ b/src/mm/dbcsr_mm_hostdrv.F @@ -103,7 +103,7 @@ SUBROUTINE dbcsr_mm_hostdrv_process(this, left, right, params, stack_size, & LOGICAL, INTENT(OUT) :: success, used_smm CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_mm_hostdrv_process' - LOGICAL, PARAMETER :: careful = careful_mod, dbg = .FALSE. + LOGICAL, PARAMETER :: careful = careful_mod, dbg = debug_mod INTEGER :: error_handle, sp REAL(KIND=dp) :: rnd From 06e89be5752d6ec4ea3a2c3a97a22d7b3bb40318 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 27 May 2024 13:53:07 +0200 Subject: [PATCH 27/74] Fixed calling current revision of libxsmm_gemm_batch --- src/acc/acc_bench_smm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/acc/acc_bench_smm.c b/src/acc/acc_bench_smm.c index 381c86864a5..412c40eadc9 100644 --- a/src/acc/acc_bench_smm.c +++ b/src/acc/acc_bench_smm.c @@ -39,7 +39,7 @@ STRIDE_C, INDEX_STRIDE, INDEX_BASE, BATCHSIZE) \ ACC_BENCH_USEOMP(libxsmm_gemm_batch) \ (IPREC, OPREC, TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, STRIDE_A, B, LDB, STRIDE_B, BETA, C, LDC, STRIDE_C, INDEX_STRIDE, \ - INDEX_BASE, BATCHSIZE, 0 /*batchcheck*/) + INDEX_BASE, BATCHSIZE) # define PRINTF(...) \ do { \ const size_t print_buffer_size = sizeof(print_buffer) - print_offset; \ From 208d53d181b309e7bae9aadc0a211c345450eb45 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 17:43:19 +0000 Subject: [PATCH 28/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.4 → v0.4.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.4...v0.4.5) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index faccf75d4de..30c12af0c4f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.4' + rev: 'v0.4.5' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 5b1f7fe2992ae48b1a80e985825df94f607b8b4e Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 28 May 2024 21:50:27 +0200 Subject: [PATCH 29/74] ocl: improved kernel configuration * Consolidate some settings into WA-level. * Updated tuned parameters (PVC). * Test tuned kernels (Daint-CI). --- .ci/daint.cscs.ch/ocl.test.sh | 2 +- src/acc/opencl/acc_opencl.c | 11 +- src/acc/opencl/acc_opencl.h | 2 + src/acc/opencl/smm/opencl_libsmm.c | 46 +- .../opencl/smm/params/tune_multiply_PVC.csv | 730 +++++++++--------- 5 files changed, 396 insertions(+), 395 deletions(-) diff --git a/.ci/daint.cscs.ch/ocl.test.sh b/.ci/daint.cscs.ch/ocl.test.sh index ccf3aa298ad..83131d1de4c 100755 --- a/.ci/daint.cscs.ch/ocl.test.sh +++ b/.ci/daint.cscs.ch/ocl.test.sh @@ -32,7 +32,7 @@ export OMP_PROC_BIND=TRUE # set thread affinity # OMP_NUM_THREADS is set by cmake # use default parameters (omit loading tuned parameters) -export OPENCL_LIBSMM_SMM_PARAMS=0 +#export OPENCL_LIBSMM_SMM_PARAMS=0 # document the current environment env |& tee -a "${STAGE_NAME}.out" diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 9293837112f..034d3df92c1 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -222,7 +222,7 @@ int c_dbcsr_acc_init(void) { const int nccs = (NULL == env_nccs ? ACC_OPENCL_NCCS : atoi(env_nccs)); # endif const char *const env_neo = getenv("NEOReadDebugKeys"), *const env_wa = getenv("ACC_OPENCL_WA"); - const int neo = (NULL == env_neo ? 1 : atoi(env_neo)), wa = neo * (NULL == env_wa ? 7 : atoi(env_wa)); + const int neo = (NULL == env_neo ? 1 : atoi(env_neo)); # if defined(ACC_OPENCL_ASYNC) const char* const env_async = (ACC_OPENCL_ASYNC); const int async_default = 3; @@ -267,6 +267,7 @@ int c_dbcsr_acc_init(void) { c_dbcsr_acc_opencl_config.async = (NULL == env_async ? async_default : atoi(env_async)); c_dbcsr_acc_opencl_config.dump = (NULL == env_dump ? /*default*/ 0 : atoi(env_dump)); c_dbcsr_acc_opencl_config.debug = (NULL == env_debug ? c_dbcsr_acc_opencl_config.dump : atoi(env_debug)); + c_dbcsr_acc_opencl_config.wa = neo * (NULL == env_wa ? 31 : atoi(env_wa)); if (EXIT_SUCCESS != c_dbcsr_acc_opencl_device_uid(NULL /*device*/, env_devmatch, &c_dbcsr_acc_opencl_config.devmatch)) { c_dbcsr_acc_opencl_config.devmatch = 1; } @@ -283,7 +284,7 @@ int c_dbcsr_acc_init(void) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(ze_flat)); /* soft-error */ } # if defined(ACC_OPENCL_NCCS) - if (NULL == getenv("ZEX_NUMBER_OF_CCS") && 0 != nccs && 0 == (1 & wa)) { + if (NULL == getenv("ZEX_NUMBER_OF_CCS") && 0 != nccs && 0 == (1 & c_dbcsr_acc_opencl_config.wa)) { static char zex_nccs[ACC_OPENCL_MAXNDEVS * 8 + 32] = "ZEX_NUMBER_OF_CCS="; int j = strlen(zex_nccs); for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { @@ -299,14 +300,14 @@ int c_dbcsr_acc_init(void) { if (0 < j) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(zex_nccs)); /* soft-error */ } # endif - if (~1 & wa) { /* environment is populated before touching the compute runtime */ + if (~1 & c_dbcsr_acc_opencl_config.wa) { /* environment is populated before touching the compute runtime */ static char* key_value[] = { "NEOReadDebugKeys=1", "EnableRecoverablePageFaults=0", "DirectSubmissionOverrideBlitterSupport=0"}; if (NULL == env_neo) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[0])); - if ((2 & wa) && NULL == getenv("EnableRecoverablePageFaults")) { + if ((2 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("EnableRecoverablePageFaults")) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[1])); } - if ((4 & wa) && NULL == getenv("DirectSubmissionOverrideBlitterSupport")) { + if ((4 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("DirectSubmissionOverrideBlitterSupport")) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[2])); } } diff --git a/src/acc/opencl/acc_opencl.h b/src/acc/opencl/acc_opencl.h index da466199729..5a074805a61 100644 --- a/src/acc/opencl/acc_opencl.h +++ b/src/acc/opencl/acc_opencl.h @@ -351,6 +351,8 @@ typedef struct c_dbcsr_acc_opencl_config_t { cl_int debug; /** Dump level. */ cl_int dump; + /** WA level */ + cl_int wa; } c_dbcsr_acc_opencl_config_t; /** Global configuration setup in c_dbcsr_acc_init. */ diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index ae84a28a80f..e6656c90c29 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -1087,6 +1087,15 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, else { /* preserve kernels, performance counters, etc. */ memcpy(&new_config, config, sizeof(opencl_libsmm_smm_t)); } + if (NULL == env_xf || '\0' == *env_xf) { + if (0 == c_dbcsr_acc_opencl_config.device.intel || CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type || + NULL == env_cl || NULL == strstr(env_cl, intel_xf)) + { + new_config.flags = (NULL == config ? /*default*/ 0 : config->flags); + } + else new_config.flags = 1; + } + else new_config.flags = atoi(env_xf); new_config.lu = unroll; /* two defaults for new_config parameters: 1st - regular, 2nd - BS=1 kernel */ new_config.bm = (0 >= blockm ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max) @@ -1110,8 +1119,9 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, : atoi(env_nz), 0, 1); new_config.al = LIBXSMM_CLMP(/* bug: AL=1 */ - (NULL == env_al || '\0' == *env_al) ? 0 /*(0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0)*/ - : atoi(env_al), + (NULL == env_al || '\0' == *env_al) + ? (0 == (8 & c_dbcsr_acc_opencl_config.wa) ? (0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0) : 0) + : atoi(env_al), 0, 1); new_config.tb = LIBXSMM_CLMP((NULL == env_tb || '\0' == *env_tb) ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->tb) : /*default*/ 0) @@ -1125,30 +1135,18 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->ap) : /*default*/ 0) : atoi(env_ap), 0, 1); - new_config.aa = LIBXSMM_CLMP( - (NULL == env_aa || '\0' == *env_aa) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_aa : config->aa) : /*default*/ default_aa) - : atoi(env_aa), - 0, 2); - new_config.ab = LIBXSMM_CLMP( - (NULL == env_ab || '\0' == *env_ab) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_ab : config->ab) : /*default*/ default_ab) - : atoi(env_ab), + new_config.aa = LIBXSMM_CLMP(/* bug: AA=2 XF=1 */ + (NULL == env_aa || '\0' == *env_aa) ? (0 == kernel_idx ? (NULL == config ? default_aa : config->aa) : default_aa) + : atoi(env_aa), + 0, (0 == (16 & c_dbcsr_acc_opencl_config.wa) || 0 == new_config.flags) ? 2 : 1); + new_config.ab = LIBXSMM_CLMP((NULL == env_ab || '\0' == *env_ab) + ? (0 == kernel_idx ? (NULL == config ? default_ab : config->ab) : default_ab) + : atoi(env_ab), 0, 2); - new_config.ac = LIBXSMM_CLMP( - (NULL == env_ac || '\0' == *env_ac) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ default_ac : config->ac) : /*default*/ default_ac) - : atoi(env_ac), + new_config.ac = LIBXSMM_CLMP((NULL == env_ac || '\0' == *env_ac) + ? (0 == kernel_idx ? (NULL == config ? default_ac : config->ac) : default_ac) + : atoi(env_ac), 0, 1); - if (NULL == env_xf || '\0' == *env_xf) { - if (0 == c_dbcsr_acc_opencl_config.device.intel || CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type || - NULL == env_cl || NULL == strstr(env_cl, intel_xf)) - { - new_config.flags = (NULL == config ? /*default*/ 0 : config->flags); - } - else new_config.flags = 1; - } - else new_config.flags = atoi(env_xf); if (0 >= new_config.s) new_config.s = stack_size; if (0 == kernel_idx || 1 >= new_config.bs) new_config.bs = bs; nbm = (m_max + new_config.bm - 1) / new_config.bm; diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index e663046da6c..604952940e9 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -1,22 +1,22 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;8;2;1;1;1;-1;0;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;3;1;-1;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;4;1;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;4;1;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;4;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;3;1;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;2;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;3;1;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;2;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;13;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 @@ -29,7 +29,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;1;1;0;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;5;30000;0;10;4;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;2;1;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;0;0;0;0;1;0;2;0;0;0 @@ -37,8 +37,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;28;30000;0;8;4;1;1;7;-1;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;32;30000;0;8;4;1;1;7;-1;-1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;4;1;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;2;1;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;4;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;13;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;25;30000;0;8;4;1;1;9;-1;0;0;1;0;1;1;0;0;0;0 @@ -48,87 +48,87 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;32;30000;0;8;4;1;1;9;-1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;45;30000;0;4;4;1;1;9;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;4;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;4;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;13;4;1;4;1;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;1;1;1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;14;4;1;2;1;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;17;30000;0;8;4;1;1;1;-1;-2;1;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;25;30000;0;8;4;1;1;13;-1;0;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;26;30000;0;8;4;1;1;13;-2;-1;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;28;30000;0;8;4;1;1;13;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;32;30000;0;8;4;1;1;1;-2;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;45;30000;0;4;4;1;1;13;-1;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;4;30000;0;14;4;1;3;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;10;30000;0;10;4;1;4;15;0;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;45;30000;0;4;4;1;1;13;-2;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;4;30000;0;14;4;1;2;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;10;30000;0;10;4;1;3;15;-2;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;15;15;30000;0;8;4;1;1;15;-1;-1;0;0;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;4;30000;0;14;4;1;2;1;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;3;1;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;4;30000;0;14;4;1;4;1;0;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;1;1;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;13;30000;0;8;4;1;1;1;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;17;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;32;30000;0;8;4;1;1;1;1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;14;4;1;4;1;1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;5;30000;0;14;4;1;4;1;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;14;4;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;14;4;1;3;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;5;30000;0;14;4;1;4;1;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;14;4;1;3;25;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;9;30000;0;10;4;1;1;25;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;13;30000;0;8;4;1;1;25;0;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;13;30000;0;8;4;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;25;30000;0;8;4;1;1;25;-2;0;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;26;30000;0;8;4;1;1;25;-2;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;28;30000;0;8;4;1;1;25;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;32;30000;0;8;4;1;1;25;1;-2;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;45;30000;0;8;4;1;1;25;-1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;4;30000;0;16;4;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;4;30000;0;15;4;1;3;1;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;5;30000;0;15;4;1;2;26;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;7;30000;0;14;4;1;1;26;0;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;9;30000;0;10;4;1;3;26;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;13;30000;0;8;4;1;1;26;1;0;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;25;30000;0;8;4;1;1;26;1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;25;30000;0;8;4;1;1;26;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;26;30000;0;8;4;1;1;26;-2;-1;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;28;30000;0;8;4;1;1;26;0;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;32;30000;0;8;4;1;1;26;-2;-1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;45;30000;0;8;4;1;1;26;0;0;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;14;4;1;2;1;-2;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;14;4;1;4;28;-2;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;14;4;1;3;28;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;15;4;1;2;1;-2;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;14;4;1;2;28;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;14;4;1;4;28;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;9;30000;0;14;4;1;3;28;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;13;30000;0;8;4;1;1;28;0;-2;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;25;30000;0;8;4;1;1;28;0;0;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;26;30000;0;8;4;1;1;28;0;-1;1;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;26;30000;0;8;4;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;28;30000;0;8;4;1;1;28;0;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;32;30000;0;8;4;1;1;28;1;-2;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;45;30000;0;8;4;1;1;28;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;4;30000;0;16;4;1;3;1;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;4;30000;0;17;4;1;3;1;0;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;5;30000;0;16;4;1;2;1;0;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;7;30000;0;15;4;1;2;32;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;9;30000;0;15;4;1;4;32;1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;13;30000;0;15;4;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;7;30000;0;15;4;1;2;32;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;9;30000;0;15;4;1;2;32;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;13;30000;0;15;4;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;17;30000;0;8;4;1;1;1;-2;0;0;1;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;25;30000;0;8;4;1;1;32;1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;26;30000;0;8;4;1;1;32;0;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;26;30000;0;8;4;1;1;32;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;28;30000;0;8;4;1;1;32;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;32;30000;0;8;4;1;1;1;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;32;45;30000;0;4;4;1;1;32;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;4;30000;0;15;4;1;1;45;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;5;30000;0;15;4;1;2;45;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;4;30000;0;15;4;1;4;45;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;5;30000;0;15;4;1;1;45;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;7;30000;0;15;4;1;2;45;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;9;30000;0;15;4;1;3;45;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;9;30000;0;15;4;1;3;45;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;13;30000;0;6;4;1;1;45;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;25;30000;0;4;4;1;1;45;-1;6;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;26;30000;0;4;4;1;1;45;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;28;30000;0;4;4;1;1;45;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;32;30000;0;4;4;1;1;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;45;45;30000;0;3;4;1;1;45;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;4;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;5;30000;0;12;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;4;30000;0;12;5;1;1;1;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;5;30000;0;12;5;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;7;30000;0;8;5;1;1;1;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;9;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;13;30000;0;8;5;1;1;1;0;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;17;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;25;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;26;30000;0;8;5;1;1;5;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;28;30000;0;8;5;1;1;5;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;9;30000;0;8;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;13;30000;0;8;5;1;1;1;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;17;30000;0;8;5;1;1;1;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;25;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;26;30000;0;8;5;1;1;5;-2;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;28;30000;0;8;5;1;1;5;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;12;5;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;1;1;0;0;0;1;0;0;1;0;0 @@ -140,18 +140,18 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;17;30000;0;8;5;1;1;1;-1;-1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;24;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;28;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;4;30000;0;12;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;4;30000;0;12;5;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;9;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;13;5;1;1;1;0;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;16;5;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;13;5;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;14;5;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;13;30000;0;10;5;1;1;1;1;0;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;16;30000;0;8;5;1;1;1;-2;-1;1;0;0;1;1;0;0;0;0 @@ -167,16 +167,16 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;15;5;1;1;1;-2;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;4;30000;0;16;5;1;1;1;0;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;14;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;16;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;13;30000;0;8;5;1;1;1;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;32;30000;0;8;5;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;5;30000;0;16;5;1;1;1;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;5;30000;0;16;5;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;13;30000;0;15;5;1;1;1;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;16;30000;0;15;5;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;24;30000;0;18;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;24;30000;0;14;5;1;1;24;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;26;30000;0;15;5;1;1;24;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;32;30000;0;8;5;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;24;32;30000;0;8;5;1;1;24;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;4;30000;0;18;5;1;1;1;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;5;30000;0;18;5;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;7;30000;0;15;5;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 @@ -185,11 +185,11 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;13;30000;0;8;5;1;1;25;0;-1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;25;30000;0;8;5;1;1;25;0;-1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;26;30000;0;8;5;1;1;25;-2;-2;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;28;30000;0;8;5;1;1;25;-1;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;32;30000;0;8;5;1;1;25;-1;-2;0;1;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;32;30000;0;8;5;1;1;25;0;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;25;45;30000;0;8;5;1;1;25;-1;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;4;30000;0;18;5;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;5;30000;0;18;5;1;1;1;0;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;7;30000;0;14;5;1;1;26;0;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;5;30000;0;18;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;7;30000;0;14;5;1;1;26;1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;9;30000;0;14;5;1;1;26;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;13;30000;0;8;5;1;1;1;1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;16;30000;0;8;5;1;1;1;-2;-1;0;1;1;1;1;0;0;0;0 @@ -199,9 +199,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;26;30000;0;8;5;1;1;26;-1;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;28;30000;0;8;5;1;1;26;0;-2;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;32;30000;0;8;5;1;1;26;-1;0;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;26;45;30000;0;8;5;1;1;26;-2;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;4;30000;0;16;5;1;1;28;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;5;30000;0;18;5;1;1;28;0;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;7;30000;0;15;5;1;1;28;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;4;30000;0;16;5;1;1;28;-2;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;5;30000;0;17;5;1;1;28;1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;7;30000;0;15;5;1;1;28;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;9;30000;0;15;5;1;1;28;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;13;30000;0;14;5;1;1;28;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;14;30000;0;10;5;1;1;28;-2;-1;0;0;0;1;0;2;0;0;0 @@ -210,22 +210,22 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;26;30000;0;8;5;1;1;28;0;-2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;28;30000;0;8;5;1;1;28;-2;0;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;32;30000;0;8;5;1;1;28;-2;-2;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;45;30000;0;8;5;1;1;28;1;-2;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;18;5;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;18;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;18;5;1;5;1;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;17;5;1;1;1;1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;7;30000;0;15;5;1;1;32;-2;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;9;30000;0;15;5;1;1;32;0;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;18;5;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;9;30000;0;15;5;1;1;32;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;18;5;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;24;30000;0;8;5;1;1;32;-1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;25;30000;0;8;5;1;1;32;-1;2;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;25;30000;0;8;5;1;1;32;-1;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;26;30000;0;8;5;1;1;32;-1;0;0;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;28;30000;0;8;5;1;1;32;-1;-1;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;32;30000;0;8;5;1;1;1;-1;0;0;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;32;30000;0;8;5;1;1;1;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;45;30000;0;8;5;1;1;32;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;4;30000;0;17;5;1;3;45;-1;-2;1;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;5;30000;0;15;5;1;5;45;0;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;7;30000;0;15;5;1;2;45;0;3;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;9;30000;0;15;5;1;4;45;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;5;30000;0;15;5;1;5;45;0;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;7;30000;0;15;5;1;4;45;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;9;30000;0;15;5;1;3;45;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;13;30000;0;8;5;1;3;45;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;25;30000;0;5;5;1;1;45;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;26;30000;0;6;5;1;1;45;-2;-1;0;0;0;1;0;2;0;0;0 @@ -236,73 +236,73 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;6;30000;0;9;6;1;3;1;-2;0;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;10;6;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;6;30000;0;14;6;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;10;6;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;10;6;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;8;30000;0;11;6;1;1;1;1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;6;30000;0;16;6;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;7;30000;0;13;6;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;6;30000;0;16;6;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;7;30000;0;14;6;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;8;8;30000;0;13;6;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;14;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;14;7;1;3;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;14;7;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;14;7;1;3;1;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;11;7;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;10;7;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;10;7;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;32;30000;0;8;7;1;1;7;1;0;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;45;30000;0;8;7;1;1;7;1;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;4;30000;0;14;7;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;5;30000;0;16;7;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;7;30000;0;10;7;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;14;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;8;7;1;1;1;-2;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;25;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;14;7;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;25;30000;0;8;7;1;1;7;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;26;30000;0;8;7;1;1;7;1;0;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;28;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;32;30000;0;8;7;1;1;7;-1;0;1;1;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;45;30000;0;8;7;1;1;7;-2;0;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;13;7;1;1;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;7;30000;0;13;7;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;8;30000;0;10;7;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;16;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;8;30000;0;10;7;1;1;1;1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;13;7;1;1;1;-1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;7;30000;0;9;7;1;2;1;1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;10;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;11;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;10;7;1;1;7;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;26;30000;0;10;7;1;1;7;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;28;30000;0;8;7;1;1;7;1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;32;30000;0;8;7;1;1;7;-1;0;1;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;32;30000;0;8;7;1;1;7;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;45;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;6;30000;0;14;7;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;6;30000;0;16;7;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;7;30000;0;14;7;1;1;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;8;30000;0;13;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;8;8;30000;0;13;7;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;4;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;5;30000;0;16;7;1;4;1;1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;5;30000;0;16;7;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;7;30000;0;17;7;1;1;1;-1;0;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;9;30000;0;14;7;1;1;9;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;13;30000;0;10;7;1;5;9;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;9;30000;0;14;7;1;1;9;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;13;30000;0;11;7;1;6;9;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;25;30000;0;11;7;1;2;9;-1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;26;30000;0;11;7;1;6;9;1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;28;30000;0;8;7;1;1;9;-1;-2;1;0;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;32;30000;0;8;7;1;1;9;-1;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;9;45;30000;0;8;7;1;1;9;1;0;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;4;30000;0;17;7;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;4;30000;0;16;7;1;4;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;5;30000;0;16;7;1;5;1;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;7;30000;0;14;7;1;1;1;0;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;13;30000;0;10;7;1;3;1;-2;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;13;13;30000;0;12;7;1;2;1;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;13;30000;0;15;7;1;3;32;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;25;30000;0;15;7;1;1;32;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;15;7;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;15;7;1;1;32;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;28;30000;0;15;7;1;1;32;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;32;30000;0;8;7;1;1;32;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;45;30000;0;15;7;1;1;32;1;1;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;42;7;1;5;45;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;41;7;1;4;45;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;43;7;1;7;45;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;7;30000;0;41;7;1;1;45;0;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;41;7;1;1;45;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;9;30000;0;41;7;1;1;45;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;13;30000;0;15;7;1;1;45;-1;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;25;30000;0;41;7;1;1;45;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;26;30000;0;10;7;1;1;45;0;-2;0;0;0;1;0;2;0;0;1 @@ -310,81 +310,81 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;8;7;1;1;45;1;-1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;32;30000;0;8;7;1;1;45;-2;0;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;45;30000;0;9;7;1;1;45;1;0;1;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;16;8;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;7;1;1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;7;1;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;8;30000;0;10;8;1;8;1;1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;8;1;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;7;1;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;2;1;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;7;1;-2;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;9;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;14;9;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;10;9;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;13;9;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-2;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;32;30000;0;8;9;1;1;9;-1;0;0;1;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;45;30000;0;8;9;1;1;9;-1;0;0;0;0;1;1;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;4;30000;0;16;9;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;5;30000;0;16;9;1;1;1;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;7;30000;0;16;9;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;9;30000;0;11;9;1;1;1;-1;-1;1;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;13;30000;0;10;9;1;1;9;-1;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;25;30000;0;8;9;1;1;9;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;26;30000;0;8;9;1;3;9;-1;1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;28;30000;0;8;9;1;1;9;-1;0;0;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;45;30000;0;8;9;1;1;9;-1;0;0;1;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;16;9;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;16;9;1;1;1;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;7;30000;0;14;9;1;1;1;-2;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;12;9;1;1;9;-2;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;14;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;10;9;1;1;9;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;25;30000;0;8;9;1;1;9;-1;-2;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;26;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;28;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;32;30000;0;8;9;1;1;9;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;45;30000;0;8;9;1;1;9;-1;-2;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;4;30000;0;18;9;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;5;30000;0;16;9;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;4;30000;0;18;9;1;1;1;1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;5;30000;0;16;9;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;7;30000;0;16;9;1;1;9;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;9;30000;0;8;9;1;2;1;-1;1;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;13;30000;0;15;9;1;1;9;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;16;30000;0;14;9;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;22;30000;0;10;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;13;30000;0;15;9;1;1;9;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;16;30000;0;18;9;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;22;30000;0;10;9;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;25;30000;0;10;9;1;1;9;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;26;30000;0;10;9;1;1;9;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;28;30000;0;8;9;1;1;9;-1;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;28;30000;0;8;9;1;1;9;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;32;30000;0;8;9;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;45;30000;0;8;9;1;1;9;-1;-2;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;4;30000;0;25;9;1;1;1;-1;-1;1;0;0;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;4;30000;0;16;9;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;17;9;1;1;13;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;16;9;1;4;13;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-2;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;12;9;1;2;13;-1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;25;30000;0;13;9;1;8;13;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;26;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;28;30000;0;8;9;1;1;13;-1;-2;1;0;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;32;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;45;30000;0;8;9;1;1;13;-2;-2;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;9;30000;0;18;9;1;9;1;-2;-1;1;1;1;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;9;30000;0;16;9;1;4;1;-1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;16;30000;0;15;9;1;2;1;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;22;30000;0;17;9;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;9;30000;0;16;9;1;8;1;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;9;30000;0;16;9;1;8;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;16;30000;0;9;9;1;9;1;0;-1;1;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;22;30000;0;8;9;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;32;30000;0;8;9;1;1;1;-2;-1;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;4;30000;0;24;9;1;1;25;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;5;30000;0;24;9;1;1;25;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;4;30000;0;24;9;1;1;25;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;5;30000;0;24;9;1;1;25;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;7;30000;0;21;9;1;1;25;1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;9;30000;0;15;9;1;8;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;13;30000;0;14;9;1;3;25;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;25;30000;0;8;9;1;1;25;0;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;25;30000;0;8;9;1;1;25;0;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;26;30000;0;8;9;1;1;25;0;-2;1;0;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;28;30000;0;8;9;1;1;25;-2;-1;1;0;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;28;30000;0;8;9;1;1;25;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;32;30000;0;8;9;1;1;25;-2;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;45;30000;0;15;9;1;1;25;1;0;1;1;1;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;4;30000;0;28;9;1;1;26;-1;0;0;0;0;1;0;0;0;0;0 @@ -397,7 +397,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;26;30000;0;8;9;1;1;26;-2;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;28;30000;0;10;9;1;1;26;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;32;30000;0;8;9;1;1;26;-2;-2;1;0;1;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;45;30000;0;15;9;1;1;26;0;0;1;1;0;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;4;30000;0;35;9;1;1;28;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;4;30000;0;35;9;1;1;28;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;5;30000;0;25;9;1;1;28;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;7;30000;0;23;9;1;1;28;-1;-2;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;9;30000;0;18;9;1;8;28;0;0;0;0;0;1;0;2;0;0;0 @@ -409,7 +409,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;32;30000;0;15;9;1;1;28;-1;-2;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;45;30000;0;15;9;1;1;28;-2;0;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;39;9;1;1;32;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;38;9;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;18;9;1;1;32;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;25;9;1;8;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;9;30000;0;25;9;1;4;1;1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;13;30000;0;15;9;1;8;32;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;22;30000;0;15;9;1;1;1;-2;0;0;0;0;1;0;0;2;0;1 @@ -417,24 +417,24 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;25;30000;0;8;9;1;1;32;1;1;1;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;26;30000;0;8;9;1;1;32;0;1;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;28;30000;0;15;9;1;1;32;-1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;32;30000;0;15;9;1;1;1;-2;0;1;0;0;1;1;0;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;-1;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;32;30000;0;10;9;1;1;45;1;0;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;45;30000;0;9;9;1;1;45;1;-2;1;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;4;30000;0;16;10;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;10;30000;0;12;10;1;1;1;-1;-2;0;0;1;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;10;30000;0;13;10;1;1;1;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;15;30000;0;8;10;1;1;10;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;4;30000;0;16;10;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;10;30000;0;8;10;1;2;1;-1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;18;10;1;1;10;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;18;10;1;1;10;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;4;15;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;3;15;-2;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;13;10;1;9;15;-2;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;12;12;12;30000;0;8;12;1;12;12;-2;-1;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;4;30000;0;16;13;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;13;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;7;30000;0;13;13;1;7;1;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;9;30000;0;10;13;1;9;1;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;13;30000;0;8;13;1;6;1;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;13;13;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;7;30000;0;13;13;1;2;1;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;9;30000;0;10;13;1;12;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;13;30000;0;8;13;1;5;1;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;17;30000;0;8;13;1;13;1;-1;-1;0;0;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;25;30000;0;8;13;1;1;13;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;26;30000;0;8;13;1;1;13;-2;-1;0;0;0;1;0;2;0;0;0 @@ -442,7 +442,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;28;30000;0;8;13;1;1;13;-1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;32;30000;0;8;13;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;45;30000;0;8;13;1;1;13;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;4;30000;0;16;13;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;5;30000;0;16;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;5;30000;0;14;13;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;7;30000;0;13;13;1;11;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;9;30000;0;13;13;1;3;13;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;13;30000;0;8;13;1;3;1;-1;1;0;0;0;1;0;0;0;0;0 @@ -455,35 +455,35 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;28;30000;0;8;13;1;1;13;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;32;30000;0;8;13;1;1;1;-2;0;0;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;4;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;12;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;5;13;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;13;30000;0;9;13;1;6;1;-1;-1;1;1;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;26;30000;0;8;13;1;1;13;-2;-2;1;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;28;30000;0;8;13;1;1;13;-1;-1;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;32;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;45;30000;0;8;13;1;1;13;1;-2;0;0;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;16;13;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;4;30000;0;16;13;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;5;30000;0;16;13;1;10;13;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;16;13;1;11;13;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;7;30000;0;16;13;1;12;13;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;9;30000;0;13;13;1;2;13;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;13;30000;0;10;13;1;5;13;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;25;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;26;30000;0;8;13;1;1;13;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;28;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;32;30000;0;8;13;1;1;13;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;9;45;30000;0;8;13;1;1;13;0;-2;0;1;1;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;27;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;7;30000;0;22;13;1;1;1;-2;-2;1;0;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;4;30000;0;24;13;1;1;1;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;5;30000;0;24;13;1;1;1;1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;7;30000;0;24;13;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;9;30000;0;24;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;13;30000;0;8;13;1;4;1;-1;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;14;30000;0;18;13;1;1;13;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;18;13;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;24;30000;0;14;13;1;1;13;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;17;30000;0;15;13;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;24;30000;0;12;13;1;1;13;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;25;30000;0;8;13;1;1;13;-1;0;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;14;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;14;13;1;1;13;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;28;30000;0;8;13;1;1;13;-1;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;32;30000;0;8;13;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;45;30000;0;8;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 @@ -491,8 +491,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;13;30000;0;13;13;1;12;14;-2;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;14;30000;0;15;13;1;1;14;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;25;30000;0;8;13;1;1;14;-2;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;26;30000;0;9;13;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;32;30000;0;8;13;1;1;14;-2;-2;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;16;5;30000;0;20;13;1;9;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;32;30000;0;8;13;1;1;14;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;16;5;30000;0;20;13;1;9;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;4;30000;0;18;13;1;10;1;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;5;30000;0;19;13;1;10;1;0;-1;1;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;13;30000;0;9;13;1;9;1;1;-1;1;1;0;1;1;2;0;1;0 @@ -503,56 +503,56 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;13;13;1;10;24;-1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;24;30000;0;8;13;1;1;24;1;1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;1;0;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;16;13;1;1;24;1;0;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;24;13;1;4;25;-2;1;1;1;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;22;13;1;2;25;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;5;30000;0;22;13;1;3;25;0;-1;1;1;1;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;11;25;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;4;25;-2;6;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;13;30000;0;8;13;1;7;25;-2;-1;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;1;25;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;10;8;1;3;25;1;3;0;1;1;1;0;1;0;1;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;6;25;0;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;30;8;1;4;25;1;-2;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;26;30000;0;15;13;1;1;25;1;-2;1;1;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;28;30000;0;15;8;1;1;25;-1;2;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;32;30000;0;5;8;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;45;30000;0;15;13;1;1;25;0;-2;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;4;30000;0;15;8;1;8;26;0;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;4;30000;0;15;8;1;4;26;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;5;30000;0;23;13;1;13;1;0;-2;1;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;7;30000;0;20;13;1;12;26;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;7;30000;0;20;13;1;10;26;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;9;30000;0;15;13;1;5;26;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;13;30000;0;13;13;1;13;26;-1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;14;30000;0;11;13;1;4;26;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;13;30000;0;11;13;1;13;26;-2;1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;14;30000;0;11;13;1;8;26;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;24;30000;0;15;13;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;25;30000;0;15;13;1;1;26;-1;0;1;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;26;30000;0;15;13;1;1;26;-1;0;0;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;28;30000;0;16;13;1;1;26;-2;-2;0;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;32;30000;0;15;13;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;45;30000;0;15;13;1;1;26;1;-2;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;4;30000;0;27;13;1;4;28;-1;-1;1;0;0;1;1;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;4;30000;0;25;13;1;4;28;-1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;5;30000;0;17;13;1;9;28;0;0;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;24;13;1;11;28;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;21;13;1;11;28;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;9;30000;0;16;13;1;10;28;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;13;30000;0;13;13;1;12;28;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;25;30000;0;16;13;1;1;28;1;0;1;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;13;30000;0;13;13;1;11;28;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;25;30000;0;15;13;1;1;28;-1;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;26;30000;0;16;13;1;1;28;-1;-2;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;28;30000;0;15;13;1;1;28;-1;-2;0;1;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;-2;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;45;30000;0;15;13;1;1;28;-1;-2;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;25;13;1;2;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;25;13;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;25;13;1;11;1;0;-2;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;13;32;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;4;32;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;9;30000;0;16;13;1;7;32;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;13;30000;0;13;13;1;3;1;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;13;30000;0;13;13;1;13;1;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;13;13;1;12;32;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;17;30000;0;8;13;1;1;1;-1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;24;30000;0;16;13;1;1;32;-2;-2;1;1;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;0;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;0;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;-1;0;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;16;13;1;1;32;-1;-2;1;0;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;15;13;1;1;32;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-2;-2;1;1;0;1;1;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;25;13;1;11;45;0;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;27;8;1;5;45;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;37;13;1;6;45;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;13;45;0;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;13;45;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;3;45;-2;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;25;30000;0;17;8;1;9;45;0;1;1;0;1;1;0;1;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;26;30000;0;30;13;1;1;45;-1;-2;1;0;0;1;0;2;2;0;1 @@ -565,11 +565,11 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;14;30000;0;8;14;1;1;14;-1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;25;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;26;30000;0;8;14;1;1;14;-1;-1;0;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;13;32;30000;0;8;14;1;1;14;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;13;30000;0;25;14;1;1;14;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;13;30000;0;24;14;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;14;30000;0;8;14;1;5;14;-1;-1;0;1;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;16;30000;0;24;14;1;1;14;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;25;30000;0;24;14;1;1;14;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;18;14;1;1;14;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;25;30000;0;24;14;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;18;14;1;1;14;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;28;30000;0;8;14;1;1;14;-2;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;29;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;32;30000;0;12;14;1;1;14;-1;0;0;0;0;1;0;0;2;0;0 @@ -577,7 +577,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;17;14;1;8;16;1;-2; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;16;30000;0;17;14;1;4;16;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;29;30000;0;8;14;1;1;16;-2;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;13;30000;0;8;14;1;1;25;1;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;14;30000;0;11;14;1;3;25;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;14;30000;0;11;14;1;6;25;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;25;30000;0;15;14;1;1;25;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;26;30000;0;15;8;1;1;25;1;3;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;32;30000;0;10;14;1;1;25;-1;1;1;0;1;1;0;2;0;0;0 @@ -589,41 +589,41 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;32;30000;0;8;14;1;1;26;-2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;5;30000;0;25;14;1;13;28;-1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;14;30000;0;13;14;1;7;28;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;28;30000;0;15;14;1;1;28;-1;0;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;13;14;1;12;29;1;-1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;16;30000;0;9;14;1;9;29;1;1;0;1;0;1;1;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;11;14;1;14;29;0;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;16;30000;0;16;14;1;14;29;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;29;30000;0;13;14;1;1;29;1;1;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;32;30000;0;16;14;1;1;29;1;-1;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;13;14;1;9;32;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;13;14;1;5;32;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;13;14;1;10;32;1;1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;14;14;1;6;32;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;25;30000;0;8;14;1;1;32;-2;1;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;26;30000;0;8;14;1;1;32;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;29;30000;0;16;14;1;1;32;1;-2;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;32;30000;0;16;14;1;1;32;0;-1;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;1;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;10;30000;0;10;15;1;6;15;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;15;30000;0;8;15;1;1;15;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;4;30000;0;17;15;1;1;15;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;10;30000;0;13;15;1;6;15;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;15;30000;0;10;15;1;1;15;1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;4;30000;0;28;15;1;1;15;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;4;30000;0;17;15;1;1;15;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;10;30000;0;12;15;1;6;15;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;10;15;30000;0;10;15;1;1;15;-2;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;4;30000;0;28;15;1;1;15;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;24;15;1;1;15;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;15;30000;0;8;15;1;8;1;-1;-2;0;1;0;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;13;8;1;5;1;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;3;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;13;8;1;1;1;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;7;1;-2;-1;0;1;0;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;4;1;-1;-1;0;0;0;1;1;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;26;30000;0;8;16;1;14;1;-1;-2;1;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;18;16;1;15;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;16;16;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;9;30000;0;15;16;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;16;30000;0;8;16;1;1;1;-1;-2;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;9;22;30000;0;8;16;1;1;1;-1;0;0;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;13;5;30000;0;23;16;1;12;1;-2;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;12;16;1;1;16;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;14;30000;0;15;16;1;1;16;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;16;30000;0;12;16;1;1;16;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;14;29;30000;0;10;16;1;1;16;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;35;16;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;35;16;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;9;30000;0;25;16;1;1;1;-1;-2;1;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;25;16;1;1;16;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;25;16;1;1;16;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;16;30000;0;8;16;1;3;1;-2;1;0;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;22;30000;0;21;16;1;1;1;-2;0;1;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;29;30000;0;25;16;1;1;16;1;1;0;0;0;1;0;0;2;0;0 @@ -633,42 +633,42 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;16;30000;0;8;16;1;1;1;-1;1;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;22;30000;0;8;16;1;1;1;0;1;1;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;24;5;30000;0;18;16;1;5;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;20;16;1;15;1;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;12;29;0;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;1;29;1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;13;29;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;13;29;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;29;30000;0;16;16;1;1;29;1;0;1;0;1;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;-1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;16;30000;0;32;16;1;1;55;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;29;30000;0;30;16;1;1;55;-1;0;1;0;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;55;30000;0;15;16;1;1;55;1;1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;9;17;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;1;1;30000;0;14;17;1;11;17;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;4;30000;0;14;17;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;5;30000;0;14;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;5;30000;0;14;17;1;2;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;13;30000;0;8;17;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;32;30000;0;8;17;1;1;1;-1;-2;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;4;30000;0;16;17;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;14;17;1;12;1;-2;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;13;30000;0;8;17;1;4;1;-1;-2;0;1;1;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;17;30000;0;8;17;1;2;1;-2;-1;0;0;0;1;1;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;4;30000;0;16;17;1;1;1;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;16;17;1;4;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;13;30000;0;8;17;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;17;30000;0;8;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;32;30000;0;8;17;1;1;1;-1;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;4;30000;0;19;17;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;5;30000;0;22;17;1;3;1;-2;1;1;0;0;1;1;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;4;30000;0;20;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;5;30000;0;16;17;1;4;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;13;30000;0;15;17;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;17;30000;0;14;17;1;1;1;-2;-2;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;32;30000;0;8;17;1;1;1;-1;0;1;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;4;30000;0;18;17;1;3;1;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;4;30000;0;18;17;1;8;1;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;5;30000;0;14;17;1;17;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;13;30000;0;8;17;1;1;1;0;1;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;17;30000;0;8;17;1;4;1;-1;-1;0;1;1;1;1;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;32;30000;0;17;17;1;1;1;0;-2;1;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;32;30000;0;15;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;35;30000;0;15;17;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;25;17;1;7;1;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;25;17;1;7;1;-2;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;5;30000;0;28;17;1;8;1;-2;1;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;13;30000;0;11;17;1;1;0;-2;1;1;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;17;30000;0;27;17;1;1;1;-1;0;0;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;32;30000;0;15;17;1;1;1;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;35;30000;0;15;17;1;1;1;1;0;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;31;17;1;1;1;1;-2;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;30;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;32;30000;0;30;17;1;1;1;1;-2;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;35;30000;0;30;17;1;1;1;0;-2;1;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;20;20;20;30000;0;8;20;1;1;1;-1;1;0;1;0;1;0;0;0;0;0 @@ -681,12 +681,12 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;16;30000;0;18;22;1;11;1;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;16;22;30000;0;8;22;1;1;1;-2;-2;1;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;9;30000;0;13;22;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;16;30000;0;8;22;1;1;1;-2;1;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;22;30000;0;15;22;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;22;30000;0;15;22;1;1;1;1;0;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;22;32;30000;0;15;22;1;1;1;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;9;30000;0;25;22;1;1;1;-1;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;22;30000;0;17;22;1;1;1;-2;0;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;32;30000;0;16;22;1;1;1;-1;-1;1;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;23;23;23;30000;0;15;23;1;1;1;-1;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;23;23;23;30000;0;15;23;1;1;1;-2;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;5;30000;0;17;8;1;21;1;-1;0;1;0;0;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;10;8;1;6;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;16;30000;0;8;8;1;7;1;-1;4;1;1;0;1;0;2;2;1;0 @@ -700,55 +700,55 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;26;30000;0;17;24;1;1;24;-1;-1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;32;30000;0;9;8;1;1;24;1;-2;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;2;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;5;30000;0;28;8;1;22;24;-1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;13;24;1;3;24;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;28;8;1;20;24;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;24;30000;0;15;24;1;1;1;-2;-1;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;26;30000;0;16;24;1;1;1;0;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;32;30000;0;15;24;1;1;1;-1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;5;30000;0;28;8;1;15;26;0;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;13;30000;0;27;8;1;8;26;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;13;30000;0;27;8;1;8;26;-1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;24;30000;0;10;8;1;12;1;-1;0;0;1;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;26;30000;0;16;24;1;1;26;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;26;32;30000;0;15;24;1;1;1;0;-1;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;5;30000;0;39;8;1;24;32;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;13;30000;0;27;8;1;10;32;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;13;30000;0;27;8;1;6;32;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;24;30000;0;17;24;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;26;30000;0;18;8;1;7;32;1;-1;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;32;30000;0;15;24;1;1;1;-1;-1;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;13;25;1;1;1;1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;16;25;1;1;1;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;13;8;1;13;1;-1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;7;30000;0;9;8;1;24;25;-1;3;1;0;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;6;25;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;5;25;1;4;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;9;25;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;10;8;1;13;25;-2;0;0;1;1;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;1;25;1;0;0;1;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;8;8;1;11;25;1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;16;25;1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;28;30000;0;8;8;1;1;25;1;1;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;32;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;45;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;13;25;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;16;25;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;5;30000;0;10;8;1;25;25;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;8;8;1;23;25;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;8;8;1;16;25;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;13;30000;0;8;8;1;1;25;-2;3;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;25;30000;0;4;8;1;14;25;-1;0;0;0;1;1;0;2;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;25;30000;0;8;8;1;18;25;-2;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;26;30000;0;8;8;1;1;25;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;28;30000;0;8;8;1;1;25;-1;3;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;11;8;1;22;25;1;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;14;8;1;20;25;-1;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;13;8;1;22;25;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;10;8;1;14;25;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;13;8;1;23;25;-1;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;17;8;1;9;25;-2;4;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;12;8;1;6;25;-2;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;14;8;1;14;25;-2;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;8;8;1;23;25;1;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;8;8;1;15;25;1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;25;30000;0;10;8;1;4;25;-1;1;0;0;1;1;0;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;11;16;1;16;25;0;2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;11;8;1;18;25;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;25;30000;0;11;8;1;18;25;1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;13;8;1;3;25;1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;13;8;1;20;25;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;8;8;1;1;25;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;13;25;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;13;25;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;3;25;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;23;25;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;7;30000;0;15;8;1;3;25;0;-1;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;9;30000;0;15;8;1;19;25;-2;3;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;10;8;1;14;25;1;5;1;1;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;15;8;1;12;25;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;25;30000;0;7;8;1;1;25;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;26;30000;0;3;8;1;1;25;-1;4;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;28;30000;0;3;8;1;1;25;-2;0;1;1;1;1;0;2;0;0;0 @@ -758,16 +758,16 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;4;30000;0;15;8;1;18;25;0;5;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;13;25;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;7;30000;0;15;8;1;14;25;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;9;30000;0;15;8;1;4;25;-2;1;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;1;25;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;8;25;1;7;25;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;16;25;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;25;1;3;25;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;25;30000;0;5;8;1;1;25;1;4;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;26;30000;0;16;8;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;32;30000;0;8;8;1;1;25;-2;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;45;30000;0;15;25;1;1;25;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;13;30000;0;8;25;1;10;25;1;1;0;1;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;8;25;1;17;25;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;0;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;14;30000;0;11;25;1;11;25;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;26;30000;0;15;25;1;1;25;0;-1;1;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;15;25;1;1;25;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;4;30000;0;30;8;1;17;25;0;3;0;1;0;1;1;1;2;0;0 @@ -782,18 +782,18 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-2;-2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;25;26;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;9;26;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;7;26;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;14;30000;0;17;25;1;1;26;1;-1;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;25;30000;0;15;25;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;26;30000;0;15;25;1;1;26;-1;-1;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;28;30000;0;30;16;1;22;26;0;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;28;30000;0;30;16;1;16;26;0;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;32;30000;0;15;25;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;45;30000;0;8;25;1;1;26;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;4;30000;0;30;8;1;17;28;-1;6;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;19;16;1;24;28;0;1;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;30;16;1;9;28;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;7;30000;0;30;8;1;23;28;-2;3;1;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;9;30000;0;8;25;1;1;28;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;13;30000;0;15;25;1;1;28;-1;-1;1;0;1;1;1;2;0;0;1 @@ -803,11 +803,11 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;28;30000;0;16;25;1;1;28;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;32;30000;0;15;25;1;1;28;-1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;45;30000;0;15;25;1;1;28;1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;4;30000;0;30;8;1;8;32;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;30;8;1;3;32;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;30;8;1;6;32;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;30;8;1;20;32;-1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;9;30000;0;30;8;1;12;32;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;13;30000;0;15;16;1;2;32;1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;15;16;1;22;32;1;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;15;16;1;9;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;25;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;26;30000;0;8;25;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;28;30000;0;8;25;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 @@ -819,19 +819,19 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;27;16;1;4;45;1;-2;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;9;30000;0;17;25;1;9;45;0;1;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;13;30000;0;31;25;1;1;45;-2;-1;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;25;30000;0;30;25;1;1;45;-1;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;10;16;1;9;45;0;0;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;10;16;1;9;45;0;-1;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;10;16;1;10;45;0;0;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;7;16;1;3;45;0;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;32;30000;0;15;25;1;1;45;1;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;45;30000;0;30;25;1;1;45;1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;45;30000;0;30;25;1;1;45;1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;4;30000;0;16;26;1;6;1;-1;-2;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;5;30000;0;10;8;1;26;26;0;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;7;30000;0;9;26;1;3;26;0;4;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;9;30000;0;8;26;1;22;26;0;0;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;13;30000;0;8;8;1;1;26;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;25;30000;0;8;26;1;1;26;-2;4;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;26;30000;0;4;26;1;16;26;-2;3;1;1;0;1;1;2;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;26;30000;0;8;8;1;9;26;-1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;28;30000;0;8;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;13;8;1;19;26;1;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;13;8;1;4;26;0;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;45;30000;0;8;26;1;1;26;0;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;14;8;1;14;26;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;5;30000;0;13;26;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 @@ -839,21 +839,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;16;26;-2;3;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;9;30000;0;8;26;1;20;26;0;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;13;30000;0;15;26;1;16;0;-1;0;0;0;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;16;30000;0;8;8;1;16;1;0;3;0;1;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;8;16;1;24;26;0;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;25;30000;0;4;26;1;1;26;1;-2;0;1;1;1;1;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;8;8;1;21;26;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;25;30000;0;8;8;1;23;26;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;26;30000;0;8;8;1;1;26;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;13;26;1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;19;26;0;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;14;26;-2;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;12;8;1;24;26;1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;10;8;1;24;26;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;12;26;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;14;26;1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;23;26;-2;3;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;26;26;-1;3;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;13;8;1;22;26;-1;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;8;8;1;18;26;-2;1;0;1;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;5;26;-2;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;1;26;1;22;26;0;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;13;8;1;4;26;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;26;30000;0;4;8;1;1;26;0;4;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;28;30000;0;8;26;1;1;26;0;3;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;25;26;-1;3;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;11;26;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;45;30000;0;8;16;1;1;26;-1;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;2;26;-1;5;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;10;8;1;21;26;1;0;0;0;0;1;0;0;2;0;0 @@ -866,113 +866,113 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;28;30000;0;13;8;1;26;26;1;2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;32;30000;0;8;26;1;1;26;0;1;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;45;30000;0;15;26;1;1;26;0;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;4;30000;0;15;8;1;25;26;-1;6;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;20;26;1;10;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;20;26;1;5;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;7;30000;0;15;8;1;26;26;0;5;1;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;9;30000;0;15;8;1;26;26;1;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;9;26;1;4;26;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;14;30000;0;8;26;1;12;26;-2;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;15;8;1;17;26;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;14;30000;0;15;26;1;16;26;-1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;24;30000;0;16;8;1;1;26;0;0;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;26;30000;0;15;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;28;30000;0;15;8;1;1;26;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;32;30000;0;15;8;1;1;26;-1;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;45;30000;0;5;8;1;1;26;1;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;1;26;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;16;26;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;14;30000;0;8;26;1;6;26;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;26;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;-1;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;10;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;7;26;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;2;1;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;13;30000;0;17;26;1;1;26;0;-1;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;24;30000;0;12;8;1;1;1;-2;1;0;1;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;24;30000;0;8;8;1;19;1;1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;26;30000;0;15;26;1;1;1;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;32;30000;0;12;8;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;4;30000;0;30;8;1;6;26;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;30;8;1;26;26;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;30;8;1;17;26;0;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;11;26;1;9;26;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;15;26;1;16;26;1;2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;13;30000;0;15;26;1;1;26;0;-1;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;14;30000;0;15;16;1;6;26;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;25;30000;0;15;8;1;1;26;1;2;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;26;30000;0;5;8;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;16;1;14;26;0;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;16;1;25;26;0;1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;32;30000;0;3;8;1;1;26;1;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;59;8;1;17;26;1;3;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;4;30000;0;30;8;1;22;26;0;3;0;1;1;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;3;26;0;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;5;26;0;5;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;30;8;1;14;26;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;9;30000;0;20;26;1;1;26;-2;1;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;13;30000;0;15;8;1;23;26;0;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;13;30000;0;15;16;1;4;26;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;14;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;24;30000;0;15;26;1;1;1;-1;-1;1;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;25;30000;0;15;26;1;1;26;-2;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;15;26;1;1;1;-1;-2;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;28;30000;0;15;26;1;1;26;-2;-1;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;15;26;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;28;30000;0;15;26;1;1;26;-2;1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;45;30000;0;8;26;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;4;30000;0;30;8;1;3;28;-2;-1;1;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;16;28;0;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;17;28;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;16;1;9;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;16;8;1;3;28;1;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;18;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;0;-1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;26;30000;0;16;26;1;1;28;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;15;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;1;-2;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;26;30000;0;16;26;1;1;28;1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;28;30000;0;30;16;1;7;28;-2;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;0;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;1;-2;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;-2;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;8;32;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;9;32;-1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;23;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;9;30000;0;30;8;1;12;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1;0;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;8;32;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;24;30000;0;30;8;1;1;1;-1;-1;1;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;0;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;24;30000;0;15;8;1;23;1;0;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;25;30000;0;8;26;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;5;16;1;18;32;-2;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;5;8;1;9;32;-2;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;28;30000;0;4;8;1;1;32;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;23;8;1;16;45;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;23;26;1;11;45;1;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;27;16;1;18;45;1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;15;26;1;18;45;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;27;16;1;12;45;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;-1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;26;30000;0;5;26;1;1;45;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;28;30000;0;1;26;1;19;45;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;9;8;1;24;45;-2;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;7;8;1;22;45;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;45;30000;0;5;26;1;1;45;1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;7;1;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;26;28;1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;7;30000;0;9;8;1;6;28;0;4;0;0;1;1;1;2;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;15;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;7;30000;0;10;8;1;10;28;1;4;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;17;28;-2;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;16;1;23;28;-2;3;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;1;28;1;6;28;0;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;8;1;2;28;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;14;8;1;21;28;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;8;8;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;15;8;1;8;28;0;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;17;8;1;7;28;1;4;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;25;28;1;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;10;8;1;15;28;0;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;1;28;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;11;28;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;8;8;1;1;28;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;8;28;1;18;28;0;3;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;4;8;1;21;28;-2;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;13;8;1;27;28;-1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;13;8;1;15;28;0;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;8;8;1;28;28;0;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;17;8;1;11;28;-2;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;13;8;1;23;28;-1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;13;8;1;22;28;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;8;8;1;1;28;-1;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;12;8;1;16;28;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;12;8;1;19;28;-2;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;11;28;1;18;28;0;-2;0;0;1;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;15;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;9;30000;0;8;28;1;5;28;-2;4;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;13;30000;0;8;28;1;8;28;1;-1;1;0;0;1;0;0;2;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;11;8;1;2;28;1;2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;26;30000;0;21;28;1;7;28;-1;4;0;0;1;1;1;2;1;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;13;16;1;26;28;1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;14;8;1;28;28;-1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;6;8;1;8;28;0;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;13;8;1;13;28;1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;26;30000;0;17;8;1;11;28;-1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;17;8;1;28;28;1;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;17;8;1;13;28;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;17;8;1;26;28;-2;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;14;28;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;14;28;-2;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;15;8;1;4;28;0;-2;0;0;0;1;0;1;2;0;0 @@ -980,31 +980,31 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;9;30000;0;9;28;1;23;28;-1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;13;30000;0;9;28;1;4;28;1;-1;0;0;1;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;25;30000;0;15;28;1;1;28;0;4;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;26;30000;0;11;16;1;18;28;1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;11;16;1;28;28;0;3;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;16;1;13;28;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;11;16;1;27;28;0;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;16;1;18;28;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;45;30000;0;8;28;1;1;28;-2;2;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;8;1;12;28;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;8;28;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;7;30000;0;15;8;1;19;28;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;15;8;1;7;28;1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;8;1;1;28;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;17;16;1;23;28;-1;3;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;17;16;1;18;28;1;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;8;1;20;28;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;17;16;1;22;28;-2;2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;17;16;1;19;28;0;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;15;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;15;8;1;1;28;1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;5;16;1;23;28;-2;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;4;8;1;5;28;-2;4;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;30;8;1;22;28;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;14;28;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;30;16;1;19;28;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;9;30000;0;16;16;1;9;28;1;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;10;28;1;28;28;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;12;28;1;7;28;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;25;30000;0;9;28;1;1;28;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;30;8;1;1;28;0;5;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;28;30000;0;8;28;1;1;28;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;32;30000;0;10;8;1;1;28;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;4;30000;0;30;8;1;10;28;0;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;4;28;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;14;28;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;7;30000;0;30;8;1;23;28;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;9;30000;0;16;16;1;24;28;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;13;30000;0;20;28;1;12;28;-2;-1;0;0;0;1;0;2;0;0;0 @@ -1014,10 +1014,10 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;28;30000;0;8;28;1;1;28;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;32;30000;0;8;28;1;1;28;-2;1;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;45;30000;0;15;28;1;1;28;1;1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;4;30000;0;30;8;1;21;28;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;30;16;1;23;28;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;31;8;1;16;28;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;7;30000;0;30;8;1;11;28;-1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;9;30000;0;30;8;1;24;28;-1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;20;28;1;10;28;0;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;9;30000;0;15;8;1;27;28;1;3;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;20;28;1;10;28;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;14;30000;0;15;28;1;1;28;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;25;30000;0;16;28;1;1;28;-1;1;0;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;26;30000;0;16;28;1;1;28;-2;-1;1;1;1;1;0;0;0;0;1 @@ -1025,7 +1025,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;28;30000;0;15;16;1;25;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;32;30000;0;9;28;1;1;28;-2;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;4;30000;0;30;8;1;18;32;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;30;8;1;27;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;41;8;1;15;32;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;7;30000;0;30;8;1;8;32;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;9;30000;0;18;28;1;8;32;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;13;30000;0;17;28;1;1;32;0;1;0;0;1;1;0;2;0;0;1 @@ -1043,13 +1043,13 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;25;30000;0;7;8;1;1;45;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;26;30000;0;4;8;1;1;45;1;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;0;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;32;30000;0;15;28;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;5;8;1;2;45;-1;4;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;17;16;1;13;29;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;17;16;1;15;29;-1;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;4;8;1;26;45;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;15;16;1;11;29;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;17;16;1;19;29;-1;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;8;1;1;29;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;15;8;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;17;8;1;16;29;0;3;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;8;1;1;29;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;15;8;1;27;29;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;8;1;8;29;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;29;30000;0;15;8;1;1;29;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;55;30000;0;8;16;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;14;30000;0;15;16;1;7;29;1;-1;0;0;0;1;0;1;2;0;0 @@ -1057,13 +1057,13 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;16;30000;0;13;29;1;1;29;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;29;30000;0;8;29;1;1;29;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;32;30000;0;10;8;1;1;29;1;4;1;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;29;55;30000;0;8;29;1;1;29;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;14;30000;0;17;29;1;29;32;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;14;30000;0;17;29;1;28;32;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;29;30000;0;15;16;1;1;32;-1;1;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;32;30000;0;30;29;1;1;32;-2;5;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;55;30000;0;5;16;1;1;32;1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;16;30000;0;15;29;1;12;55;0;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;29;30000;0;27;8;1;1;55;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;32;30000;0;7;8;1;27;55;0;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;32;30000;0;9;8;1;19;55;0;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;55;30000;0;3;16;1;1;55;0;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;30;30000;0;8;30;1;1;1;-2;1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;76;30000;0;8;30;1;1;30;-1;1;0;0;0;1;0;0;0;0;0 @@ -1075,82 +1075,82 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;7;30000;0;13;8;1;29;32;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;9;30000;0;10;8;1;2;32;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;13;30000;0;15;8;1;19;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;17;30000;0;8;8;1;12;1;-2;5;1;0;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;8;8;1;1;32;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;25;30000;0;8;8;1;1;32;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;26;30000;0;8;8;1;1;32;-1;6;0;1;1;1;1;0;1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;28;30000;0;8;8;1;1;32;-1;-1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;32;30000;0;8;32;1;1;1;-1;-2;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;4;45;30000;0;8;8;1;1;32;-1;4;1;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;4;30000;0;16;8;1;27;1;0;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;4;30000;0;16;8;1;4;1;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;5;30000;0;15;8;1;8;1;0;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;15;8;1;16;32;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;9;30000;0;8;8;1;30;32;1;-1;0;0;0;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;7;30000;0;15;8;1;12;32;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;9;30000;0;10;8;1;18;32;-2;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;13;30000;0;8;32;1;26;1;-2;-2;0;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;17;30000;0;8;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;24;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;8;8;1;1;32;0;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;8;8;1;1;32;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;25;30000;0;8;8;1;1;32;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;26;30000;0;8;8;1;1;32;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;28;30000;0;8;8;1;1;32;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;32;30000;0;8;32;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;45;30000;0;4;8;1;1;32;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;4;30000;0;18;8;1;14;32;-2;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;5;30000;0;16;8;1;9;32;1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;7;30000;0;15;8;1;12;32;-1;4;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;9;30000;0;10;8;1;30;32;0;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;5;45;30000;0;8;8;1;1;32;-2;4;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;4;30000;0;18;8;1;19;32;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;5;30000;0;16;8;1;14;32;1;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;7;30000;0;14;8;1;29;32;0;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;9;30000;0;10;8;1;31;32;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;13;30000;0;8;8;1;9;32;-1;-1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;25;30000;0;8;8;1;1;32;1;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;26;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;25;30000;0;8;8;1;1;32;1;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;26;30000;0;8;8;1;1;32;1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;28;30000;0;8;8;1;1;32;0;0;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;8;8;1;1;32;0;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;32;30000;0;8;8;1;1;32;0;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;7;45;30000;0;8;8;1;1;32;1;1;1;0;0;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;4;30000;0;17;8;1;19;32;1;5;0;0;0;1;1;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;4;30000;0;24;8;1;20;32;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;5;30000;0;15;8;1;20;32;-1;4;1;1;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;7;30000;0;15;8;1;22;32;0;5;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;9;30000;0;15;8;1;11;32;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;13;30000;0;15;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;22;30000;0;6;8;1;1;32;0;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;25;30000;0;6;8;1;1;32;1;1;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;26;30000;0;5;16;1;1;32;1;4;0;1;1;1;1;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;26;30000;0;5;8;1;1;32;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;28;30000;0;6;8;1;1;32;-2;-2;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;32;30000;0;15;8;1;1;32;-1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;32;30000;0;4;8;1;1;32;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;9;45;30000;0;4;8;1;1;32;-1;-2;1;0;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;4;30000;0;22;32;1;8;1;-1;1;1;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;5;30000;0;20;32;1;8;1;-1;0;1;1;1;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;7;30000;0;17;8;1;3;32;0;6;0;1;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;9;30000;0;15;8;1;16;32;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;13;30000;0;13;32;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;14;30000;0;15;32;1;18;32;-1;4;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;17;30000;0;15;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;24;30000;0;30;8;1;3;32;-1;0;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;9;30000;0;15;8;1;13;32;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;13;30000;0;13;32;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;14;30000;0;15;8;1;19;32;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;17;30000;0;14;32;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;24;30000;0;31;8;1;2;32;0;-2;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;25;30000;0;15;8;1;1;32;-2;-2;1;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;26;30000;0;30;8;1;7;32;-1;-2;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;28;30000;0;30;8;1;22;32;0;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;26;30000;0;32;8;1;8;32;0;1;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;28;30000;0;30;8;1;25;32;0;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;32;30000;0;8;32;1;1;1;-2;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;13;45;30000;0;5;8;1;1;32;-1;1;0;0;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;13;30000;0;15;32;1;28;32;-2;6;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;14;30000;0;15;8;1;14;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;25;30000;0;15;32;1;1;32;-1;4;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;26;30000;0;15;32;1;1;32;-2;4;1;1;1;1;1;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;29;30000;0;8;8;1;1;32;-2;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;32;30000;0;8;16;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;29;30000;0;8;16;1;1;32;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;14;32;30000;0;8;16;1;1;32;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;30;8;1;21;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;5;30000;0;29;8;1;31;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;27;8;1;31;1;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;27;8;1;23;1;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;17;30000;0;15;32;1;1;1;-1;1;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;12;8;1;1;1;-2;1;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;27;8;1;8;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;22;30000;0;12;8;1;1;1;1;4;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;17;8;1;1;1;1;1;1;0;0;1;1;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;30;8;1;27;32;1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;27;8;1;14;32;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;7;8;1;1;1;1;0;0;0;0;1;0;1;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;39;8;1;1;32;1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;28;8;1;14;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;24;30000;0;12;8;1;1;32;-2;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;26;30000;0;12;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;13;8;1;1;1;-1;0;0;0;0;1;1;2;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;31;8;1;9;32;-1;4;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;30;8;1;22;32;0;4;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;42;8;1;22;32;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;30;8;1;21;32;0;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;7;30000;0;30;32;1;24;32;1;4;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;30;8;1;13;32;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;15;8;1;27;32;-2;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;13;30000;0;30;32;1;12;32;-2;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;10;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;12;32;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;26;30000;0;15;32;1;1;32;1;1;1;1;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;28;30000;0;6;16;1;1;32;-1;4;1;0;1;1;0;0;0;0;0 @@ -1159,35 +1159,35 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;45;30000;0;10;8;1;1;32;-2;4;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;4;30000;0;30;32;1;25;32;1;4;1;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;5;30000;0;31;32;1;24;32;1;4;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;7;30000;0;30;32;1;11;32;1;4;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;15;8;1;12;32;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;30;8;1;8;32;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;9;32;1;7;32;0;-1;0;0;1;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;30;32;1;26;32;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;24;30000;0;10;8;1;1;1;0;0;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;25;30000;0;10;32;1;1;32;-1;4;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;11;1;-2;4;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;25;1;0;4;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;30;16;1;1;32;-1;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;15;8;1;1;1;-1;-2;1;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;45;30000;0;20;8;1;1;32;-1;5;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;4;30000;0;42;8;1;28;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;5;30000;0;42;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;7;30000;0;30;8;1;5;32;1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;18;32;1;4;32;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;15;32;1;23;32;-1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;13;30000;0;30;8;1;5;32;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;59;8;1;1;32;-2;4;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;1;32;0;3;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;2;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;59;8;1;26;32;0;-2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;1;32;0;0;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;0;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;32;30000;0;20;8;1;1;32;-2;-2;1;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;45;30000;0;20;8;1;1;32;1;-2;0;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;30;16;1;6;32;0;3;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;45;30000;0;20;8;1;1;32;-1;3;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;30;16;1;20;32;0;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;30;16;1;1;32;1;-2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;32;30000;0;20;8;1;1;32;-2;0;1;1;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;55;30000;0;59;8;1;1;32;-1;4;0;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;4;30000;0;41;8;1;1;1;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;4;30000;0;41;8;1;1;1;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;5;30000;0;30;8;1;13;1;1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;7;30000;0;30;8;1;14;32;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;9;30000;0;30;8;1;8;1;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;13;30000;0;30;8;1;17;1;1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;1;32;1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;20;32;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;17;30000;0;11;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;22;30000;0;8;32;1;1;1;1;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;24;30000;0;8;32;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 @@ -1198,21 +1198,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;29;30000;0;8;32;1;1;32;-2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;32;30000;0;8;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;45;30000;0;10;32;1;1;32;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;55;30000;0;10;32;1;1;32;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;4;30000;0;61;8;1;8;45;1;4;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;5;30000;0;61;8;1;14;45;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;4;30000;0;61;8;1;6;45;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;5;30000;0;30;8;1;22;45;-2;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;7;30000;0;28;32;1;2;45;-1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;60;8;1;12;45;0;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;27;16;1;23;45;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;13;30000;0;28;8;1;5;45;-2;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;25;30000;0;16;8;1;1;45;-1;5;0;0;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;28;45;1;-2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;25;30000;0;33;8;1;12;45;-2;1;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;30;45;1;-1;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;28;30000;0;12;8;1;1;45;1;5;1;1;0;1;1;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;17;8;1;1;45;1;2;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;17;16;1;1;45;1;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;45;30000;0;12;8;1;1;45;-2;-2;0;0;1;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;12;16;1;19;55;-2;2;0;0;0;1;1;0;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;59;16;1;1;55;0;-1;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;8;8;1;1;55;-2;0;1;0;0;1;1;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;12;8;1;1;1;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;32;30000;0;10;8;1;3;1;0;0;0;1;0;1;1;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;59;16;1;1;55;0;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;60;16;1;1;55;0;2;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;8;8;1;25;1;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;32;30000;0;6;8;1;6;1;-1;0;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;32;35;30000;0;11;8;1;33;35;-1;5;1;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;35;32;30000;0;9;8;1;21;35;0;0;0;0;0;1;0;0;2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;35;35;30000;0;9;8;1;34;1;0;4;0;1;1;1;1;2;0;1;1 From 6f1065d9e271c9fecb85d6bf715db42a3c74ac8e Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 29 May 2024 09:25:45 +0200 Subject: [PATCH 30/74] ocl: always print number of devices found * Using the CUDA backend, ACC_OPENCL_VERBOSE is not available. * Prints the activated device and number of found devices. * Helps, e.g., CI to capture basic information. --- src/acc/acc_bench_smm.c | 4 +--- src/acc/acc_bench_trans.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/acc/acc_bench_smm.c b/src/acc/acc_bench_smm.c index 412c40eadc9..81458de3b14 100644 --- a/src/acc/acc_bench_smm.c +++ b/src/acc/acc_bench_smm.c @@ -227,9 +227,7 @@ int main(int argc, char* argv[]) { int ndevices = 0; result = c_dbcsr_acc_get_ndevices(&ndevices); if (0 < ndevices && (0 == device || EXIT_SUCCESS == c_dbcsr_acc_set_active_device(device))) { -#if defined(_DEBUG) - fprintf(stderr, "Activated device %i of %i (device%i).\n", device + 1, ndevices, device); -#endif + PRINTF("Activated device%i (ndevices=%i)\n", device, ndevices); } else { if (0 >= ndevices) { diff --git a/src/acc/acc_bench_trans.c b/src/acc/acc_bench_trans.c index be5643478eb..07101a187df 100644 --- a/src/acc/acc_bench_trans.c +++ b/src/acc/acc_bench_trans.c @@ -123,9 +123,7 @@ int main(int argc, char* argv[]) { if (EXIT_SUCCESS == result) { result = c_dbcsr_acc_get_ndevices(&ndevices); if (0 < ndevices && (0 == device || EXIT_SUCCESS == c_dbcsr_acc_set_active_device(device))) { -#if defined(_DEBUG) - fprintf(stderr, "Activated device %i of %i (device%i).\n", device + 1, ndevices, device); -#endif + printf("Activated device%i (ndevices=%i)\n", device, ndevices); } else { if (0 >= ndevices) { From a13ef3cc1b7f7cfe0df306bce617475dafc0c481 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 29 May 2024 10:20:29 +0200 Subject: [PATCH 31/74] ocl: always print number of devices --- src/acc/acc_bench_smm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/acc/acc_bench_smm.c b/src/acc/acc_bench_smm.c index 81458de3b14..79bf0625f03 100644 --- a/src/acc/acc_bench_smm.c +++ b/src/acc/acc_bench_smm.c @@ -227,7 +227,7 @@ int main(int argc, char* argv[]) { int ndevices = 0; result = c_dbcsr_acc_get_ndevices(&ndevices); if (0 < ndevices && (0 == device || EXIT_SUCCESS == c_dbcsr_acc_set_active_device(device))) { - PRINTF("Activated device%i (ndevices=%i)\n", device, ndevices); + printf("Activated device%i (ndevices=%i)\n", device, ndevices); } else { if (0 >= ndevices) { From 9a2de383bffc98b1c2883f42770c09d2774efed9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:47:49 +0000 Subject: [PATCH 32/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.5 → v0.4.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.5...v0.4.7) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 30c12af0c4f..1ff22300800 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.5' + rev: 'v0.4.7' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 6c23d95ac3f6100898dda2fb01e37a3c55ee65f5 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 30 May 2024 10:00:34 +0200 Subject: [PATCH 33/74] ocl: changed license to BSD-3-Clause * Harmonize with CP2K/offload interface/component. * Added license header (pre-commit check). * Added LICENSE.md (src/acc/opencl). --- .pre-commit/headers/c_cpp.3 | 8 ++++++++ src/acc/opencl/acc_opencl.c | 2 +- src/acc/opencl/acc_opencl.h | 2 +- src/acc/opencl/acc_opencl_event.c | 2 +- src/acc/opencl/acc_opencl_mem.c | 2 +- src/acc/opencl/acc_opencl_stream.c | 2 +- src/acc/opencl/common/opencl_atomics.h | 2 +- src/acc/opencl/common/opencl_common.h | 2 +- src/acc/opencl/smm/kernels/multiply.cl | 2 +- src/acc/opencl/smm/kernels/transpose.cl | 2 +- src/acc/opencl/smm/opencl_libsmm.c | 2 +- src/acc/opencl/smm/opencl_libsmm.h | 2 +- 12 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 .pre-commit/headers/c_cpp.3 diff --git a/.pre-commit/headers/c_cpp.3 b/.pre-commit/headers/c_cpp.3 new file mode 100644 index 00000000000..dffab6af0d4 --- /dev/null +++ b/.pre-commit/headers/c_cpp.3 @@ -0,0 +1,8 @@ +/*------------------------------------------------------------------------------------------------*/ +/* Copyright (C) by the DBCSR developers group - All rights reserved */ +/* This file is part of the DBCSR library. */ +/* */ +/* For information on the license, see the LICENSE file. */ +/* For further information please visit https://dbcsr.cp2k.org */ +/* SPDX-License-Identifier: BSD-3-Clause */ +/*------------------------------------------------------------------------------------------------*/ diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 034d3df92c1..d7d55289775 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #if defined(__OPENCL) # include "acc_opencl.h" diff --git a/src/acc/opencl/acc_opencl.h b/src/acc/opencl/acc_opencl.h index 5a074805a61..cd6639983fd 100644 --- a/src/acc/opencl/acc_opencl.h +++ b/src/acc/opencl/acc_opencl.h @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #ifndef ACC_OPENCL_H #define ACC_OPENCL_H diff --git a/src/acc/opencl/acc_opencl_event.c b/src/acc/opencl/acc_opencl_event.c index 7fde985a04e..34b0782f05d 100644 --- a/src/acc/opencl/acc_opencl_event.c +++ b/src/acc/opencl/acc_opencl_event.c @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #if defined(__OPENCL) # include "acc_opencl.h" diff --git a/src/acc/opencl/acc_opencl_mem.c b/src/acc/opencl/acc_opencl_mem.c index fece7545bfc..41fc76519c0 100644 --- a/src/acc/opencl/acc_opencl_mem.c +++ b/src/acc/opencl/acc_opencl_mem.c @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #if defined(__OPENCL) # include "acc_opencl.h" diff --git a/src/acc/opencl/acc_opencl_stream.c b/src/acc/opencl/acc_opencl_stream.c index 4a90f0dc068..adb414a3a66 100644 --- a/src/acc/opencl/acc_opencl_stream.c +++ b/src/acc/opencl/acc_opencl_stream.c @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #if defined(__OPENCL) # include "acc_opencl.h" diff --git a/src/acc/opencl/common/opencl_atomics.h b/src/acc/opencl/common/opencl_atomics.h index 7809a5216cd..ac2a799f792 100644 --- a/src/acc/opencl/common/opencl_atomics.h +++ b/src/acc/opencl/common/opencl_atomics.h @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #ifndef OPENCL_ATOMICS_H #define OPENCL_ATOMICS_H diff --git a/src/acc/opencl/common/opencl_common.h b/src/acc/opencl/common/opencl_common.h index e19b099955b..d41ee49acc5 100644 --- a/src/acc/opencl/common/opencl_common.h +++ b/src/acc/opencl/common/opencl_common.h @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #ifndef OPENCL_COMMON_H #define OPENCL_COMMON_H diff --git a/src/acc/opencl/smm/kernels/multiply.cl b/src/acc/opencl/smm/kernels/multiply.cl index cb4562a5db3..b2e1de6a450 100644 --- a/src/acc/opencl/smm/kernels/multiply.cl +++ b/src/acc/opencl/smm/kernels/multiply.cl @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #include "../../common/opencl_atomics.h" diff --git a/src/acc/opencl/smm/kernels/transpose.cl b/src/acc/opencl/smm/kernels/transpose.cl index 3e5bbc75a29..0d30fa73709 100644 --- a/src/acc/opencl/smm/kernels/transpose.cl +++ b/src/acc/opencl/smm/kernels/transpose.cl @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ __attribute__((reqd_work_group_size(SWG, 1, 1))) kernel void FN( diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index e6656c90c29..58334d1fbff 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #if defined(__OPENCL) # include "opencl_libsmm.h" diff --git a/src/acc/opencl/smm/opencl_libsmm.h b/src/acc/opencl/smm/opencl_libsmm.h index 8a354ca78ec..8e03b2e4565 100644 --- a/src/acc/opencl/smm/opencl_libsmm.h +++ b/src/acc/opencl/smm/opencl_libsmm.h @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #ifndef OPENCL_LIBSMM_H #define OPENCL_LIBSMM_H From 01e10a076e5346704864625c348e4992c3383cf9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 17:50:55 +0000 Subject: [PATCH 34/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.7 → v0.4.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.7...v0.4.8) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1ff22300800..c49daa63326 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.7' + rev: 'v0.4.8' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From a026445e5849c6b787a9983cba5051bb0314caf8 Mon Sep 17 00:00:00 2001 From: Augustin Bussy Date: Wed, 29 May 2024 13:57:00 +0200 Subject: [PATCH 35/74] Allow tunring off DBCSR ACC with env variable --- src/core/dbcsr_config.F | 42 +++++++++++++++++++++++++++++++++---- src/core/dbcsr_lib.F | 6 +++--- src/mm/dbcsr_mm.F | 12 +++++------ src/mm/dbcsr_mm_3d.F | 24 ++++++++++----------- src/mm/dbcsr_mm_cannon.F | 44 +++++++++++++++++++-------------------- src/mm/dbcsr_mm_hostdrv.F | 6 +++--- src/mm/dbcsr_mm_sched.F | 12 +++++------ 7 files changed, 90 insertions(+), 56 deletions(-) diff --git a/src/core/dbcsr_config.F b/src/core/dbcsr_config.F index ddc296aeb63..dd377fe059d 100644 --- a/src/core/dbcsr_config.F +++ b/src/core/dbcsr_config.F @@ -153,6 +153,7 @@ MODULE dbcsr_config SET_PARAMETER_DEFAULT(COMM_THREAD_LOAD, CONF_PAR_INT, 100) SET_PARAMETER_DEFAULT(MM_DENSE, CONF_PAR_LOGICAL,.NOT. has_acc) SET_PARAMETER_DEFAULT(MULTREC_LIMIT, CONF_PAR_INT, 512) + SET_PARAMETER_DEFAULT(TURN_OFF_ACC, CONF_PAR_LOGICAL, .FALSE.) SET_PARAMETER_DEFAULT(ACCDRV_THREAD_BUFFERS, CONF_PAR_INT, 8) TYPE(CONF_PAR_LOGICAL) :: ACCDRV_AVOID_AFTER_BUSY = & CONF_PAR_LOGICAL(name="ACCDRV_AVOID_AFTER_BUSY", val=.FALSE., defval=.FALSE.) @@ -184,6 +185,7 @@ MODULE dbcsr_config PUBLIC :: dbcsr_set_config, dbcsr_get_default_config, dbcsr_print_config PUBLIC :: max_kernel_dim PUBLIC :: get_accdrv_active_device_id, set_accdrv_active_device_id, reset_accdrv_active_device_id + PUBLIC :: use_acc CONTAINS @@ -340,6 +342,7 @@ SUBROUTINE dbcsr_set_config( & comm_thread_load, & mm_dense, & multrec_limit, & + turn_off_acc, & accdrv_thread_buffers, & accdrv_avoid_after_busy, & accdrv_min_flop_process, & @@ -368,6 +371,7 @@ SUBROUTINE dbcsr_set_config( & LOGICAL, INTENT(IN), OPTIONAL :: use_comm_thread INTEGER, INTENT(IN), OPTIONAL :: comm_thread_load LOGICAL, INTENT(IN), OPTIONAL :: mm_dense + LOGICAL, INTENT(IN), OPTIONAL :: turn_off_acc INTEGER, INTENT(IN), OPTIONAL :: multrec_limit, accdrv_thread_buffers LOGICAL, INTENT(IN), OPTIONAL :: accdrv_avoid_after_busy INTEGER, INTENT(IN), OPTIONAL :: accdrv_min_flop_process @@ -389,7 +393,7 @@ SUBROUTINE dbcsr_set_config( & CALL dbcsr_cfg%num_layers_3D%set(num_layers_3D) CALL dbcsr_cfg%use_comm_thread%set(use_comm_thread) CALL dbcsr_cfg%multrec_limit%set(multrec_limit) - CALL dbcsr_cfg%mm_dense%set(mm_dense) + CALL dbcsr_cfg%turn_off_acc%set(turn_off_acc) CALL dbcsr_cfg%accdrv_thread_buffers%set(accdrv_thread_buffers) CALL dbcsr_cfg%accdrv_avoid_after_busy%set(accdrv_avoid_after_busy) CALL dbcsr_cfg%accdrv_min_flop_process%set(accdrv_min_flop_process) @@ -419,9 +423,22 @@ SUBROUTINE dbcsr_set_config( & CALL dbcsr_cfg%comm_thread_load%set(comm_thread_load) CALL dbcsr_cfg%n_stacks%set(nstacks) - CALL dbcsr_cfg%mm_stack_size%set(mm_stack_size) CALL dbcsr_cfg%mm_driver%set(mm_driver) + ! If ACC is turned-off, use the CPU defaults + IF (.NOT. PRESENT(mm_stack_size) .AND. dbcsr_cfg%turn_off_acc%val) THEN + CALL dbcsr_cfg%mm_stack_size%set(1000) + ELSE + CALL dbcsr_cfg%mm_stack_size%set(mm_stack_size) + END IF + + IF (.NOT. PRESENT(mm_stack_size) .AND. dbcsr_cfg%turn_off_acc%val) THEN + CALL dbcsr_cfg%mm_dense%set(.TRUE.) + ELSE + CALL dbcsr_cfg%mm_dense%set(mm_dense) + END IF + + END SUBROUTINE dbcsr_set_config SUBROUTINE dbcsr_get_default_config( & @@ -435,6 +452,7 @@ SUBROUTINE dbcsr_get_default_config( & use_comm_thread, & comm_thread_load, & mm_dense, & + turn_off_acc, & multrec_limit, & accdrv_thread_buffers, & accdrv_avoid_after_busy, & @@ -455,7 +473,7 @@ SUBROUTINE dbcsr_get_default_config( & INTEGER, INTENT(OUT), OPTIONAL :: num_layers_3D LOGICAL, INTENT(OUT), OPTIONAL :: use_comm_thread INTEGER, INTENT(OUT), OPTIONAL :: comm_thread_load - LOGICAL, INTENT(OUT), OPTIONAL :: mm_dense + LOGICAL, INTENT(OUT), OPTIONAL :: mm_dense, turn_off_acc INTEGER, INTENT(OUT), OPTIONAL :: multrec_limit, accdrv_thread_buffers LOGICAL, INTENT(OUT), OPTIONAL :: accdrv_avoid_after_busy INTEGER, INTENT(OUT), OPTIONAL :: accdrv_min_flop_process @@ -478,6 +496,7 @@ SUBROUTINE dbcsr_get_default_config( & IF (PRESENT(comm_thread_load)) comm_thread_load = dbcsr_cfg%comm_thread_load%defval IF (PRESENT(mm_dense)) mm_dense = dbcsr_cfg%mm_dense%defval IF (PRESENT(multrec_limit)) multrec_limit = dbcsr_cfg%multrec_limit%defval + IF (PRESENT(turn_off_acc)) turn_off_acc = dbcsr_cfg%turn_off_acc%defval IF (PRESENT(accdrv_thread_buffers)) accdrv_thread_buffers = dbcsr_cfg%accdrv_thread_buffers%defval IF (PRESENT(accdrv_avoid_after_busy)) accdrv_avoid_after_busy = dbcsr_cfg%accdrv_avoid_after_busy%defval IF (PRESENT(accdrv_min_flop_process)) accdrv_min_flop_process = dbcsr_cfg%accdrv_min_flop_process%defval @@ -607,7 +626,12 @@ SUBROUTINE dbcsr_print_config(unit_nr) END IF END BLOCK - IF (has_acc) THEN + IF (dbcsr_cfg%turn_off_acc%val) THEN + WRITE (UNIT=unit_nr, FMT='(1X,A,T81,A4)') & + "DBCSR| ACC is turned off: only CPU is used", dbcsr_cfg%turn_off_acc%print_source() + END IF + + IF (use_acc()) THEN WRITE (UNIT=unit_nr, FMT='(1X,A,T70,I11)') & "DBCSR| ACC: Number of devices/node", dbcsr_acc_get_ndevices() WRITE (UNIT=unit_nr, FMT='(1X,A,T70,I11,A4)') & @@ -671,4 +695,14 @@ SUBROUTINE reset_accdrv_active_device_id() accdrv_active_device_id = default_accdrv_active_device_id END SUBROUTINE reset_accdrv_active_device_id + FUNCTION use_acc() + LOGICAL :: use_acc + + IF (has_acc .AND. .NOT. dbcsr_cfg%turn_off_acc%val) THEN + use_acc = .TRUE. + ELSE + use_acc = .FALSE. + END IF + END FUNCTION use_acc + END MODULE dbcsr_config diff --git a/src/core/dbcsr_lib.F b/src/core/dbcsr_lib.F index 293be20e73d..401abe931da 100644 --- a/src/core/dbcsr_lib.F +++ b/src/core/dbcsr_lib.F @@ -15,7 +15,7 @@ MODULE dbcsr_lib USE dbcsr_config, ONLY: set_accdrv_active_device_id, & reset_accdrv_active_device_id, & dbcsr_set_config, & - has_acc + use_acc USE dbcsr_kinds, ONLY: int_1_size, & int_2_size, & int_4_size, & @@ -213,7 +213,7 @@ SUBROUTINE dbcsr_init_lib_pre(mp_comm, io_unit, accdrv_active_device_id) #endif ! Initialize Acc and set active device - IF (has_acc) THEN + IF (use_acc()) THEN IF (PRESENT(accdrv_active_device_id)) THEN CALL set_accdrv_active_device_id(accdrv_active_device_id) ELSEIF (dbcsr_acc_get_ndevices() > 0) THEN @@ -313,7 +313,7 @@ SUBROUTINE dbcsr_finalize_lib() #endif ! Reset Acc ID CALL reset_accdrv_active_device_id() - IF (has_acc) THEN + IF (use_acc()) THEN CALL acc_finalize() END IF diff --git a/src/mm/dbcsr_mm.F b/src/mm/dbcsr_mm.F index ba1d29ed204..b3d475310e6 100644 --- a/src/mm/dbcsr_mm.F +++ b/src/mm/dbcsr_mm.F @@ -26,7 +26,7 @@ MODULE dbcsr_mm USE dbcsr_config, ONLY: dbcsr_cfg, & dbcsr_set_config, & default_resize_factor, & - has_acc + use_acc USE dbcsr_data_methods, ONLY: dbcsr_data_set_size_referenced, & dbcsr_scalar_are_equal, & dbcsr_scalar_one, & @@ -153,7 +153,7 @@ SUBROUTINE dbcsr_multiply_lib_init() ! Each thread has its own working-matrix and its own mempool ALLOCATE (memtype_product_wm(ithread)%p) - CALL dbcsr_memtype_setup(memtype_product_wm(ithread)%p, has_pool=dbcsr_cfg%use_mempools_cpu%val .OR. has_acc) + CALL dbcsr_memtype_setup(memtype_product_wm(ithread)%p, has_pool=dbcsr_cfg%use_mempools_cpu%val .OR. use_acc()) CALL dbcsr_mempool_limit_capacity(memtype_product_wm(ithread)%p%pool, capacity=MAX(1, dbcsr_cfg%num_layers_3D%val)) END SUBROUTINE dbcsr_multiply_lib_init @@ -438,7 +438,7 @@ SUBROUTINE dbcsr_multiply_generic(transa, transb, & CALL array_nullify(dense_row_sizes) ! Reset GPU errors - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_acc_clear_errors() END IF @@ -447,12 +447,12 @@ SUBROUTINE dbcsr_multiply_generic(transa, transb, & ! give any performance benefit) CALL check_openmpi_rma() - use_mempools = dbcsr_cfg%use_mempools_cpu%val .OR. has_acc + use_mempools = dbcsr_cfg%use_mempools_cpu%val .OR. use_acc() ! setup driver-dependent memory-types and their memory-pools --------------- ! the ab_buffers are shared by all threads - IF (has_acc) THEN + IF (use_acc()) THEN IF (.NOT. acc_stream_associated(stream_1)) THEN CALL acc_stream_create(stream_1, "MemCpy (odd ticks)") CALL acc_stream_create(stream_2, "MemCpy (even ticks)") @@ -616,7 +616,7 @@ SUBROUTINE dbcsr_multiply_generic(transa, transb, & END IF ab_dense = use_dense_mult ! Use memory pools when no dense - IF (.NOT. has_acc) THEN + IF (.NOT. use_acc()) THEN CALL dbcsr_memtype_setup(memtype_abpanel_1, has_pool=.NOT. ab_dense .AND. use_mempools, mpi=.TRUE.) CALL dbcsr_memtype_setup(memtype_abpanel_2, has_pool=.NOT. ab_dense .AND. use_mempools, mpi=.TRUE.) END IF diff --git a/src/mm/dbcsr_mm_3d.F b/src/mm/dbcsr_mm_3d.F index 8974bd6aa40..dd3f9a03618 100644 --- a/src/mm/dbcsr_mm_3d.F +++ b/src/mm/dbcsr_mm_3d.F @@ -28,7 +28,7 @@ MODULE dbcsr_mm_3d dbcsr_data_clear, & dbcsr_data_set USE dbcsr_config, ONLY: dbcsr_cfg, & - has_acc + use_acc USE dbcsr_data_methods, ONLY: & dbcsr_data_clear_pointer, dbcsr_data_ensure_size, dbcsr_data_exists, & dbcsr_data_get_memory_type, dbcsr_data_get_size, dbcsr_data_get_size_referenced, & @@ -1436,7 +1436,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & IF (ASSOCIATED(memtype_abpanel_2%pool)) & CALL dbcsr_mempool_limit_capacity(memtype_abpanel_2%pool, & capacity=2) - IF (has_acc) THEN + IF (use_acc()) THEN ! enumerate the blocksizes to keep the following 2D-arrays small. CALL enumerate_blk_sizes(matrix_right%row_blk_size%low%data, & dbcsr_max_row_size(matrix_right), & @@ -1544,7 +1544,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & ! ! Evaluate sizes for workspaces size_guess_init = 1 - IF (.NOT. keep_sparsity .AND. has_acc) THEN + IF (.NOT. keep_sparsity .AND. use_acc()) THEN size_guess_init = product_matrix_size_guess(matrix_left, matrix_right, product_matrix, & left_max_data_size, right_max_data_size, & left_col_nimages, right_row_nimages, & @@ -1733,7 +1733,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & IF (is_not_comm) THEN ! Right IF (do_comm_right(icol3D)) THEN - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_acc_sync_right", handle2) CALL acc_event_synchronize(right_buffer_p%data%d%acc_ready) CALL timestop(handle2) @@ -1749,7 +1749,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & END IF ! Left IF (do_comm_left(irow3D)) THEN - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_acc_sync_left", handle2) CALL acc_event_synchronize(left_buffer_p%data%d%acc_ready) CALL timestop(handle2) @@ -1967,7 +1967,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & ileft_buffer_calc = MIN(ileft_buffer_calc, nbuffers_norms) ! check if right matrix was already initialized IF (.NOT. right_buffer_p%matrix%valid) THEN - IF (has_acc) CALL dbcsr_data_host2dev(right_buffer_p%data) + IF (use_acc()) CALL dbcsr_data_host2dev(right_buffer_p%data) ! Repoint indices of matrices CALL make_meta(right_buffer_p, & right_row_total_nimages, & @@ -1985,7 +1985,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & right_norms(:, iright_buffer_calc), & k_sizes, n_sizes(icol3D)%sizes) END IF - IF (has_acc) THEN + IF (use_acc()) THEN CALL acc_transpose_blocks(right_buffer_p%matrix, & right_buffer_p%trs_stackbuf, & k_sizes, n_sizes(icol3D)%sizes, & @@ -1996,7 +1996,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & END IF ! check if left matrix was already initialized IF (.NOT. left_buffer_p%matrix%valid) THEN - IF (has_acc) CALL dbcsr_data_host2dev(left_buffer_p%data) + IF (use_acc()) CALL dbcsr_data_host2dev(left_buffer_p%data) ! Repoint indices of matrices CALL make_meta(left_buffer_p, & left_col_total_nimages, & @@ -2012,7 +2012,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & END IF END IF ! Wait for left and right buffers transfer to device before proceeding - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_sync_h2d", handle2) CALL acc_device_synchronize() CALL timestop(handle2) @@ -2224,7 +2224,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & CALL dbcsr_data_release(right_buffers(v_ki)%data) NULLIFY (right_buffers(v_ki)%matrix%index) CALL dbcsr_release(right_buffers(v_ki)%matrix) - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_data_clear_pointer(right_buffers(v_ki)%trs_stackbuf) IF (right_buffers(v_ki)%trs_stackbuf%d%memory_type%acc_devalloc) THEN CALL acc_event_destroy(right_buffers(v_ki)%trs_stackbuf%d%acc_ready) @@ -2235,7 +2235,7 @@ SUBROUTINE multiply_3D(imgdist_left, imgdist_right, & DEALLOCATE (left_buffers, right_buffers) DEALLOCATE (do_comm_left, do_comm_right) DEALLOCATE (right_vcol, left_vrow) - IF (has_acc) THEN + IF (use_acc()) THEN DEALLOCATE (row_blk_sizes2enum, enum2row_blk_sizes) DEALLOCATE (col_blk_sizes2enum, enum2col_blk_sizes) END IF @@ -2544,7 +2544,7 @@ SUBROUTINE buffer_init(buffer, data_type, & CALL dbcsr_data_init(buffer%data_before_resize) CALL dbcsr_data_new(buffer%data_before_resize, data_type, memory_type=data_memory_type) END IF - new_trs_stackbuf = PRESENT(trs_memory_type) .AND. has_acc + new_trs_stackbuf = PRESENT(trs_memory_type) .AND. use_acc() ! IF (buffer%is_valid) THEN ! Invalid buffers if data_type is different diff --git a/src/mm/dbcsr_mm_cannon.F b/src/mm/dbcsr_mm_cannon.F index fffd7f5d109..53b1f7faf7c 100644 --- a/src/mm/dbcsr_mm_cannon.F +++ b/src/mm/dbcsr_mm_cannon.F @@ -32,7 +32,7 @@ MODULE dbcsr_mm_cannon dbcsr_block_transpose_aa, & dbcsr_block_transpose USE dbcsr_config, ONLY: dbcsr_cfg, & - has_acc + use_acc USE dbcsr_data_methods, ONLY: & dbcsr_data_clear_pointer, dbcsr_data_ensure_size, dbcsr_data_get_size, & dbcsr_data_get_size_referenced, dbcsr_data_hold, dbcsr_data_host2dev, dbcsr_data_init, & @@ -1172,7 +1172,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & !! ! Evaluate sizes for workspaces IF (.NOT. keep_sparsity) THEN - IF (has_acc) THEN + IF (use_acc()) THEN size_guess_init = product_matrix_size_guess(left_set%mats(1, 1), right_set%mats(1, 1), product_matrix, & left_max_nze, right_max_nze, & left_col_nimages, right_row_nimages, & @@ -1214,7 +1214,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & IF (ASSOCIATED(memtype_abpanel_2%pool)) & CALL dbcsr_mempool_limit_capacity(memtype_abpanel_2%pool, & capacity=left_row_mult*left_col_nimages + right_row_nimages*right_col_mult + 1) - IF (has_acc) THEN + IF (use_acc()) THEN ! enumerate the blocksizes to keep the following 2D-arrays small. CALL enumerate_blk_sizes(right_set%mats(1, 1)%row_blk_size%low%data, & dbcsr_max_row_size(right_set%mats(1, 1)), & @@ -1319,7 +1319,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & CALL dbcsr_data_new(right_data_rp, data_type) ! Setup transpose stackbuffers - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_data_init(trs_stackbuf_1) CALL dbcsr_data_init(trs_stackbuf_2) CALL dbcsr_data_new(trs_stackbuf_1, data_type=dbcsr_type_int_4, & @@ -1422,7 +1422,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & vprow_shift=metronome + right_row_nimages, & shifting='R') ! - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_acc_sync_right", handle3) CALL acc_event_synchronize(right_buffer_comm%mats(v_ki + 1, 1)%data_area%d%acc_ready) CALL timestop(handle3) @@ -1545,7 +1545,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & vpcol_shift=metronome + left_col_nimages, & shifting='L') ! - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_acc_sync_left", handle3) CALL acc_event_synchronize(left_buffer_comm%mats(1, v_ki + 1)%data_area%d%acc_ready) CALL timestop(handle3) @@ -1617,7 +1617,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & array_data(right_buffer_calc%mats(v_ki_right, 1)%local_rows), & k_sizes) ! - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_data_host2dev(left_buffer_calc%mats(1, v_ki_left)%data_area) CALL dbcsr_data_host2dev(right_buffer_calc%mats(v_ki_right, 1)%data_area) CALL acc_transpose_blocks(right_buffer_calc%mats(v_ki_right, 1), trs_stackbuf_calc, & @@ -1637,7 +1637,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & END IF ! Wait for left and right buffers transfer to device before proceeding - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_sync_h2d", handle2) CALL acc_device_synchronize() CALL timestop(handle2) @@ -1716,7 +1716,7 @@ SUBROUTINE multiply_cannon(left_set, right_set, product_matrix, & CALL m_memory(mem) max_memory = MAX(max_memory, REAL(mem)) - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_data_release(trs_stackbuf_1) CALL dbcsr_data_release(trs_stackbuf_2) DEALLOCATE (row_blk_sizes2enum, enum2row_blk_sizes) @@ -2121,7 +2121,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & !! ! Evaluate sizes for workspaces IF (.NOT. keep_sparsity) THEN - IF (has_acc) THEN + IF (use_acc()) THEN size_guess_init = product_matrix_size_guess(left_set%mats(1, 1), right_set%mats(1, 1), product_matrix, & left_max_nze, right_max_nze, & left_col_nimages, right_row_nimages, & @@ -2163,7 +2163,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & IF (ASSOCIATED(memtype_abpanel_2%pool)) & CALL dbcsr_mempool_limit_capacity(memtype_abpanel_2%pool, & capacity=left_row_mult*left_col_nimages + right_row_nimages*right_col_mult + 1) - IF (has_acc) THEN + IF (use_acc()) THEN ! enumerate the blocksizes to keep the following 2D-arrays small. CALL enumerate_blk_sizes(right_set%mats(1, 1)%row_blk_size%low%data, & dbcsr_max_row_size(right_set%mats(1, 1)), & @@ -2226,7 +2226,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & IF (stat .NE. 0) otf_filtering = .FALSE. END IF - IF (has_acc .and. otf_filtering) THEN + IF (use_acc() .and. otf_filtering) THEN max_nblks = MAX(left_max_nblks, right_max_nblks) CALL dbcsr_data_init(normsbuf) CALL dbcsr_data_new(normsbuf, data_type=dbcsr_type_real_4, & @@ -2295,7 +2295,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & CALL dbcsr_data_new(right_data_rp, data_type) ! Setup transpose stackbuffers - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_data_init(trs_stackbuf_1) CALL dbcsr_data_init(trs_stackbuf_2) CALL dbcsr_data_new(trs_stackbuf_1, data_type=dbcsr_type_int_4, & @@ -2389,7 +2389,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & k_sizes) ! ! Transfer left and right buffers from host to GPU memory - IF (has_acc) THEN + IF (use_acc()) THEN IF (copy_left) THEN ! copy left buffer images to device DO v_ki = 1, left_col_nimages @@ -2493,7 +2493,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & vprow_shift=metronome + right_row_nimages, & shifting='R') ! - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_acc_sync_right", handle3) CALL acc_event_synchronize(right_buffer_comm%mats(v_ki + 1, 1)%data_area%d%acc_ready) CALL timestop(handle3) @@ -2522,7 +2522,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & END IF ! CALL timeset(routineN//"_metrocomm2", handle2) - IF (.not. has_acc) THEN + IF (.not. use_acc()) THEN CALL dbcsr_irecv_any(right_data_rp, right_recv_p, & grp, right_data_rr(v_ki + 1), tag=right_src_vrow) ELSE @@ -2538,7 +2538,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & END IF CALL mp_irecv(right_index_rp, right_recv_p, & grp, right_index_rr(v_ki + 1), tag=right_src_vrow) - IF (.not. has_acc) THEN + IF (.not. use_acc()) THEN CALL dbcsr_isend_any(right_data_sp, right_send_p, & grp, right_data_sr(v_ki + 1), tag=right_dst_vrow) ELSE @@ -2620,7 +2620,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & vpcol_shift=metronome + left_col_nimages, & shifting='L') ! - IF (has_acc) THEN + IF (use_acc()) THEN CALL timeset(routineN//"_acc_sync_left", handle3) CALL acc_event_synchronize(left_buffer_comm%mats(1, v_ki + 1)%data_area%d%acc_ready) CALL timestop(handle3) @@ -2649,7 +2649,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & END IF ! CALL timeset(routineN//"_metrocomm4", handle2) - IF (.not. has_acc) THEN + IF (.not. use_acc()) THEN CALL dbcsr_irecv_any(left_data_rp, left_recv_p, & grp, left_data_rr(v_ki + 1), tag=left_src_vcol) ELSE @@ -2665,7 +2665,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & END IF CALL mp_irecv(left_index_rp, left_recv_p, & grp, left_index_rr(v_ki + 1), tag=left_src_vcol) - IF (.not. has_acc) THEN + IF (.not. use_acc()) THEN CALL dbcsr_isend_any(left_data_sp, left_send_p, & grp, left_data_sr(v_ki + 1), tag=left_dst_vcol) ELSE @@ -2693,7 +2693,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & ! Do multiplication ! If no GPU backend, calculate norms on the CPU - IF (otf_filtering .and. .not. has_acc) THEN + IF (otf_filtering .and. .not. use_acc()) THEN left_norms(:) = huge_norm right_norms(:) = huge_norm CALL calculate_norms(right_buffer_calc%mats(v_ki_right, 1), & @@ -2776,7 +2776,7 @@ SUBROUTINE multiply_cannon_g2g(left_set, right_set, product_matrix, & CALL m_memory(mem) max_memory = MAX(max_memory, REAL(mem)) - IF (has_acc) THEN + IF (use_acc()) THEN CALL dbcsr_data_release(trs_stackbuf_1) CALL dbcsr_data_release(trs_stackbuf_2) DEALLOCATE (row_blk_sizes2enum, enum2row_blk_sizes) diff --git a/src/mm/dbcsr_mm_hostdrv.F b/src/mm/dbcsr_mm_hostdrv.F index 7089d2f3a58..83e0aa3c2e9 100644 --- a/src/mm/dbcsr_mm_hostdrv.F +++ b/src/mm/dbcsr_mm_hostdrv.F @@ -10,7 +10,7 @@ MODULE dbcsr_mm_hostdrv !! Stacks of small matrix multiplications USE dbcsr_config, ONLY: dbcsr_cfg, & - has_acc, & + use_acc, & mm_driver_blas, & mm_driver_matmul, & mm_driver_smm, & @@ -108,7 +108,7 @@ SUBROUTINE dbcsr_mm_hostdrv_process(this, left, right, params, stack_size, & INTEGER :: error_handle, sp REAL(KIND=dp) :: rnd - IF (has_acc) & !for cpu-only runs this is called too often + IF (use_acc()) & !for cpu-only runs this is called too often CALL timeset(routineN, error_handle) success = .TRUE. !host driver never fails...hopefully @@ -236,7 +236,7 @@ SUBROUTINE dbcsr_mm_hostdrv_process(this, left, right, params, stack_size, & DBCSR_ABORT("Invalid multiplication driver") END SELECT - IF (has_acc) & !for cpu-only runs this is called too often + IF (use_acc()) & !for cpu-only runs this is called too often CALL timestop(error_handle) END SUBROUTINE dbcsr_mm_hostdrv_process diff --git a/src/mm/dbcsr_mm_sched.F b/src/mm/dbcsr_mm_sched.F index 27c3e350b67..78843e2fa19 100644 --- a/src/mm/dbcsr_mm_sched.F +++ b/src/mm/dbcsr_mm_sched.F @@ -20,7 +20,7 @@ MODULE dbcsr_mm_sched USE dbcsr_block_operations, ONLY: dbcsr_data_clear USE dbcsr_config, ONLY: dbcsr_cfg, & default_resize_factor, & - has_acc + use_acc USE dbcsr_data_methods, ONLY: dbcsr_data_ensure_size, & dbcsr_data_get_size USE dbcsr_kinds, ONLY: int_4, int_8, real_8 @@ -194,7 +194,7 @@ SUBROUTINE dbcsr_mm_sched_init(this, product_wm, nlayers, keep_product_data) CALL dbcsr_mm_hostdrv_init(this%hostdrv, product_wm) - IF (has_acc) & + IF (use_acc()) & CALL dbcsr_mm_accdrv_init(this%accdrv, product_wm, nlayers, keep_product_data) CALL timestop(handle) @@ -215,7 +215,7 @@ SUBROUTINE dbcsr_mm_sched_finalize(this) CALL ensure_product_wm_cleared(this) !CALL dbcsr_mm_hostdrv_finalize(this%hostdrv) ! not needed - IF (has_acc) & + IF (use_acc()) & CALL dbcsr_mm_accdrv_finalize(this%accdrv) CALL timestop(handle) @@ -232,7 +232,7 @@ SUBROUTINE dbcsr_mm_sched_dev2host_init(this) CALL timeset(routineN, handle) - IF (has_acc) & + IF (use_acc()) & CALL dbcsr_mm_accdrv_dev2host_init(this%accdrv) CALL timestop(handle) @@ -258,7 +258,7 @@ SUBROUTINE dbcsr_mm_sched_barrier() !CALL dbcsr_mm_hostdrv_barrier(this%hostdrv) ! not needed - IF (has_acc) & + IF (use_acc()) & CALL dbcsr_mm_accdrv_barrier() END SUBROUTINE dbcsr_mm_sched_barrier @@ -324,7 +324,7 @@ SUBROUTINE dbcsr_mm_sched_process(this, left, right, stack_data, & flop_per_entry = INT(2, KIND=int_8)*stack_descr%max_m*stack_descr%max_n*stack_descr%max_k total_flop = stack_fillcount*flop_per_entry - IF (has_acc .AND. & + IF (use_acc() .AND. & flop_per_entry > dbcsr_cfg%accdrv_min_flop_process%val .AND. & (.NOT. this%avoid_accdrv) .AND. & (stack_descr%defined_mnk .OR. dbcsr_cfg%accdrv_do_inhomogenous%val)) THEN From 207fbb72e545071c83558fe1d560e30422378981 Mon Sep 17 00:00:00 2001 From: Augustin Bussy Date: Wed, 12 Jun 2024 14:52:05 +0200 Subject: [PATCH 36/74] Review triggered changes --- src/core/dbcsr_config.F | 49 +++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/src/core/dbcsr_config.F b/src/core/dbcsr_config.F index dd377fe059d..43e1852d725 100644 --- a/src/core/dbcsr_config.F +++ b/src/core/dbcsr_config.F @@ -73,10 +73,20 @@ MODULE dbcsr_config LOGICAL, PARAMETER :: has_MPI = .FALSE. #endif + INTEGER, PARAMETER :: mm_stack_default_size_cpu = 1000 + INTEGER, PARAMETER :: mm_stack_default_size_gpu = 30000 #if defined(__HAS_smm_vec) || defined (__DBCSR_ACC) - INTEGER, PARAMETER :: mm_stack_default_size = 30000 + INTEGER, PARAMETER :: mm_stack_default_size = mm_stack_default_size_gpu #else - INTEGER, PARAMETER :: mm_stack_default_size = 1000 + INTEGER, PARAMETER :: mm_stack_default_size = mm_stack_default_size_cpu +#endif + + LOGICAL, PARAMETER :: mm_dense_default_cpu = .TRUE. + LOGICAL, PARAMETER :: mm_dense_default_gpu = .FALSE. +#if defined (__DBCSR_ACC) + LOGICAL, PARAMETER :: mm_dense_default = mm_dense_default_gpu +#else + LOGICAL, PARAMETER :: mm_dense_default = mm_dense_default_cpu #endif #if defined(__LIBXSMM) @@ -151,9 +161,9 @@ MODULE dbcsr_config SET_PARAMETER_DEFAULT(NUM_LAYERS_3D, CONF_PAR_INT, 1) SET_PARAMETER_DEFAULT(USE_COMM_THREAD, CONF_PAR_LOGICAL, .TRUE.) SET_PARAMETER_DEFAULT(COMM_THREAD_LOAD, CONF_PAR_INT, 100) - SET_PARAMETER_DEFAULT(MM_DENSE, CONF_PAR_LOGICAL,.NOT. has_acc) + SET_PARAMETER_DEFAULT(MM_DENSE, CONF_PAR_LOGICAL, mm_dense_default) SET_PARAMETER_DEFAULT(MULTREC_LIMIT, CONF_PAR_INT, 512) - SET_PARAMETER_DEFAULT(TURN_OFF_ACC, CONF_PAR_LOGICAL, .FALSE.) + SET_PARAMETER_DEFAULT(RUN_ON_GPU, CONF_PAR_LOGICAL, .TRUE.) SET_PARAMETER_DEFAULT(ACCDRV_THREAD_BUFFERS, CONF_PAR_INT, 8) TYPE(CONF_PAR_LOGICAL) :: ACCDRV_AVOID_AFTER_BUSY = & CONF_PAR_LOGICAL(name="ACCDRV_AVOID_AFTER_BUSY", val=.FALSE., defval=.FALSE.) @@ -342,7 +352,7 @@ SUBROUTINE dbcsr_set_config( & comm_thread_load, & mm_dense, & multrec_limit, & - turn_off_acc, & + run_on_gpu, & accdrv_thread_buffers, & accdrv_avoid_after_busy, & accdrv_min_flop_process, & @@ -371,7 +381,7 @@ SUBROUTINE dbcsr_set_config( & LOGICAL, INTENT(IN), OPTIONAL :: use_comm_thread INTEGER, INTENT(IN), OPTIONAL :: comm_thread_load LOGICAL, INTENT(IN), OPTIONAL :: mm_dense - LOGICAL, INTENT(IN), OPTIONAL :: turn_off_acc + LOGICAL, INTENT(IN), OPTIONAL :: run_on_gpu INTEGER, INTENT(IN), OPTIONAL :: multrec_limit, accdrv_thread_buffers LOGICAL, INTENT(IN), OPTIONAL :: accdrv_avoid_after_busy INTEGER, INTENT(IN), OPTIONAL :: accdrv_min_flop_process @@ -393,7 +403,7 @@ SUBROUTINE dbcsr_set_config( & CALL dbcsr_cfg%num_layers_3D%set(num_layers_3D) CALL dbcsr_cfg%use_comm_thread%set(use_comm_thread) CALL dbcsr_cfg%multrec_limit%set(multrec_limit) - CALL dbcsr_cfg%turn_off_acc%set(turn_off_acc) + CALL dbcsr_cfg%run_on_gpu%set(run_on_gpu) CALL dbcsr_cfg%accdrv_thread_buffers%set(accdrv_thread_buffers) CALL dbcsr_cfg%accdrv_avoid_after_busy%set(accdrv_avoid_after_busy) CALL dbcsr_cfg%accdrv_min_flop_process%set(accdrv_min_flop_process) @@ -426,14 +436,14 @@ SUBROUTINE dbcsr_set_config( & CALL dbcsr_cfg%mm_driver%set(mm_driver) ! If ACC is turned-off, use the CPU defaults - IF (.NOT. PRESENT(mm_stack_size) .AND. dbcsr_cfg%turn_off_acc%val) THEN - CALL dbcsr_cfg%mm_stack_size%set(1000) + IF (.NOT. PRESENT(mm_stack_size) .AND. .NOT. dbcsr_cfg%run_on_gpu%val) THEN + CALL dbcsr_cfg%mm_stack_size%set(mm_stack_default_size_cpu) ELSE CALL dbcsr_cfg%mm_stack_size%set(mm_stack_size) END IF - IF (.NOT. PRESENT(mm_stack_size) .AND. dbcsr_cfg%turn_off_acc%val) THEN - CALL dbcsr_cfg%mm_dense%set(.TRUE.) + IF (.NOT. PRESENT(mm_dense) .AND. .NOT. dbcsr_cfg%run_on_gpu%val) THEN + CALL dbcsr_cfg%mm_dense%set(mm_dense_default_cpu) ELSE CALL dbcsr_cfg%mm_dense%set(mm_dense) END IF @@ -452,7 +462,7 @@ SUBROUTINE dbcsr_get_default_config( & use_comm_thread, & comm_thread_load, & mm_dense, & - turn_off_acc, & + run_on_gpu, & multrec_limit, & accdrv_thread_buffers, & accdrv_avoid_after_busy, & @@ -473,7 +483,7 @@ SUBROUTINE dbcsr_get_default_config( & INTEGER, INTENT(OUT), OPTIONAL :: num_layers_3D LOGICAL, INTENT(OUT), OPTIONAL :: use_comm_thread INTEGER, INTENT(OUT), OPTIONAL :: comm_thread_load - LOGICAL, INTENT(OUT), OPTIONAL :: mm_dense, turn_off_acc + LOGICAL, INTENT(OUT), OPTIONAL :: mm_dense, run_on_gpu INTEGER, INTENT(OUT), OPTIONAL :: multrec_limit, accdrv_thread_buffers LOGICAL, INTENT(OUT), OPTIONAL :: accdrv_avoid_after_busy INTEGER, INTENT(OUT), OPTIONAL :: accdrv_min_flop_process @@ -496,7 +506,7 @@ SUBROUTINE dbcsr_get_default_config( & IF (PRESENT(comm_thread_load)) comm_thread_load = dbcsr_cfg%comm_thread_load%defval IF (PRESENT(mm_dense)) mm_dense = dbcsr_cfg%mm_dense%defval IF (PRESENT(multrec_limit)) multrec_limit = dbcsr_cfg%multrec_limit%defval - IF (PRESENT(turn_off_acc)) turn_off_acc = dbcsr_cfg%turn_off_acc%defval + IF (PRESENT(run_on_gpu)) run_on_gpu = dbcsr_cfg%run_on_gpu%defval IF (PRESENT(accdrv_thread_buffers)) accdrv_thread_buffers = dbcsr_cfg%accdrv_thread_buffers%defval IF (PRESENT(accdrv_avoid_after_busy)) accdrv_avoid_after_busy = dbcsr_cfg%accdrv_avoid_after_busy%defval IF (PRESENT(accdrv_min_flop_process)) accdrv_min_flop_process = dbcsr_cfg%accdrv_min_flop_process%defval @@ -626,12 +636,7 @@ SUBROUTINE dbcsr_print_config(unit_nr) END IF END BLOCK - IF (dbcsr_cfg%turn_off_acc%val) THEN - WRITE (UNIT=unit_nr, FMT='(1X,A,T81,A4)') & - "DBCSR| ACC is turned off: only CPU is used", dbcsr_cfg%turn_off_acc%print_source() - END IF - - IF (use_acc()) THEN + IF (has_acc) THEN WRITE (UNIT=unit_nr, FMT='(1X,A,T70,I11)') & "DBCSR| ACC: Number of devices/node", dbcsr_acc_get_ndevices() WRITE (UNIT=unit_nr, FMT='(1X,A,T70,I11,A4)') & @@ -662,6 +667,8 @@ SUBROUTINE dbcsr_print_config(unit_nr) "DBCSR| ACC: Size of binning bins", dbcsr_cfg%accdrv_binning_binsize%val, & dbcsr_cfg%accdrv_binning_binsize%print_source() END IF + WRITE (UNIT=unit_nr, FMT='(1X,A,T80,L1,A4)') & + "DBCSR| ACC: GPU backend is enabled", dbcsr_cfg%run_on_gpu%val, dbcsr_cfg%run_on_gpu%print_source() END IF WRITE (UNIT=unit_nr, FMT='(1X,A,T74,ES7.1,A4)') & @@ -698,7 +705,7 @@ END SUBROUTINE reset_accdrv_active_device_id FUNCTION use_acc() LOGICAL :: use_acc - IF (has_acc .AND. .NOT. dbcsr_cfg%turn_off_acc%val) THEN + IF (has_acc .AND. dbcsr_cfg%run_on_gpu%val) THEN use_acc = .TRUE. ELSE use_acc = .FALSE. From 0f47720dd4d9b2f01eb4e5fb8bed3dc2f7bca928 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:54:53 +0000 Subject: [PATCH 37/74] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/core/dbcsr_config.F | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/dbcsr_config.F b/src/core/dbcsr_config.F index 43e1852d725..3f065652c40 100644 --- a/src/core/dbcsr_config.F +++ b/src/core/dbcsr_config.F @@ -81,8 +81,8 @@ MODULE dbcsr_config INTEGER, PARAMETER :: mm_stack_default_size = mm_stack_default_size_cpu #endif - LOGICAL, PARAMETER :: mm_dense_default_cpu = .TRUE. - LOGICAL, PARAMETER :: mm_dense_default_gpu = .FALSE. + LOGICAL, PARAMETER :: mm_dense_default_cpu = .TRUE. + LOGICAL, PARAMETER :: mm_dense_default_gpu = .FALSE. #if defined (__DBCSR_ACC) LOGICAL, PARAMETER :: mm_dense_default = mm_dense_default_gpu #else @@ -448,7 +448,6 @@ SUBROUTINE dbcsr_set_config( & CALL dbcsr_cfg%mm_dense%set(mm_dense) END IF - END SUBROUTINE dbcsr_set_config SUBROUTINE dbcsr_get_default_config( & From b885bb0785ea15fde32a86964b3bec25bf802693 Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Fri, 14 Jun 2024 13:03:10 +0200 Subject: [PATCH 38/74] Clarify that users should provide new kernels/gpu support --- src/acc/libsmm_acc/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/acc/libsmm_acc/README.md b/src/acc/libsmm_acc/README.md index 923003c24e9..faa0aab6806 100644 --- a/src/acc/libsmm_acc/README.md +++ b/src/acc/libsmm_acc/README.md @@ -50,6 +50,8 @@ The performance of the matrix-matrix multiplication kernels is highly dependent ## Contributing to libsmm_acc +We expect users to contribute to the library by providing new optimized kernels and support for new GPUs. + #### Autotuning procedure Follow the [autotuning procedure](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/tune/README.md) From 086f92f0ab4fc4187a83cdb4c7bce4e4cf412202 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 17:47:21 +0000 Subject: [PATCH 39/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.8 → v0.4.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.8...v0.4.9) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c49daa63326..ecb28ca969f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.8' + rev: 'v0.4.9' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From caf8a082a2f4c81adbde0e703d565e1043e3e0c1 Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Tue, 18 Jun 2024 21:41:17 +0200 Subject: [PATCH 40/74] Update macOS CI to GCC 14 Solve issue with GCC 13 with FindMPI module --- .github/workflows/testing-macos.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/testing-macos.yml b/.github/workflows/testing-macos.yml index 100af9c18f9..2b2241f48d0 100644 --- a/.github/workflows/testing-macos.yml +++ b/.github/workflows/testing-macos.yml @@ -6,10 +6,6 @@ on: - 'develop' pull_request: -# Workaround issue in Xcode 14.1/2 -env: - DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer - jobs: build-and-test: runs-on: macos-latest @@ -45,7 +41,7 @@ jobs: mkdir -p build cd build env \ - CC=gcc-13 CXX=g++-12 FC=gfortran-12 \ + CC=gcc-14 CXX=g++-14 FC=gfortran-14 \ cmake -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DUSE_${{ matrix.use_mpi }} \ From 34cde8d49453ed6538ec282a4a862520b7a7535f Mon Sep 17 00:00:00 2001 From: Frederick Stein <43850145+fstein93@users.noreply.github.com> Date: Tue, 18 Jun 2024 21:49:38 +0200 Subject: [PATCH 41/74] Initialize member variables of derived types (#806) * Initialize member variables of derived types --- src/block/dbcsr_block_access.F | 12 +++--- src/block/dbcsr_iterator_operations.F | 12 +++--- src/core/dbcsr_config.F | 10 ++--- src/core/dbcsr_dict.F | 14 +++---- src/core/dbcsr_dict.fypp | 4 +- src/core/dbcsr_iter_types.F | 12 +++--- src/core/dbcsr_log_handling.F | 18 ++++----- src/core/dbcsr_timings_base_type.F | 34 ++++++++-------- src/core/dbcsr_timings_types.F | 18 ++++----- src/core/dbcsr_types.F | 56 +++++++++++++-------------- src/data/dbcsr_data_types.F | 18 ++++----- src/dbcsr_api.F | 6 +-- src/mm/dbcsr_mm_3d.F | 18 ++++----- src/mm/dbcsr_mm_accdrv.F | 14 +++---- src/mm/dbcsr_mm_common.F | 2 +- src/mm/dbcsr_mm_csr.F | 14 +++---- src/mm/dbcsr_mm_hostdrv.F | 2 +- src/mm/dbcsr_mm_multrec.F | 20 +++++----- src/mm/dbcsr_mm_sched.F | 6 +-- src/mm/dbcsr_mm_types.F | 4 +- src/mpi/dbcsr_mpiwrap.F | 48 ++++++++++++----------- src/ops/dbcsr_csr_conversions.F | 26 ++++++------- src/tas/dbcsr_tas_global.F | 18 ++++----- src/tas/dbcsr_tas_types.F | 46 +++++++++++----------- src/tensors/dbcsr_tensor_block.F | 8 ++-- src/tensors/dbcsr_tensor_index.F | 12 +++--- src/tensors/dbcsr_tensor_types.F | 40 +++++++++---------- src/utils/dbcsr_btree.F | 26 ++++++------- src/utils/dbcsr_btree.fypp | 16 ++++---- src/utils/dbcsr_files.F | 4 +- src/utils/dbcsr_min_heap.F | 12 +++--- src/work/dbcsr_work_operations.F | 2 +- 32 files changed, 278 insertions(+), 274 deletions(-) diff --git a/src/block/dbcsr_block_access.F b/src/block/dbcsr_block_access.F index 65fe0d8fc75..71cd2076b07 100644 --- a/src/block/dbcsr_block_access.F +++ b/src/block/dbcsr_block_access.F @@ -119,15 +119,15 @@ MODULE dbcsr_block_access LOGICAL, PARAMETER, PRIVATE :: detailed_timing = .FALSE. TYPE block_parameters - LOGICAL :: tr - INTEGER :: logical_rows, logical_cols - INTEGER :: offset, nze + LOGICAL :: tr = .FALSE. + INTEGER :: logical_rows = -1, logical_cols = -1 + INTEGER :: offset = -1, nze = -1 END TYPE block_parameters TYPE dgemm_join - INTEGER :: p_a, p_b, p_c - INTEGER :: last_k, last_n - TYPE(dbcsr_scalar_type) :: alpha, beta + INTEGER :: p_a = -1, p_b = -1, p_c = -1 + INTEGER :: last_k = -1, last_n = -1 + TYPE(dbcsr_scalar_type) :: alpha = dbcsr_scalar_type(), beta = dbcsr_scalar_type() END TYPE dgemm_join CONTAINS diff --git a/src/block/dbcsr_iterator_operations.F b/src/block/dbcsr_iterator_operations.F index f6fa59b5704..64afa010657 100644 --- a/src/block/dbcsr_iterator_operations.F +++ b/src/block/dbcsr_iterator_operations.F @@ -71,15 +71,15 @@ MODULE dbcsr_iterator_operations LOGICAL, PARAMETER, PRIVATE :: detailed_timing = .FALSE. TYPE block_parameters - LOGICAL :: tr - INTEGER :: logical_rows, logical_cols - INTEGER :: offset, nze + LOGICAL :: tr = .FALSE. + INTEGER :: logical_rows = -1, logical_cols = -1 + INTEGER :: offset = -1, nze = -1 END TYPE block_parameters TYPE dgemm_join - INTEGER :: p_a, p_b, p_c - INTEGER :: last_k, last_n - TYPE(dbcsr_scalar_type) :: alpha, beta + INTEGER :: p_a = -1, p_b = -1, p_c = -1 + INTEGER :: last_k = -1, last_n = -1 + TYPE(dbcsr_scalar_type) :: alpha = dbcsr_scalar_type(), beta = dbcsr_scalar_type() END TYPE dgemm_join CONTAINS diff --git a/src/core/dbcsr_config.F b/src/core/dbcsr_config.F index 3f065652c40..9c57d6a1cfd 100644 --- a/src/core/dbcsr_config.F +++ b/src/core/dbcsr_config.F @@ -99,7 +99,7 @@ MODULE dbcsr_config TYPE, ABSTRACT :: CONF_PAR CHARACTER :: source = 'D' ! Possible values are: D=Default, E=Environment, U=User code - CHARACTER(len=max_paramter_name_len) :: name + CHARACTER(len=max_paramter_name_len) :: name = "" CONTAINS @@ -109,7 +109,7 @@ MODULE dbcsr_config END TYPE CONF_PAR TYPE, EXTENDS(CONF_PAR) :: CONF_PAR_INT - INTEGER :: val, defval + INTEGER :: val = -1, defval = -1 LOGICAL :: ensure_positive = .TRUE. CONTAINS @@ -119,7 +119,7 @@ MODULE dbcsr_config END TYPE CONF_PAR_INT TYPE, EXTENDS(CONF_PAR) :: CONF_PAR_MM_DRIVER - INTEGER :: val, defval + INTEGER :: val = -1, defval = -1 CONTAINS @@ -128,7 +128,7 @@ MODULE dbcsr_config END TYPE CONF_PAR_MM_DRIVER TYPE, EXTENDS(CONF_PAR) :: CONF_PAR_LOGICAL - LOGICAL :: val, defval + LOGICAL :: val = .FALSE., defval = .FALSE. CONTAINS @@ -137,7 +137,7 @@ MODULE dbcsr_config END TYPE CONF_PAR_LOGICAL TYPE, EXTENDS(CONF_PAR) :: CONF_PAR_REAL - REAL(KIND=real_8) :: val, defval + REAL(KIND=real_8) :: val = -1, defval = -1 CONTAINS diff --git a/src/core/dbcsr_dict.F b/src/core/dbcsr_dict.F index c1d134b16d0..15009c7cf0d 100644 --- a/src/core/dbcsr_dict.F +++ b/src/core/dbcsr_dict.F @@ -31,15 +31,15 @@ MODULE dbcsr_dict PUBLIC :: dict_${keytype}$_${valuetype}$_item_type #:endfor - #:for keytype, valuetype, keytype_fort, valuetype_fort, key_assign, value_assign, isequal in inst_params + #:for keytype, valuetype, keytype_fort, valuetype_fort, key_assign, value_assign, isequal, default_key, default_value in inst_params !this is an internal type !Calculating hashes might be expensive, therefore they are stored !for use during change_capacity(). TYPE private_item_type_${keytype}$_${valuetype}$ PRIVATE - ${keytype_fort}$ :: key - ${valuetype_fort}$ :: value - INTEGER(KIND=int_8) :: hash + ${keytype_fort}$ :: key ${key_assign}$${default_key}$ + ${valuetype_fort}$ :: value ${value_assign}$${default_value}$ + INTEGER(KIND=int_8) :: hash = -1_int_8 TYPE(private_item_type_${keytype}$_${valuetype}$), POINTER :: next => Null() END TYPE private_item_type_${keytype}$_${valuetype}$ @@ -58,8 +58,8 @@ MODULE dbcsr_dict ! this is a public type, its returned by dict_items() TYPE dict_${keytype}$_${valuetype}$_item_type - ${keytype_fort}$ :: key - ${valuetype_fort}$ :: value + ${keytype_fort}$ :: key ${key_assign}$${default_key}$ + ${valuetype_fort}$ :: value ${value_assign}$${default_value}$ END TYPE dict_${keytype}$_${valuetype}$_item_type #:endfor @@ -111,7 +111,7 @@ MODULE dbcsr_dict $:fct #:endfor - #:for keytype, valuetype, keytype_fort, valuetype_fort, key_assign, value_assign, isequal in inst_params + #:for keytype, valuetype, keytype_fort, valuetype_fort, key_assign, value_assign, isequal, default_key, default_value in inst_params SUBROUTINE dict_${keytype}$_${valuetype}$_init(dict, initial_capacity) !! Allocates the internal data-structures of the given dictionary. diff --git a/src/core/dbcsr_dict.fypp b/src/core/dbcsr_dict.fypp index 9a93027af01..64200a8b27e 100644 --- a/src/core/dbcsr_dict.fypp +++ b/src/core/dbcsr_dict.fypp @@ -18,6 +18,8 @@ #:set valuetype_fort = ['INTEGER(kind=int_4)', 'TYPE(call_stat_type), POINTER'] #:set key_assign = ['=', '='] #:set value_assign = ['=', '=>'] +#:set default_key = ['""', '-1_int_4'] +#:set default_value = ['-1_int_4', 'NULL()'] #:def isequal_str(k1, k2) ${k1}$ == ${k2}$ @@ -68,7 +70,7 @@ END FUNCTION hash_i4tuple #:set usetimings = ['call_stat_type'] -#:set inst_params = list(zip(keytype, valuetype, keytype_fort, valuetype_fort, key_assign, value_assign, isequal)) +#:set inst_params = list(zip(keytype, valuetype, keytype_fort, valuetype_fort, key_assign, value_assign, isequal, default_key, default_value)) #:def uselist(list_in) #! comma-separated list of unique entries of list_in diff --git a/src/core/dbcsr_iter_types.F b/src/core/dbcsr_iter_types.F index 4aa0ab328ff..6abb816eeea 100644 --- a/src/core/dbcsr_iter_types.F +++ b/src/core/dbcsr_iter_types.F @@ -30,13 +30,13 @@ MODULE dbcsr_iter_types !! contains the information about the current state of the program !! to be able to decide if output is necessary - INTEGER :: ref_count, id_nr - INTEGER :: print_level, n_rlevel - INTEGER, DIMENSION(:), POINTER :: iteration - LOGICAL, DIMENSION(:), POINTER :: last_iter - CHARACTER(len=default_string_length) :: project_name + INTEGER :: ref_count = -1, id_nr = -1 + INTEGER :: print_level = -1, n_rlevel = -1 + INTEGER, DIMENSION(:), POINTER :: iteration => NULL() + LOGICAL, DIMENSION(:), POINTER :: last_iter => NULL() + CHARACTER(len=default_string_length) :: project_name = "" CHARACTER(LEN=default_string_length), & - DIMENSION(:), POINTER :: level_name + DIMENSION(:), POINTER :: level_name => NULL() END TYPE dbcsr_iteration_info_type CONTAINS diff --git a/src/core/dbcsr_log_handling.F b/src/core/dbcsr_log_handling.F index 3d55445c95b..f81e1c005ee 100644 --- a/src/core/dbcsr_log_handling.F +++ b/src/core/dbcsr_log_handling.F @@ -98,30 +98,30 @@ MODULE dbcsr_log_handling !! are public. !! DO NOT USE THE INTERNAL COMPONENTS DIRECTLY!!! - INTEGER :: id_nr, ref_count + INTEGER :: id_nr = -1, ref_count = -1 !! unique number to identify the logger !! reference count (see cp2k/doc/ReferenceCounting.html) - INTEGER :: print_level + INTEGER :: print_level = -1 !! the level starting at which something gets printed - INTEGER :: default_local_unit_nr + INTEGER :: default_local_unit_nr = -1 !! default unit for local logging (-1 if not yet initialized). Local logging guarantee to each task its own file. - INTEGER :: default_global_unit_nr + INTEGER :: default_global_unit_nr = -1 !! default unit for global logging (-1 if not yet initialized). This unit is valid only on the processor with !! %mp_env%mp%mynode==%mv_env%mp%source. - LOGICAL :: close_local_unit_on_dealloc, close_global_unit_on_dealloc + LOGICAL :: close_local_unit_on_dealloc = .FALSE., close_global_unit_on_dealloc = .FALSE. !! if the local unit should be closed when this logger is deallocated !! whether the global unit should be closed when this logger is deallocated - CHARACTER(len=default_string_length) :: suffix + CHARACTER(len=default_string_length) :: suffix = "" !! a short string that is used as suffix in all the filenames created by this logger. Can be used to guarantee the !! uniqueness of generated filename - CHARACTER(len=default_path_length) :: local_filename, global_filename + CHARACTER(len=default_path_length) :: local_filename = "", global_filename = "" !! the root of the name of the file used for local logging (can be different from the name of the file corresponding to !! default_local_unit_nr, only the one used if the unit needs to be opened) !! the root of the name of the file used for global logging (can be different from the name of the file corresponding to !! default_global_unit_nr, only the one used if the unit needs to be opened) - TYPE(dbcsr_mp_obj) :: mp_env + TYPE(dbcsr_mp_obj) :: mp_env = dbcsr_mp_obj() !! the parallel environment for the output. - TYPE(dbcsr_iteration_info_type), POINTER :: iter_info + TYPE(dbcsr_iteration_info_type), POINTER :: iter_info => NULL() END TYPE dbcsr_logger_type TYPE dbcsr_logger_p_type diff --git a/src/core/dbcsr_timings_base_type.F b/src/core/dbcsr_timings_base_type.F index 6f400c0d31d..5f1fd6a4d89 100644 --- a/src/core/dbcsr_timings_base_type.F +++ b/src/core/dbcsr_timings_base_type.F @@ -22,32 +22,32 @@ MODULE dbcsr_timings_base_type PRIVATE TYPE routine_stat_type - INTEGER :: routine_id - CHARACTER(len=default_string_length) :: routineN - REAL(kind=dp) :: excl_walltime_accu - REAL(kind=dp) :: incl_walltime_accu - REAL(kind=dp) :: excl_energy_accu - REAL(kind=dp) :: incl_energy_accu - INTEGER :: active_calls - INTEGER :: total_calls - INTEGER :: stackdepth_accu - LOGICAL :: trace + INTEGER :: routine_id = -1 + CHARACTER(len=default_string_length) :: routineN = "" + REAL(kind=dp) :: excl_walltime_accu = -1.0_dp + REAL(kind=dp) :: incl_walltime_accu = -1.0_dp + REAL(kind=dp) :: excl_energy_accu = -1.0_dp + REAL(kind=dp) :: incl_energy_accu = -1.0_dp + INTEGER :: active_calls = -1 + INTEGER :: total_calls = -1 + INTEGER :: stackdepth_accu = -1 + LOGICAL :: trace = .FALSE. END TYPE routine_stat_type TYPE call_stat_type - INTEGER :: total_calls - REAL(kind=dp) :: incl_walltime_accu - REAL(kind=dp) :: incl_energy_accu + INTEGER :: total_calls = -1 + REAL(kind=dp) :: incl_walltime_accu = -1.0_dp + REAL(kind=dp) :: incl_energy_accu = -1.0_dp END TYPE call_stat_type TYPE callstack_entry_type - INTEGER :: routine_id - REAL(kind=dp) :: walltime_start - REAL(kind=dp) :: energy_start + INTEGER :: routine_id = -1 + REAL(kind=dp) :: walltime_start = -1.0_dp + REAL(kind=dp) :: energy_start = -1.0_dp END TYPE callstack_entry_type TYPE routine_report_type - CHARACTER(LEN=default_string_length) :: routineN + CHARACTER(LEN=default_string_length) :: routineN = "" REAL(KIND=dp) :: max_icost = 0.0_dp REAL(KIND=dp) :: sum_icost = 0.0_dp REAL(KIND=dp) :: max_ecost = 0.0_dp diff --git a/src/core/dbcsr_timings_types.F b/src/core/dbcsr_timings_types.F index 42dd66fe5d9..b16e1c49016 100644 --- a/src/core/dbcsr_timings_types.F +++ b/src/core/dbcsr_timings_types.F @@ -22,15 +22,15 @@ MODULE dbcsr_timings_types PRIVATE TYPE timer_env_type - INTEGER :: ref_count - TYPE(dict_str_i4_type) :: routine_names - TYPE(list_routinestat_type) :: routine_stats - TYPE(list_callstackentry_type) :: callstack - TYPE(dict_i4tuple_callstat_type) :: callgraph - INTEGER :: trace_max - INTEGER :: trace_unit - CHARACTER(len=13) :: trace_str - LOGICAL :: trace_all + INTEGER :: ref_count = -1 + TYPE(dict_str_i4_type) :: routine_names = dict_str_i4_type() + TYPE(list_routinestat_type) :: routine_stats = list_routinestat_type() + TYPE(list_callstackentry_type) :: callstack = list_callstackentry_type() + TYPE(dict_i4tuple_callstat_type) :: callgraph = dict_i4tuple_callstat_type() + INTEGER :: trace_max = -1 + INTEGER :: trace_unit = -1 + CHARACTER(len=13) :: trace_str = "" + LOGICAL :: trace_all = .FALSE. END TYPE timer_env_type PUBLIC :: timer_env_type diff --git a/src/core/dbcsr_types.F b/src/core/dbcsr_types.F index dd6921ceab0..0c175889be8 100644 --- a/src/core/dbcsr_types.F +++ b/src/core/dbcsr_types.F @@ -143,13 +143,13 @@ MODULE dbcsr_types TYPE dbcsr_distribution_type !! Matrix distribution on the processor grid - TYPE(array_i1d_obj) :: row_dist_block, col_dist_block + TYPE(array_i1d_obj) :: row_dist_block = array_i1d_obj(), col_dist_block = array_i1d_obj() !! standard row distributions of matrix elements' rows into processor grid rows !! standard column distributions of matrix elements' columns into processor grid columns - TYPE(array_i1d_obj) :: local_rows, local_cols + TYPE(array_i1d_obj) :: local_rows = array_i1d_obj(), local_cols = array_i1d_obj() !! list of rows local to the processor grid row !! list of columns local to the processor grid column - INTEGER :: max_row_dist, max_col_dist + INTEGER :: max_row_dist = -1, max_col_dist = -1 TYPE(array_i1d_obj), DIMENSION(:), POINTER :: other_l_rows => Null() !! local rows for each process row TYPE(array_i1d_obj), DIMENSION(:), POINTER :: other_l_cols => Null() @@ -158,24 +158,24 @@ MODULE dbcsr_types !! other_rows is defined LOGICAL :: has_other_l_cols = .FALSE. !! other_cols is defined - TYPE(array_i1d_obj) :: global_row_map + TYPE(array_i1d_obj) :: global_row_map = array_i1d_obj() !! mapping from rows to sequence in local rows (global to local mapping) - TYPE(array_i1d_obj) :: global_col_map + TYPE(array_i1d_obj) :: global_col_map = array_i1d_obj() !! mapping from rows to sequence in local columns (global to local mapping) LOGICAL :: has_global_row_map = .FALSE. !! whether other_row_map is defined LOGICAL :: has_global_col_map = .FALSE. !! whether other_col_map is defined - TYPE(array_i1d_obj) :: row_map + TYPE(array_i1d_obj) :: row_map = array_i1d_obj() !! distribution map for rows - TYPE(array_i1d_obj) :: col_map + TYPE(array_i1d_obj) :: col_map = array_i1d_obj() !! distribution map for columns LOGICAL :: has_thread_dist = .FALSE. - TYPE(array_i1d_obj) :: thread_dist + TYPE(array_i1d_obj) :: thread_dist = array_i1d_obj() !! thread distribution (of the rows) INTEGER :: num_threads = -1 !! number of threads in the environment - TYPE(dbcsr_mp_obj) :: mp_env + TYPE(dbcsr_mp_obj) :: mp_env = dbcsr_mp_obj() !! multiprocessor environment on which the distribution is based INTEGER :: refcount = 0 !! reference counter @@ -193,11 +193,11 @@ MODULE dbcsr_types !! mapped to 8 "virtual" processor rows, then there are two images for !! every real processor row. - TYPE(dbcsr_distribution_obj) :: main + TYPE(dbcsr_distribution_obj) :: main = dbcsr_distribution_obj() !! the main distribution - TYPE(array_i1d_obj) :: row_image + TYPE(array_i1d_obj) :: row_image = array_i1d_obj() !! distribution of matrix elements' rows into image rows - TYPE(array_i1d_obj) :: col_image + TYPE(array_i1d_obj) :: col_image = array_i1d_obj() !! distribution of matrix elements' columns into image columns INTEGER :: row_decimation = -1 !! Number of imaged rows mapped to a real row @@ -207,12 +207,12 @@ MODULE dbcsr_types !! Number of real rows mapped to a virtual row INTEGER :: col_multiplicity = -1 !! Number of real columns mapped to a virtual column - TYPE(array_i1d_obj) :: vrow_dist - TYPE(array_i1d_obj) :: vcol_dist + TYPE(array_i1d_obj) :: vrow_dist = array_i1d_obj() + TYPE(array_i1d_obj) :: vcol_dist = array_i1d_obj() TYPE(array_i1d_obj), DIMENSION(:), POINTER :: other_vl_rows => Null() TYPE(array_i1d_obj), DIMENSION(:), POINTER :: other_vl_cols => Null() - TYPE(array_i1d_obj) :: global_vrow_map - TYPE(array_i1d_obj) :: global_vcol_map + TYPE(array_i1d_obj) :: global_vrow_map = array_i1d_obj() + TYPE(array_i1d_obj) :: global_vcol_map = array_i1d_obj() LOGICAL :: has_other_vl_rows = .FALSE. LOGICAL :: has_other_vl_cols = .FALSE. LOGICAL :: has_global_vrow_map = .FALSE. @@ -246,7 +246,7 @@ MODULE dbcsr_types !! Buffers INTEGER, DIMENSION(:, :), POINTER :: rcb => Null() !! Row and column and offset and dimensions of data in the buffer - TYPE(dbcsr_data_obj) :: main + TYPE(dbcsr_data_obj) :: main = dbcsr_data_obj() !! Main memory TYPE(dbcsr_data_obj), DIMENSION(:), POINTER :: backing => Null() !! Backing memory (in lieu of main memory) @@ -270,7 +270,7 @@ MODULE dbcsr_types TYPE(dbcsr_type), POINTER :: matrix => Null() !! the matrix - TYPE(dbcsr_block_buffer_obj) :: buffer_2d + TYPE(dbcsr_block_buffer_obj) :: buffer_2d = dbcsr_block_buffer_obj() !! Buffers for repointing 2d pointers (1 per thread) INTEGER :: pos = -1 !! Current position (per thread) @@ -313,19 +313,19 @@ MODULE dbcsr_types !! Mapping of local rows to global rows (if local indexing is enabled) INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: global_rows => Null() !! Mapping of global rows to local rows (if local indexing is enabled) - TYPE(dbcsr_data_obj) :: data_area + TYPE(dbcsr_data_obj) :: data_area = dbcsr_data_obj() END TYPE dbcsr_iterator TYPE dbcsr_mutable_type !! Data area with random access reads, insertions, and deletions. - TYPE(btree_i8_sp2d) :: btree_s + TYPE(btree_i8_sp2d) :: btree_s = btree_i8_sp2d() !! Data types for the various types - TYPE(btree_i8_dp2d) :: btree_d + TYPE(btree_i8_dp2d) :: btree_d = btree_i8_dp2d() !! Data types for the various types - TYPE(btree_i8_cp2d) :: btree_c + TYPE(btree_i8_cp2d) :: btree_c = btree_i8_cp2d() !! Data types for the various types - TYPE(btree_i8_zp2d) :: btree_z + TYPE(btree_i8_zp2d) :: btree_z = btree_i8_zp2d() !! Data types for the various types INTEGER :: refcount = 0 !! Reference counter @@ -341,7 +341,7 @@ MODULE dbcsr_types TYPE dbcsr_work_type !! Used for assembling a real matrix. - TYPE(dbcsr_data_obj) :: data_area + TYPE(dbcsr_data_obj) :: data_area = dbcsr_data_obj() !! holds actual values. INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: row_i => Null() !! the row index of all of the blocks. @@ -354,9 +354,9 @@ MODULE dbcsr_types INTEGER :: datasize = -1 !! the actual size of data present in the data element INTEGER :: datasize_after_filtering = -1 - !TYPE(btree_i8_dp2d) :: tree + !TYPE(btree_i8_dp2d) :: tree = btree_i8_dp2d() !! tree used to index data blocks (alternative to the row_i, col_i, and blk_p indices when index is scattered). - TYPE(dbcsr_mutable_obj) :: mutable + TYPE(dbcsr_mutable_obj) :: mutable = dbcsr_mutable_obj() !! the final bcsr matrix END TYPE dbcsr_work_type @@ -562,7 +562,7 @@ MODULE dbcsr_types TYPE(dbcsr_type), DIMENSION(:), POINTER :: mats => Null() !! the matrices - TYPE(dbcsr_imagedistribution_obj) :: image_dist + TYPE(dbcsr_imagedistribution_obj) :: image_dist = dbcsr_imagedistribution_obj() !! image distribution END TYPE dbcsr_1d_array_type @@ -571,7 +571,7 @@ MODULE dbcsr_types TYPE(dbcsr_type), DIMENSION(:, :), POINTER :: mats => Null() !! the matrices - TYPE(dbcsr_imagedistribution_obj) :: image_dist + TYPE(dbcsr_imagedistribution_obj) :: image_dist = dbcsr_imagedistribution_obj() !! image distribution END TYPE dbcsr_2d_array_type diff --git a/src/data/dbcsr_data_types.F b/src/data/dbcsr_data_types.F index 13462f4d24c..cef186a0512 100644 --- a/src/data/dbcsr_data_types.F +++ b/src/data/dbcsr_data_types.F @@ -43,15 +43,15 @@ MODULE dbcsr_data_types !! Reasoning !! Easier routine interfaces - REAL(KIND=real_4) :: r_sp + REAL(KIND=real_4) :: r_sp = -1.0_real_4 !! stores real values in single precision - REAL(KIND=real_8) :: r_dp + REAL(KIND=real_8) :: r_dp = -1.0_real_8 !! stores real values in double precision - COMPLEX(KIND=real_4) :: c_sp + COMPLEX(KIND=real_4) :: c_sp = (-1.0_real_4, -1.0_real_4) !! stores complex values in single precision - COMPLEX(KIND=real_8) :: c_dp + COMPLEX(KIND=real_8) :: c_dp = (-1.0_real_8, -1.0_real_8) !! stores complex values in double precision - INTEGER :: data_type + INTEGER :: data_type = -1 !! which of the data types is actually used END TYPE dbcsr_scalar_type @@ -63,11 +63,11 @@ MODULE dbcsr_data_types !! Memory related types TYPE(dbcsr_mempool_entry_type), POINTER :: root => Null() INTEGER :: capacity = 1 -!$ INTEGER(KIND=omp_lock_kind) :: lock +!$ INTEGER(KIND=omp_lock_kind) :: lock = -1_omp_lock_kind END TYPE dbcsr_mempool_type TYPE dbcsr_mempool_entry_type - TYPE(dbcsr_data_obj) :: area + TYPE(dbcsr_data_obj) :: area = dbcsr_data_obj() TYPE(dbcsr_mempool_entry_type), POINTER :: next => Null() END TYPE dbcsr_mempool_entry_type @@ -109,8 +109,8 @@ MODULE dbcsr_data_types !! type of memory where data lives INTEGER :: data_type = -1 !! which of the data types is actually used - TYPE(acc_devmem_type) :: acc_devmem - TYPE(acc_event_type) :: acc_ready + TYPE(acc_devmem_type) :: acc_devmem = acc_devmem_type() + TYPE(acc_event_type) :: acc_ready = acc_event_type() END TYPE dbcsr_data_area_type ! Type definitions: diff --git a/src/dbcsr_api.F b/src/dbcsr_api.F index 84493d08e57..d28060357ea 100644 --- a/src/dbcsr_api.F +++ b/src/dbcsr_api.F @@ -306,7 +306,7 @@ MODULE dbcsr_api ! ----------------------------------------------------------------------------------------------- TYPE dbcsr_type - TYPE(dbcsr_prv_type), PRIVATE :: prv + TYPE(dbcsr_prv_type), PRIVATE :: prv = dbcsr_prv_type() END TYPE dbcsr_type TYPE dbcsr_p_type @@ -316,11 +316,11 @@ MODULE dbcsr_api ! the components of this type must remain private to encapsulate better the internals ! of the dbcsr library. TYPE dbcsr_distribution_type - TYPE(dbcsr_dist_prv_obj), PRIVATE :: prv + TYPE(dbcsr_dist_prv_obj), PRIVATE :: prv = dbcsr_dist_prv_obj() END TYPE dbcsr_distribution_type TYPE dbcsr_iterator_type - TYPE(dbcsr_iterator_prv), PRIVATE :: prv + TYPE(dbcsr_iterator_prv), PRIVATE :: prv = dbcsr_iterator_prv() END TYPE dbcsr_iterator_type INTERFACE dbcsr_create diff --git a/src/mm/dbcsr_mm_3d.F b/src/mm/dbcsr_mm_3d.F index dd3f9a03618..b25b360abd7 100644 --- a/src/mm/dbcsr_mm_3d.F +++ b/src/mm/dbcsr_mm_3d.F @@ -119,29 +119,29 @@ MODULE dbcsr_mm_3d LOGICAL, PARAMETER :: careful_mod = .FALSE. TYPE dbcsr_buffer - TYPE(dbcsr_data_obj) :: DATA, & - data_before_resize, & - trs_stackbuf - INTEGER :: vprow, vpcol + TYPE(dbcsr_data_obj) :: DATA = dbcsr_data_obj(), & + data_before_resize = dbcsr_data_obj(), & + trs_stackbuf = dbcsr_data_obj() + INTEGER :: vprow = -1, vpcol = -1 INTEGER :: myproc = -1 TYPE(mp_comm_type) :: grp = mp_comm_null, & ! Global communicator subgrp = mp_comm_null ! Communicator for A and B - TYPE(mp_win_type) :: data_win, meta_win + TYPE(mp_win_type) :: data_win = mp_win_type(), meta_win = mp_win_type() INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: meta => Null(), & meta_before_resize => Null(), & meta_red3D => Null() TYPE(mp_request_type), DIMENSION(2) :: get_requests = mp_request_null - INTEGER :: meta_size + INTEGER :: meta_size = -1 INTEGER :: num_layers_3D = 1 INTEGER :: coord3D = 1 - TYPE(dbcsr_type) :: matrix + TYPE(dbcsr_type) :: matrix = dbcsr_type() LOGICAL :: is_valid = .FALSE., & is_comm = .FALSE., & has_rma_win = .FALSE. END TYPE dbcsr_buffer TYPE dbcsr_buffers - TYPE(dbcsr_buffer) :: left, right + TYPE(dbcsr_buffer) :: left = dbcsr_buffer(), right = dbcsr_buffer() END TYPE dbcsr_buffers TYPE mn_local_sizes @@ -158,7 +158,7 @@ MODULE dbcsr_mm_3d ! Use a buffer per each thread TYPE(dbcsr_data_obj), & DIMENSION(:), ALLOCATABLE :: data_red3D - INTEGER :: data_type + INTEGER :: data_type = -1 END TYPE dbcsr_layers_3D_C_reduction ! Buffers diff --git a/src/mm/dbcsr_mm_accdrv.F b/src/mm/dbcsr_mm_accdrv.F index 11e1bd87c54..24280abe182 100644 --- a/src/mm/dbcsr_mm_accdrv.F +++ b/src/mm/dbcsr_mm_accdrv.F @@ -79,7 +79,7 @@ MODULE dbcsr_mm_accdrv TYPE dbcsr_mm_accdrv_type PRIVATE TYPE(dbcsr_work_type), POINTER :: product_wm => Null() - TYPE(dbcsr_data_obj) :: c_buffer + TYPE(dbcsr_data_obj) :: c_buffer = dbcsr_data_obj() LOGICAL :: c_area_copy = .TRUE. LOGICAL :: keep_product_data = .TRUE. LOGICAL :: do_gpu_c_redux = .FALSE. @@ -100,18 +100,18 @@ MODULE dbcsr_mm_accdrv ! Therefore, the memory is allocated once and stored in global variables. TYPE stack_buffer_type - TYPE(acc_devmem_type) :: devmem + TYPE(acc_devmem_type) :: devmem = acc_devmem_type() INTEGER, DIMENSION(:, :), POINTER :: hostmem => Null() - TYPE(acc_event_type) :: ready - TYPE(acc_event_type) :: calculated - TYPE(acc_stream_type) :: stream + TYPE(acc_event_type) :: ready = acc_event_type() + TYPE(acc_event_type) :: calculated = acc_event_type() + TYPE(acc_stream_type) :: stream = acc_stream_type() END TYPE stack_buffer_type TYPE thread_private_type TYPE(stack_buffer_type), DIMENSION(:), POINTER :: stack_buffers => Null() - TYPE(dbcsr_memtype_type) :: memtype_cbuffer + TYPE(dbcsr_memtype_type) :: memtype_cbuffer = dbcsr_memtype_type() ! ensure that array-elements are on different cache lines - INTEGER(kind=int_4), DIMENSION(64) :: padding + INTEGER(kind=int_4), DIMENSION(64) :: padding = -1_int_4 END TYPE thread_private_type TYPE(thread_private_type), SAVE, DIMENSION(:), ALLOCATABLE, TARGET :: all_thread_privates diff --git a/src/mm/dbcsr_mm_common.F b/src/mm/dbcsr_mm_common.F index af586472eb7..d6609e8fc3a 100644 --- a/src/mm/dbcsr_mm_common.F +++ b/src/mm/dbcsr_mm_common.F @@ -62,7 +62,7 @@ MODULE dbcsr_mm_common TYPE dbcsr_memtype_type_p TYPE(dbcsr_memtype_type), POINTER :: p => Null() ! ensure that array-elements are on different cache lines - INTEGER(kind=int_4), DIMENSION(64) :: padding + INTEGER(kind=int_4), DIMENSION(64) :: padding = -1_int_4 END TYPE dbcsr_memtype_type_p TYPE(dbcsr_memtype_type_p), DIMENSION(:), POINTER, SAVE :: memtype_product_wm => Null() diff --git a/src/mm/dbcsr_mm_csr.F b/src/mm/dbcsr_mm_csr.F index 217b37b907b..0cf05b0a7e3 100644 --- a/src/mm/dbcsr_mm_csr.F +++ b/src/mm/dbcsr_mm_csr.F @@ -62,21 +62,21 @@ MODULE dbcsr_mm_csr TYPE dbcsr_mm_csr_type PRIVATE TYPE(hash_table_type), DIMENSION(:), POINTER :: c_hashes => Null() - INTEGER :: nm_stacks, nn_stacks, nk_stacks + INTEGER :: nm_stacks = -1, nn_stacks = -1, nk_stacks = -1 INTEGER(KIND=int_4), DIMENSION(:), POINTER :: m_size_maps => Null() INTEGER(KIND=int_4), DIMENSION(:), POINTER :: n_size_maps => Null() INTEGER(KIND=int_4), DIMENSION(:), POINTER :: k_size_maps => Null() - INTEGER :: max_m, max_n, max_k - INTEGER :: m_size_maps_size, & - n_size_maps_size, & - k_size_maps_size + INTEGER :: max_m = -1, max_n = -1, max_k = -1 + INTEGER :: m_size_maps_size = -1, & + n_size_maps_size = -1, & + k_size_maps_size = -1 INTEGER(KIND=int_1), DIMENSION(:, :, :), POINTER :: stack_map => Null() TYPE(stack_descriptor_type), DIMENSION(:), POINTER :: stacks_descr => Null() TYPE(dbcsr_work_type), POINTER :: product_wm => Null() INTEGER, DIMENSION(:, :, :), POINTER :: stacks_data => Null() INTEGER, DIMENSION(:), POINTER :: stacks_fillcount => Null() - TYPE(dbcsr_mm_sched_type) :: sched - LOGICAL :: keep_product_data + TYPE(dbcsr_mm_sched_type) :: sched = dbcsr_mm_sched_type() + LOGICAL :: keep_product_data = .FALSE. END TYPE dbcsr_mm_csr_type #include "utils/dbcsr_hash_table_types.f90" diff --git a/src/mm/dbcsr_mm_hostdrv.F b/src/mm/dbcsr_mm_hostdrv.F index 83e0aa3c2e9..fa33c90021a 100644 --- a/src/mm/dbcsr_mm_hostdrv.F +++ b/src/mm/dbcsr_mm_hostdrv.F @@ -57,7 +57,7 @@ MODULE dbcsr_mm_hostdrv LOGICAL, PARAMETER :: careful_mod = .FALSE. TYPE dbcsr_mm_hostdrv_type - TYPE(dbcsr_data_obj) :: data_area + TYPE(dbcsr_data_obj) :: data_area = dbcsr_data_obj() END TYPE dbcsr_mm_hostdrv_type CONTAINS diff --git a/src/mm/dbcsr_mm_multrec.F b/src/mm/dbcsr_mm_multrec.F index d8d0420f782..161b0b69f6a 100644 --- a/src/mm/dbcsr_mm_multrec.F +++ b/src/mm/dbcsr_mm_multrec.F @@ -57,34 +57,34 @@ MODULE dbcsr_mm_multrec !! its own private copy. PRIVATE - LOGICAL :: c_has_symmetry, keep_sparsity, keep_product_data, use_eps + LOGICAL :: c_has_symmetry = .FALSE., keep_sparsity = .FALSE., keep_product_data = .FALSE., use_eps = .FALSE. !! The product matrix has symmetry !! Sparsity of C matrix should be kept !! Use on-the-fly filtering - INTEGER, DIMENSION(:), POINTER :: m_sizes, n_sizes, k_sizes + INTEGER, DIMENSION(:), POINTER :: m_sizes => NULL(), n_sizes => NULL(), k_sizes => NULL() !! Block sizes of A and C matrix rows, indexed locally !! Block sizes of B and C matrix columns, indexed locally !! Block sizes of A matrix columns and B matrix rows, indexed locally - INTEGER, DIMENSION(:), POINTER :: m_global_sizes, n_global_sizes - INTEGER, DIMENSION(:), POINTER :: c_local_rows, c_local_cols, k_locals, & - c_global_rows, c_global_cols + INTEGER, DIMENSION(:), POINTER :: m_global_sizes => NULL(), n_global_sizes => NULL() + INTEGER, DIMENSION(:), POINTER :: c_local_rows => NULL(), c_local_cols => NULL(), k_locals => NULL(), & + c_global_rows => NULL(), c_global_cols => NULL() !! C and A matrix local rows. Map from local row (index) to global row (value). !! C and B matrix local columns. Map from local column (index) to global column (value). !! A matrix local columns and B matrix local rows. Map from local row/column (index) to global row/column (value). !! C and A matrix global rows. Map from global rows (index) to local rows (value). !! C and B matrix global columns. Map from global columns (index) to local columns (value). - REAL(KIND=sp), DIMENSION(:), POINTER :: row_max_epss, a_norms, b_norms + REAL(KIND=sp), DIMENSION(:), POINTER :: row_max_epss => NULL(), a_norms => NULL(), b_norms => NULL() !! Maximum eps to be used for one row. !! Norms of A matrix blocks. !! Norms of B matrix blocks. - REAL(KIND=real_8) :: eps - INTEGER :: original_lastblk + REAL(KIND=real_8) :: eps = -1.0_real_8 + INTEGER :: original_lastblk = -1 !! Number of work matrix blocks before addition - INTEGER(kind=int_8) :: flop + INTEGER(kind=int_8) :: flop = -1_int_8 !! flop count TYPE(dbcsr_work_type), POINTER :: product_wm => Null() - TYPE(dbcsr_mm_csr_type) :: csr + TYPE(dbcsr_mm_csr_type) :: csr = dbcsr_mm_csr_type() LOGICAL :: new_row_max_epss = .FALSE. LOGICAL :: initialized = .FALSE. END TYPE dbcsr_mm_multrec_type diff --git a/src/mm/dbcsr_mm_sched.F b/src/mm/dbcsr_mm_sched.F index 78843e2fa19..0bd9f2bffea 100644 --- a/src/mm/dbcsr_mm_sched.F +++ b/src/mm/dbcsr_mm_sched.F @@ -71,8 +71,8 @@ MODULE dbcsr_mm_sched TYPE dbcsr_mm_sched_type PRIVATE TYPE(dbcsr_work_type), POINTER :: product_wm => Null() - TYPE(dbcsr_mm_accdrv_type) :: accdrv - TYPE(dbcsr_mm_hostdrv_type) :: hostdrv + TYPE(dbcsr_mm_accdrv_type) :: accdrv = dbcsr_mm_accdrv_type() + TYPE(dbcsr_mm_hostdrv_type) :: hostdrv = dbcsr_mm_hostdrv_type() LOGICAL :: avoid_accdrv = .FALSE. LOGICAL :: product_wm_cleared = .FALSE. LOGICAL :: keep_product_data = .TRUE. @@ -92,7 +92,7 @@ MODULE dbcsr_mm_sched INTEGER(kind=int_8) :: max_acc_flop = 0 INTEGER(kind=int_8), DIMENSION(:, :), ALLOCATABLE :: num_mnk_stacks ! ensure that array-elements are on different cache lines - INTEGER(kind=int_4), DIMENSION(64) :: padding + INTEGER(kind=int_4), DIMENSION(64) :: padding = -1_int_4 END TYPE stats_type TYPE(stats_type), DIMENSION(:), ALLOCATABLE, TARGET, SAVE :: stats_per_thread diff --git a/src/mm/dbcsr_mm_types.F b/src/mm/dbcsr_mm_types.F index f172903d4ce..fd2c9f38836 100644 --- a/src/mm/dbcsr_mm_types.F +++ b/src/mm/dbcsr_mm_types.F @@ -32,8 +32,8 @@ MODULE dbcsr_mm_types INTEGER, PARAMETER, PUBLIC :: p_c_blk = 7 TYPE stack_descriptor_type - INTEGER :: m, n, k, max_m, max_n, max_k - LOGICAL :: defined_mnk + INTEGER :: m = -1, n = -1, k = -1, max_m = -1, max_n = -1, max_k = -1 + LOGICAL :: defined_mnk = .FALSE. END TYPE stack_descriptor_type END MODULE dbcsr_mm_types diff --git a/src/mpi/dbcsr_mpiwrap.F b/src/mpi/dbcsr_mpiwrap.F index 2be26351bc8..f5393630eb9 100644 --- a/src/mpi/dbcsr_mpiwrap.F +++ b/src/mpi/dbcsr_mpiwrap.F @@ -110,6 +110,7 @@ MODULE dbcsr_mpiwrap MPI_WIN_TYPE, PARAMETER :: mp_win_null_handle = MPI_WIN_NULL MPI_FILE_TYPE, PARAMETER :: mp_file_null_handle = MPI_FILE_NULL MPI_INFO_TYPE, PARAMETER :: mp_info_null_handle = MPI_INFO_NULL + MPI_DATA_TYPE, PARAMETER :: mp_datatype_null_handle = MPI_DATATYPE_NULL INTEGER, PARAMETER, PUBLIC :: mp_status_size = MPI_STATUS_SIZE INTEGER, PARAMETER, PUBLIC :: mp_proc_null = MPI_PROC_NULL ! Set max allocatable memory by MPI to 2 GiByte @@ -136,6 +137,7 @@ MODULE dbcsr_mpiwrap MPI_WIN_TYPE, PARAMETER :: mp_win_null_handle = -5 MPI_FILE_TYPE, PARAMETER :: mp_file_null_handle = -6 MPI_INFO_TYPE, PARAMETER :: mp_info_null_handle = -7 + MPI_DATA_TYPE, PARAMETER :: mp_datatype_null_handle = -13 INTEGER, PARAMETER, PUBLIC :: mp_status_size = -7 INTEGER, PARAMETER, PUBLIC :: mp_proc_null = -8 INTEGER, PARAMETER, PUBLIC :: mp_max_library_version_string = 1 @@ -467,39 +469,39 @@ MODULE dbcsr_mpiwrap ! Type declarations TYPE mp_indexing_meta_type - INTEGER, DIMENSION(:), POINTER :: index, chunks + INTEGER, DIMENSION(:), POINTER :: index => NULL(), chunks => NULL() END TYPE mp_indexing_meta_type TYPE mp_type_descriptor_type - MPI_DATA_TYPE :: type_handle - INTEGER :: length -#if defined(__parallel) - INTEGER(kind=mpi_address_kind) :: base -#endif - INTEGER(kind=int_4), DIMENSION(:), POINTER :: data_i - INTEGER(kind=int_8), DIMENSION(:), POINTER :: data_l - REAL(kind=real_4), DIMENSION(:), POINTER :: data_r - REAL(kind=real_8), DIMENSION(:), POINTER :: data_d - COMPLEX(kind=real_4), DIMENSION(:), POINTER :: data_c - COMPLEX(kind=real_8), DIMENSION(:), POINTER :: data_z - TYPE(mp_type_descriptor_type), DIMENSION(:), POINTER :: subtype - INTEGER :: vector_descriptor(2) - LOGICAL :: has_indexing - TYPE(mp_indexing_meta_type) :: index_descriptor + MPI_DATA_TYPE :: type_handle = mp_datatype_null_handle + INTEGER :: length = -1 +#if defined(__parallel) + INTEGER(kind=mpi_address_kind) :: base = -1_mpi_address_kind +#endif + INTEGER(kind=int_4), DIMENSION(:), POINTER :: data_i => NULL() + INTEGER(kind=int_8), DIMENSION(:), POINTER :: data_l => NULL() + REAL(kind=real_4), DIMENSION(:), POINTER :: data_r => NULL() + REAL(kind=real_8), DIMENSION(:), POINTER :: data_d => NULL() + COMPLEX(kind=real_4), DIMENSION(:), POINTER :: data_c => NULL() + COMPLEX(kind=real_8), DIMENSION(:), POINTER :: data_z => NULL() + TYPE(mp_type_descriptor_type), DIMENSION(:), POINTER :: subtype => NULL() + INTEGER :: vector_descriptor(2) = -1 + LOGICAL :: has_indexing = .FALSE. + TYPE(mp_indexing_meta_type) :: index_descriptor = mp_indexing_meta_type() END TYPE mp_type_descriptor_type TYPE mp_file_indexing_meta_type - INTEGER, DIMENSION(:), POINTER :: index + INTEGER, DIMENSION(:), POINTER :: index => NULL() INTEGER(kind=address_kind), & - DIMENSION(:), POINTER :: chunks + DIMENSION(:), POINTER :: chunks => NULL() END TYPE mp_file_indexing_meta_type ! type internally used to store message passing performance indicators ! ************************************************************************************************** TYPE mp_perf_type - CHARACTER(LEN=20) :: name - INTEGER :: count - REAL(KIND=dp) :: msg_size + CHARACTER(LEN=20) :: name = "" + INTEGER :: count = -1 + REAL(KIND=dp) :: msg_size = -1.0_dp END TYPE mp_perf_type INTEGER, PARAMETER :: MAX_PERF = 28 @@ -507,8 +509,8 @@ MODULE dbcsr_mpiwrap ! ************************************************************************************************** TYPE mp_perf_env_type !private - INTEGER :: ref_count, id_nr - TYPE(mp_perf_type), DIMENSION(MAX_PERF) :: mp_perfs + INTEGER :: ref_count = -1, id_nr = -1 + TYPE(mp_perf_type), DIMENSION(MAX_PERF) :: mp_perfs = mp_perf_type() END TYPE mp_perf_env_type ! ************************************************************************************************** diff --git a/src/ops/dbcsr_csr_conversions.F b/src/ops/dbcsr_csr_conversions.F index 6251aca65eb..8aecc507014 100644 --- a/src/ops/dbcsr_csr_conversions.F +++ b/src/ops/dbcsr_csr_conversions.F @@ -82,18 +82,18 @@ MODULE dbcsr_csr_conversions !! index of this value is not in csr_to_brd_ind. !! same as csr_to_brd_ind but inverse mapping. If a given DBCSR index dbcsr_ind points to a zero element, then !! brd_to_csr_ind(dbcsr_ind) is -1. - TYPE(dbcsr_type) :: brd_mat + TYPE(dbcsr_type) :: brd_mat = dbcsr_type() !! DBCSR BRD matrix acting as an intermediate step in any conversion from and to DBCSR format. LOGICAL :: has_dbcsr_block_data = .FALSE. !! whether dbcsr_* fields are defined - INTEGER :: dbcsr_nblkcols_total, & - dbcsr_nblkrows_total, & - dbcsr_nblks_local + INTEGER :: dbcsr_nblkcols_total = -1, & + dbcsr_nblkrows_total = -1, & + dbcsr_nblks_local = -1 !! data from original DBCSR matrix (not block-row distributed), !! representing the original block structure. - INTEGER, DIMENSION(:), POINTER :: dbcsr_row_p, dbcsr_col_i, & - dbcsr_row_blk_size, dbcsr_col_blk_size + INTEGER, DIMENSION(:), POINTER :: dbcsr_row_p => NULL(), dbcsr_col_i => NULL(), & + dbcsr_row_blk_size => NULL(), dbcsr_col_blk_size => NULL() !! data from original DBCSR matrix (not block-row distributed), !! representing the original block structure. END TYPE @@ -115,24 +115,24 @@ MODULE dbcsr_csr_conversions TYPE csr_type !! Type for CSR matrices - INTEGER :: nrows_total, ncols_total, & - nze_local, nrows_local + INTEGER :: nrows_total = -1, ncols_total = -1, & + nze_local = -1, nrows_local = -1 !! total number of rows !! total number of columns !! local number of nonzero elements !! local number of rows - TYPE(mp_comm_type) :: mp_group + TYPE(mp_comm_type) :: mp_group = mp_comm_type() !! message-passing group ID - INTEGER(KIND=int_8) :: nze_total + INTEGER(KIND=int_8) :: nze_total = -1_int_8 !! total number of nonzero elements INTEGER, DIMENSION(:), POINTER :: rowptr_local => NULL(), & colind_local => NULL(), & nzerow_local => NULL() !! indices of elements inside nzval_local starting a row !! column indices of elements inside nzval_local - TYPE(csr_data_area_type) :: nzval_local + TYPE(csr_data_area_type) :: nzval_local = csr_data_area_type() !! values of local non-zero elements, row-wise ordering. - TYPE(csr_mapping_data) :: dbcsr_mapping + TYPE(csr_mapping_data) :: dbcsr_mapping = csr_mapping_data() !! mapping data relating indices of nzval_local to indices of a block-row distributed DBCSR matrix LOGICAL :: has_mapping = .FALSE. !! whether dbcsr_mapping is defined @@ -143,7 +143,7 @@ MODULE dbcsr_csr_conversions END TYPE csr_type TYPE csr_p_type - TYPE(csr_type), POINTER :: csr_mat + TYPE(csr_type), POINTER :: csr_mat => NULL() END TYPE csr_p_type PUBLIC :: csr_type, csr_p_type, convert_csr_to_dbcsr, & diff --git a/src/tas/dbcsr_tas_global.F b/src/tas/dbcsr_tas_global.F index 20c9f3ee349..8b53842e2e0 100644 --- a/src/tas/dbcsr_tas_global.F +++ b/src/tas/dbcsr_tas_global.F @@ -38,9 +38,9 @@ MODULE dbcsr_tas_global ! abstract type for distribution vectors along one dimension TYPE, ABSTRACT :: dbcsr_tas_distribution ! number of process rows / columns: - INTEGER :: nprowcol + INTEGER :: nprowcol = -1 ! number of matrix rows / columns: - INTEGER(KIND=int_8) :: nmrowcol + INTEGER(KIND=int_8) :: nmrowcol = -1_int_8 CONTAINS ! map matrix rows/cols to distribution rows/cols: PROCEDURE(rowcol_dist), deferred :: dist @@ -52,7 +52,7 @@ MODULE dbcsr_tas_global ! - may not be load balanced for arbitrary block sizes ! - memory efficient for large dimensions TYPE, EXTENDS(dbcsr_tas_distribution) :: dbcsr_tas_dist_cyclic - INTEGER :: split_size + INTEGER :: split_size = -1 CONTAINS PROCEDURE :: dist => cyclic_dist PROCEDURE :: rowcols => cyclic_rowcols @@ -73,9 +73,9 @@ MODULE dbcsr_tas_global ! - memory efficient for large dimensions TYPE, EXTENDS(dbcsr_tas_distribution) :: dbcsr_tas_dist_repl INTEGER, DIMENSION(:), ALLOCATABLE :: dist_vec - INTEGER :: nmrowcol_local - INTEGER :: n_repl - INTEGER :: dist_size + INTEGER :: nmrowcol_local = -1 + INTEGER :: n_repl = -1 + INTEGER :: dist_size = -1 CONTAINS PROCEDURE :: dist => repl_dist PROCEDURE :: rowcols => repl_rowcols @@ -84,9 +84,9 @@ MODULE dbcsr_tas_global ! abstract type for integer data (e.g. block sizes) along one dimension TYPE, ABSTRACT :: dbcsr_tas_rowcol_data ! number of matrix rows / columns (blocks): - INTEGER(KIND=int_8) :: nmrowcol + INTEGER(KIND=int_8) :: nmrowcol = -1_int_8 ! number of matrix rows / columns (elements): - INTEGER(KIND=int_8) :: nfullrowcol + INTEGER(KIND=int_8) :: nfullrowcol = -1_int_8 CONTAINS ! integer data for each block row / col PROCEDURE(rowcol_data), deferred :: DATA @@ -106,7 +106,7 @@ MODULE dbcsr_tas_global ! - memory efficient for large dimensions TYPE, EXTENDS(dbcsr_tas_rowcol_data) :: dbcsr_tas_blk_size_repl INTEGER, DIMENSION(:), ALLOCATABLE :: blk_size_vec - INTEGER :: nmrowcol_local + INTEGER :: nmrowcol_local = -1 CONTAINS PROCEDURE :: DATA => blk_size_repl END TYPE diff --git a/src/tas/dbcsr_tas_types.F b/src/tas/dbcsr_tas_types.F index 457d016c05c..a6b297525c1 100644 --- a/src/tas/dbcsr_tas_types.F +++ b/src/tas/dbcsr_tas_types.F @@ -35,14 +35,14 @@ MODULE dbcsr_tas_types ! info on MPI Cartesian grid that is split on MPI subgroups. ! info on distribution of matrix rows / columns to different subgroups. TYPE dbcsr_tas_split_info - TYPE(mp_comm_type) :: mp_comm ! global communicator - INTEGER, DIMENSION(2) :: pdims ! dimensions of process grid - INTEGER :: igroup ! which subgroup do I belong to - INTEGER :: ngroup ! how many groups in total - INTEGER :: split_rowcol ! split row or column? - INTEGER :: pgrid_split_size ! how many process rows/cols in subgroups - INTEGER :: group_size ! group size (how many cores) of subgroups - TYPE(mp_comm_type) :: mp_comm_group ! sub communicator + TYPE(mp_comm_type) :: mp_comm = mp_comm_type() ! global communicator + INTEGER, DIMENSION(2) :: pdims = -1 ! dimensions of process grid + INTEGER :: igroup = -1 ! which subgroup do I belong to + INTEGER :: ngroup = -1 ! how many groups in total + INTEGER :: split_rowcol = -1 ! split row or column? + INTEGER :: pgrid_split_size = -1 ! how many process rows/cols in subgroups + INTEGER :: group_size = -1 ! group size (how many cores) of subgroups + TYPE(mp_comm_type) :: mp_comm_group = mp_comm_type() ! sub communicator INTEGER, ALLOCATABLE :: ngroup_opt ! optimal number of groups (split factor) LOGICAL, DIMENSION(2) :: strict_split = [.FALSE., .FALSE.] ! if .true., split factor should not be modified (2 parameters for current and general settings) @@ -50,8 +50,8 @@ MODULE dbcsr_tas_types END TYPE TYPE dbcsr_tas_distribution_type - TYPE(dbcsr_tas_split_info) :: info - TYPE(dbcsr_distribution_obj) :: dbcsr_dist + TYPE(dbcsr_tas_split_info) :: info = dbcsr_tas_split_info() + TYPE(dbcsr_distribution_obj) :: dbcsr_dist = dbcsr_distribution_obj() CLASS(dbcsr_tas_distribution), ALLOCATABLE :: row_dist CLASS(dbcsr_tas_distribution), ALLOCATABLE :: col_dist INTEGER(KIND=int_8), ALLOCATABLE, DIMENSION(:) :: local_rowcols @@ -61,23 +61,23 @@ MODULE dbcsr_tas_types TYPE dbcsr_tas_mm_storage TYPE(dbcsr_tas_type), POINTER :: store_batched => NULL() ! intermediate replicated matrix TYPE(dbcsr_tas_type), POINTER :: store_batched_repl => NULL() ! intermediate replicated matrix - LOGICAL :: batched_out ! whether replicated matrix has been changed in mm and should be copied to actual matrix - LOGICAL :: batched_trans - TYPE(dbcsr_scalar_type) :: batched_beta + LOGICAL :: batched_out = .FALSE. ! whether replicated matrix has been changed in mm and should be copied to actual matrix + LOGICAL :: batched_trans = .FALSE. + TYPE(dbcsr_scalar_type) :: batched_beta = dbcsr_scalar_type() END TYPE ! type for tall-and-skinny matrices TYPE dbcsr_tas_type - TYPE(dbcsr_tas_distribution_type) :: dist + TYPE(dbcsr_tas_distribution_type) :: dist = dbcsr_tas_distribution_type() CLASS(dbcsr_tas_rowcol_data), ALLOCATABLE :: row_blk_size CLASS(dbcsr_tas_rowcol_data), ALLOCATABLE :: col_blk_size - TYPE(dbcsr_type) :: matrix ! matrix on subgroup - INTEGER(KIND=int_8) :: nblkrows ! total number of rows - INTEGER(KIND=int_8) :: nblkcols ! total number of columns - INTEGER(KIND=int_8) :: nblkrowscols_split ! nblkrows or nblkcols depending on which is splitted - INTEGER(KIND=int_8) :: nfullrows ! total number of full (not blocked) rows - INTEGER(KIND=int_8) :: nfullcols ! total number of full (not blocked) columns + TYPE(dbcsr_type) :: matrix = dbcsr_type() ! matrix on subgroup + INTEGER(KIND=int_8) :: nblkrows = -1_int_8 ! total number of rows + INTEGER(KIND=int_8) :: nblkcols = -1_int_8 ! total number of columns + INTEGER(KIND=int_8) :: nblkrowscols_split = -1_int_8 ! nblkrows or nblkcols depending on which is splitted + INTEGER(KIND=int_8) :: nfullrows = -1_int_8 ! total number of full (not blocked) rows + INTEGER(KIND=int_8) :: nfullcols = -1_int_8 ! total number of full (not blocked) columns LOGICAL :: valid = .FALSE. ! has been created? ! storage and flags for batched matrix multiplication @@ -87,9 +87,9 @@ MODULE dbcsr_tas_types END TYPE TYPE dbcsr_tas_iterator - TYPE(dbcsr_tas_split_info) :: info - TYPE(dbcsr_tas_distribution_type) :: dist - TYPE(dbcsr_iterator) :: iter + TYPE(dbcsr_tas_split_info) :: info = dbcsr_tas_split_info() + TYPE(dbcsr_tas_distribution_type) :: dist = dbcsr_tas_distribution_type() + TYPE(dbcsr_iterator) :: iter = dbcsr_iterator() END TYPE dbcsr_tas_iterator END MODULE diff --git a/src/tensors/dbcsr_tensor_block.F b/src/tensors/dbcsr_tensor_block.F index 001302636ce..cf33614bd38 100644 --- a/src/tensors/dbcsr_tensor_block.F +++ b/src/tensors/dbcsr_tensor_block.F @@ -62,10 +62,10 @@ MODULE dbcsr_tensor_block ndims_iterator TYPE dbcsr_t_iterator_type - TYPE(dbcsr_tas_iterator) :: iter - TYPE(nd_to_2d_mapping) :: nd_index_blk - TYPE(nd_to_2d_mapping) :: nd_index - TYPE(array_list) :: blk_sizes, blk_offsets + TYPE(dbcsr_tas_iterator) :: iter = dbcsr_tas_iterator() + TYPE(nd_to_2d_mapping) :: nd_index_blk = nd_to_2d_mapping() + TYPE(nd_to_2d_mapping) :: nd_index = nd_to_2d_mapping() + TYPE(array_list) :: blk_sizes = array_list(), blk_offsets = array_list() END TYPE dbcsr_t_iterator_type #:for dparam, dtype, dsuffix in dtype_float_list diff --git a/src/tensors/dbcsr_tensor_index.F b/src/tensors/dbcsr_tensor_index.F index 88dcf8acdbf..282e6fb9c24 100644 --- a/src/tensors/dbcsr_tensor_index.F +++ b/src/tensors/dbcsr_tensor_index.F @@ -38,12 +38,12 @@ MODULE dbcsr_tensor_index permute_index TYPE nd_to_2d_mapping - INTEGER :: ndim_nd - INTEGER :: ndim1_2d - INTEGER :: ndim2_2d + INTEGER :: ndim_nd = -1 + INTEGER :: ndim1_2d = -1 + INTEGER :: ndim2_2d = -1 INTEGER, DIMENSION(:), ALLOCATABLE :: dims_nd - INTEGER(KIND=int_8), DIMENSION(2) :: dims_2d + INTEGER(KIND=int_8), DIMENSION(2) :: dims_2d = -1_int_8 INTEGER, DIMENSION(:), ALLOCATABLE :: dims1_2d INTEGER, DIMENSION(:), ALLOCATABLE :: dims2_2d @@ -51,8 +51,8 @@ MODULE dbcsr_tensor_index INTEGER, DIMENSION(:), ALLOCATABLE :: map2_2d INTEGER, DIMENSION(:), ALLOCATABLE :: map_nd - INTEGER :: base - LOGICAL :: col_major + INTEGER :: base = -1 + LOGICAL :: col_major = .FALSE. END TYPE nd_to_2d_mapping CONTAINS diff --git a/src/tensors/dbcsr_tensor_types.F b/src/tensors/dbcsr_tensor_types.F index f514690a08d..2bf38b7158c 100644 --- a/src/tensors/dbcsr_tensor_types.F +++ b/src/tensors/dbcsr_tensor_types.F @@ -103,42 +103,42 @@ MODULE dbcsr_tensor_types dbcsr_t_copy_contraction_storage TYPE dbcsr_t_pgrid_type - TYPE(nd_to_2d_mapping) :: nd_index_grid - TYPE(mp_comm_type) :: mp_comm_2d + TYPE(nd_to_2d_mapping) :: nd_index_grid = nd_to_2d_mapping() + TYPE(mp_comm_type) :: mp_comm_2d = mp_comm_type() TYPE(dbcsr_tas_split_info), ALLOCATABLE :: tas_split_info - INTEGER :: nproc + INTEGER :: nproc = -1 END TYPE TYPE dbcsr_t_contraction_storage - REAL(real_8) :: nsplit_avg - INTEGER :: ibatch - TYPE(array_list) :: batch_ranges - LOGICAL :: static + REAL(real_8) :: nsplit_avg = -1.0_real_8 + INTEGER :: ibatch = -1 + TYPE(array_list) :: batch_ranges = array_list() + LOGICAL :: static = .FALSE. END TYPE TYPE dbcsr_t_type TYPE(dbcsr_tas_type), POINTER :: matrix_rep => NULL() - TYPE(nd_to_2d_mapping) :: nd_index_blk - TYPE(nd_to_2d_mapping) :: nd_index - TYPE(array_list) :: blk_sizes - TYPE(array_list) :: blk_offsets - TYPE(array_list) :: nd_dist - TYPE(dbcsr_t_pgrid_type) :: pgrid - TYPE(array_list) :: blks_local + TYPE(nd_to_2d_mapping) :: nd_index_blk = nd_to_2d_mapping() + TYPE(nd_to_2d_mapping) :: nd_index = nd_to_2d_mapping() + TYPE(array_list) :: blk_sizes = array_list() + TYPE(array_list) :: blk_offsets = array_list() + TYPE(array_list) :: nd_dist = array_list() + TYPE(dbcsr_t_pgrid_type) :: pgrid = dbcsr_t_pgrid_type() + TYPE(array_list) :: blks_local = array_list() INTEGER, DIMENSION(:), ALLOCATABLE :: nblks_local INTEGER, DIMENSION(:), ALLOCATABLE :: nfull_local LOGICAL :: valid = .FALSE. LOGICAL :: owns_matrix = .FALSE. - CHARACTER(LEN=default_string_length) :: name + CHARACTER(LEN=default_string_length) :: name = "" ! lightweight reference counting for communicators: INTEGER, POINTER :: refcount => NULL() TYPE(dbcsr_t_contraction_storage), ALLOCATABLE :: contraction_storage END TYPE dbcsr_t_type TYPE dbcsr_t_distribution_type - TYPE(dbcsr_tas_distribution_type) :: dist - TYPE(dbcsr_t_pgrid_type) :: pgrid - TYPE(array_list) :: nd_dist + TYPE(dbcsr_tas_distribution_type) :: dist = dbcsr_tas_distribution_type() + TYPE(dbcsr_t_pgrid_type) :: pgrid = dbcsr_t_pgrid_type() + TYPE(array_list) :: nd_dist = array_list() ! lightweight reference counting for communicators: INTEGER, POINTER :: refcount => NULL() END TYPE @@ -150,7 +150,7 @@ MODULE dbcsr_tensor_types ! grid dimensions only for this matrix dimension: INTEGER, DIMENSION(:), ALLOCATABLE :: dims_grid ! dist only for tensor dimensions belonging to this matrix dimension: - TYPE(array_list) :: nd_dist + TYPE(array_list) :: nd_dist = array_list() CONTAINS ! map matrix index to process grid: PROCEDURE :: dist => tas_dist_t @@ -163,7 +163,7 @@ MODULE dbcsr_tensor_types ! tensor dimensions only for this matrix dimension: INTEGER, DIMENSION(:), ALLOCATABLE :: dims ! block size only for this matrix dimension: - TYPE(array_list) :: blk_size + TYPE(array_list) :: blk_size = array_list() CONTAINS PROCEDURE :: data => tas_blk_size_t END TYPE diff --git a/src/utils/dbcsr_btree.F b/src/utils/dbcsr_btree.F index 593aa03f9ff..3886f67ccd8 100644 --- a/src/utils/dbcsr_btree.F +++ b/src/utils/dbcsr_btree.F @@ -62,28 +62,28 @@ MODULE dbcsr_btree #:for nametype, nametype1, nametype2, type1, type2, defaultFormatType1, defaultFormatType2, accessorType2 in inst_params TYPE btree_node_${nametype}$ - INTEGER id - INTEGER :: filled - ${type1}$, DIMENSION(:), POINTER :: keys - ${type2}$, DIMENSION(:), POINTER :: values - TYPE(btree_node_p_${nametype}$), DIMENSION(:), POINTER :: subtrees - TYPE(btree_node_${nametype}$), POINTER :: parent + INTEGER :: id = -1 + INTEGER :: filled = -1 + ${type1}$, DIMENSION(:), POINTER :: keys => NULL() + ${type2}$, DIMENSION(:), POINTER :: values => NULL() + TYPE(btree_node_p_${nametype}$), DIMENSION(:), POINTER :: subtrees => NULL() + TYPE(btree_node_${nametype}$), POINTER :: parent => NULL() END TYPE btree_node_${nametype}$ TYPE btree_node_p_${nametype}$ - TYPE(btree_node_${nametype}$), POINTER :: node + TYPE(btree_node_${nametype}$), POINTER :: node => NULL() END TYPE btree_node_p_${nametype}$ TYPE btree_node_structure_${nametype}$ - INTEGER :: min_fill, max_fill - INTEGER :: n - INTEGER :: lastid - INTEGER :: refcount - TYPE(btree_node_${nametype}$), POINTER :: root + INTEGER :: min_fill = -1, max_fill = -1 + INTEGER :: n = -1 + INTEGER :: lastid = -1 + INTEGER :: refcount = -1 + TYPE(btree_node_${nametype}$), POINTER :: root => NULL() END TYPE btree_node_structure_${nametype}$ TYPE btree_${nametype}$ - TYPE(btree_node_structure_${nametype}$) :: b + TYPE(btree_node_structure_${nametype}$) :: b = btree_node_structure_${nametype}$ () END TYPE btree_${nametype}$ #:endfor diff --git a/src/utils/dbcsr_btree.fypp b/src/utils/dbcsr_btree.fypp index 85a8341d434..44093378ae1 100644 --- a/src/utils/dbcsr_btree.fypp +++ b/src/utils/dbcsr_btree.fypp @@ -11,32 +11,32 @@ #:def type2setup_1_get() TYPE btree_data_sp2d -REAL(KIND=sp), DIMENSION(:,:), POINTER :: p -LOGICAL :: tr +REAL(KIND=sp), DIMENSION(:,:), POINTER :: p => NULL() +LOGICAL :: tr = .FALSE. END TYPE btree_data_sp2d PUBLIC :: btree_data_sp2d #:enddef #:def type2setup_2_get() TYPE btree_data_dp2d -REAL(KIND=dp), DIMENSION(:,:), POINTER :: p -LOGICAL :: tr +REAL(KIND=dp), DIMENSION(:,:), POINTER :: p => NULL() +LOGICAL :: tr = .FALSE. END TYPE btree_data_dp2d PUBLIC :: btree_data_dp2d #:enddef #:def type2setup_3_get() TYPE btree_data_cp2d -COMPLEX(KIND=sp), DIMENSION(:,:), POINTER :: p -LOGICAL :: tr +COMPLEX(KIND=sp), DIMENSION(:,:), POINTER :: p => NULL() +LOGICAL :: tr = .FALSE. END TYPE btree_data_cp2d PUBLIC :: btree_data_cp2d #:enddef #:def type2setup_4_get() TYPE btree_data_zp2d -COMPLEX(KIND=dp), DIMENSION(:,:), POINTER :: p -LOGICAL :: tr +COMPLEX(KIND=dp), DIMENSION(:,:), POINTER :: p => NULL() +LOGICAL :: tr = .FALSE. END TYPE btree_data_zp2d PUBLIC :: btree_data_zp2d #:enddef diff --git a/src/utils/dbcsr_files.F b/src/utils/dbcsr_files.F index 7eed916a308..a48710ce816 100644 --- a/src/utils/dbcsr_files.F +++ b/src/utils/dbcsr_files.F @@ -32,8 +32,8 @@ MODULE dbcsr_files TYPE preconnection_type PRIVATE - CHARACTER(LEN=default_path_length) :: file_name - INTEGER :: unit_number + CHARACTER(LEN=default_path_length) :: file_name = "" + INTEGER :: unit_number = -1 END TYPE preconnection_type TYPE(preconnection_type), DIMENSION(max_preconnections) :: preconnected diff --git a/src/utils/dbcsr_min_heap.F b/src/utils/dbcsr_min_heap.F index be438aeb242..a4fbb23c5aa 100644 --- a/src/utils/dbcsr_min_heap.F +++ b/src/utils/dbcsr_min_heap.F @@ -24,18 +24,18 @@ MODULE dbcsr_min_heap INTEGER, PARAMETER :: valt = int_4 TYPE dbcsr_heap_node - INTEGER(KIND=keyt) :: key - INTEGER(KIND=valt) :: value + INTEGER(KIND=keyt) :: key = -1_keyt + INTEGER(KIND=valt) :: value = -1_valt END TYPE dbcsr_heap_node TYPE dbcsr_heap_node_e - TYPE(dbcsr_heap_node) :: node + TYPE(dbcsr_heap_node) :: node = dbcsr_heap_node() END TYPE dbcsr_heap_node_e TYPE dbcsr_heap_type - INTEGER :: n - INTEGER, DIMENSION(:), POINTER :: index - TYPE(dbcsr_heap_node_e), DIMENSION(:), POINTER :: nodes + INTEGER :: n = -1 + INTEGER, DIMENSION(:), POINTER :: index => NULL() + TYPE(dbcsr_heap_node_e), DIMENSION(:), POINTER :: nodes => NULL() END TYPE dbcsr_heap_type CONTAINS diff --git a/src/work/dbcsr_work_operations.F b/src/work/dbcsr_work_operations.F index dbab7e229aa..fe3779eee86 100644 --- a/src/work/dbcsr_work_operations.F +++ b/src/work/dbcsr_work_operations.F @@ -108,7 +108,7 @@ MODULE dbcsr_work_operations END INTERFACE TYPE i_array_p - INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: p + INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: p => NULL() END TYPE i_array_p CONTAINS From d8116fd92ca336c47cc00e2f15d73443f2b69285 Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Tue, 18 Jun 2024 22:18:58 +0200 Subject: [PATCH 42/74] Set TEST_MPI_RANKS to 2 as default --- .github/workflows/testing-linux.yml | 1 + .github/workflows/testing-macos.yml | 2 +- CMakeLists.txt | 2 +- docs/guide/2-user-guide/1-installation/index.md | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/testing-linux.yml b/.github/workflows/testing-linux.yml index 32a7d300365..477eccf07ed 100644 --- a/.github/workflows/testing-linux.yml +++ b/.github/workflows/testing-linux.yml @@ -57,6 +57,7 @@ jobs: -DMPI_EXECUTABLE_SUFFIX=.${{ matrix.mpi_suffix }} \ -DMPIEXEC_PREFLAGS="$([ "${{ matrix.mpi_suffix }}" = "openmpi" ] && echo "-mca btl ^openib --allow-run-as-root --oversubscribe")" \ -DLCOV_ARGS="--test-name;${{ matrix.use_mpi }}-${{ matrix.use_openmp }}-${{ matrix.use_smm }}-cpu" \ + -DTEST_MPI_RANKS=auto \ .. - name: Build diff --git a/.github/workflows/testing-macos.yml b/.github/workflows/testing-macos.yml index 2b2241f48d0..41098be17a7 100644 --- a/.github/workflows/testing-macos.yml +++ b/.github/workflows/testing-macos.yml @@ -49,7 +49,7 @@ jobs: -DUSE_${{ matrix.use_smm }} \ $([ "${{ matrix.blas_impl }}" = "openblas" ] && echo '-DCMAKE_PREFIX_PATH=/usr/local/opt/openblas') \ -DMPIEXEC_PREFLAGS="$([ "${{ matrix.mpi_suffix }}" = "openmpi" ] && echo "-mca btl ^openib --allow-run-as-root")" \ - -DTEST_MPI_RANKS=1 \ + -DTEST_MPI_RANKS=auto \ .. - name: Build diff --git a/CMakeLists.txt b/CMakeLists.txt index 21f9b8ff9a9..f2cfc725446 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,7 +82,7 @@ cmake_dependent_option(WITH_EXAMPLES "Build the examples" ON "USE_MPI" OFF )# all examples require MPI set(TEST_MPI_RANKS - "auto" + 2 CACHE STRING "Number of MPI ranks for testing") set(TEST_OMP_THREADS 2 diff --git a/docs/guide/2-user-guide/1-installation/index.md b/docs/guide/2-user-guide/1-installation/index.md index 33d71864284..1c091558026 100644 --- a/docs/guide/2-user-guide/1-installation/index.md +++ b/docs/guide/2-user-guide/1-installation/index.md @@ -76,8 +76,8 @@ make -DWITH_GPU= -DCMAKE_BUILD_TYPE= -DBUILD_TESTING= --DTEST_MPI_RANKS= --DTEST_OMP_THREADS=<2,N> +-DTEST_MPI_RANKS=<2|auto|N> +-DTEST_OMP_THREADS=<2|N> ``` When providing a build of LIBXSMM, make sure the `lib` directory is added to the `PKG_CONFIG_PATH` variable prior From d332b30b98b098bfc8c802436cd7ce2de9b1b833 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 18 Jun 2024 22:27:10 +0200 Subject: [PATCH 43/74] Add processors properties (#757) Signed-off-by: Cristian Le --- tests/CMakeLists.txt | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1eeadafb63d..d7583299786 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -15,9 +15,13 @@ if (USE_MPI) else () set(num_ranks ${TEST_MPI_RANKS}) endif () + math(EXPR test_processors "${num_ranks} * ${NUM_THREADS}") + message( "Tests will run with ${num_ranks} MPI ranks and ${NUM_THREADS} OpenMP threads each" ) +else () + set(test_processors ${NUM_THREADS}) endif () # =================================== DBCSR PERF TESTS @@ -52,8 +56,10 @@ foreach (dbcsr_perf_test ${DBCSR_PERF_TESTS}) COMMAND $ "${CMAKE_CURRENT_SOURCE_DIR}/${dbcsr_perf_test}") endif () - set_tests_properties(dbcsr_perf:${dbcsr_perf_test} - PROPERTIES ENVIRONMENT OMP_NUM_THREADS=${NUM_THREADS}) + set_tests_properties( + dbcsr_perf:${dbcsr_perf_test} + PROPERTIES ENVIRONMENT OMP_NUM_THREADS=${NUM_THREADS} PROCESSORS + ${test_processors}) endforeach () # =================================== DBCSR CORRECTNESS TESTS Define all the @@ -131,9 +137,10 @@ foreach (dbcsr_test ${DBCSR_TESTS_FTN}) endif () if (OpenMP_FOUND) target_link_libraries(${dbcsr_test} OpenMP::OpenMP_Fortran) - set_tests_properties(${dbcsr_test} - PROPERTIES ENVIRONMENT OMP_NUM_THREADS=${NUM_THREADS}) endif () + set_tests_properties( + ${dbcsr_test} PROPERTIES ENVIRONMENT OMP_NUM_THREADS=${NUM_THREADS} + PROCESSORS ${test_processors}) endforeach () # set the __SHORT_FILE__ per file for dbcsr sources @@ -161,11 +168,10 @@ if (WITH_C_API) else () add_test(NAME ${dbcsr_test_cpp_name} COMMAND ./${dbcsr_test_cpp_name}) endif () - if (OpenMP_FOUND) - set_tests_properties( - ${dbcsr_test_cpp_name} PROPERTIES ENVIRONMENT - OMP_NUM_THREADS=${NUM_THREADS}) - endif () + set_tests_properties( + ${dbcsr_test_cpp_name} + PROPERTIES ENVIRONMENT OMP_NUM_THREADS=${NUM_THREADS} PROCESSORS + ${test_processors}) endforeach () endif () @@ -178,11 +184,10 @@ if (NOT USE_MPI) target_link_libraries(${dbcsr_test_backend} PRIVATE dbcsr) # register unittest executable with CMake add_test(NAME ${dbcsr_test_backend} COMMAND ./${dbcsr_test_backend}) - if (OpenMP_FOUND) - set_tests_properties( - ${dbcsr_test_backend} PROPERTIES ENVIRONMENT - OMP_NUM_THREADS=${NUM_THREADS}) - endif () + set_tests_properties( + ${dbcsr_test_backend} + PROPERTIES ENVIRONMENT OMP_NUM_THREADS=${NUM_THREADS} PROCESSORS + ${NUM_THREADS}) endforeach () endif () From 6caf70fe2ffcb8164aa78764cea62e89ba0073e5 Mon Sep 17 00:00:00 2001 From: alazzaro Date: Sun, 23 Jun 2024 15:59:21 -0500 Subject: [PATCH 44/74] Remove max kernel size re-definition --- src/acc/acc_bench.h | 4 ++++ src/acc/libsmm_acc/libsmm_acc_benchmark.cpp | 4 ++-- src/acc/libsmm_acc/libsmm_acc_benchmark.h | 2 -- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/acc/acc_bench.h b/src/acc/acc_bench.h index 1371f5f910f..7aef921f653 100644 --- a/src/acc/acc_bench.h +++ b/src/acc/acc_bench.h @@ -25,6 +25,10 @@ # define INLINE #endif +#if !defined(MAX_KERNEL_DIM) +# define MAX_KERNEL_DIM 80 +#endif + #define INIT_MAT(ELEM_TYPE, SEED, MAT, M, N, SCALE) \ do { \ const double init_mat_seed1_ = (SCALE) * (SEED) + (SCALE); \ diff --git a/src/acc/libsmm_acc/libsmm_acc_benchmark.cpp b/src/acc/libsmm_acc/libsmm_acc_benchmark.cpp index f1d1a7662ca..c507e97e94a 100644 --- a/src/acc/libsmm_acc/libsmm_acc_benchmark.cpp +++ b/src/acc/libsmm_acc/libsmm_acc_benchmark.cpp @@ -323,8 +323,8 @@ int libsmm_acc_benchmark( //=========================================================================== int libsmm_acc_benchmark_transpose_(int n_stack, int* stack, int* d_stack, double* mat, double* mat_trs, double* d_mat, int n, int mat_m, int mat_n, ACC_DRV(event) start, ACC_DRV(event) stop, char** kernel_descr, TransposeLauncher* launcher) { - if (mat_m > MAX_BLOCK_DIM || mat_n > MAX_BLOCK_DIM) { - printf("Cannot transpose matrices with dimensions above %i, got (%i x %i)\n", MAX_BLOCK_DIM, mat_m, mat_n); + if (mat_m > MAX_KERNEL_DIM || mat_n > MAX_KERNEL_DIM) { + printf("Cannot transpose matrices with dimensions above %i, got (%i x %i)\n", MAX_KERNEL_DIM, mat_m, mat_n); exit(1); } diff --git a/src/acc/libsmm_acc/libsmm_acc_benchmark.h b/src/acc/libsmm_acc/libsmm_acc_benchmark.h index 3d01dcdbbaa..70dd2d5934f 100644 --- a/src/acc/libsmm_acc/libsmm_acc_benchmark.h +++ b/src/acc/libsmm_acc/libsmm_acc_benchmark.h @@ -18,8 +18,6 @@ #include "../acc_libsmm.h" -#define MAX_BLOCK_DIM 80 - typedef int (*KernelLauncher)(const int* param_stack_dev, int stack_size, ACC_DRV(stream) stream, int m, int n, int k, const double* a_data, const double* b_data, double* c_data); From ab485ef1959c43814a7a95bd3264f8582c962f04 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 09:32:14 +0200 Subject: [PATCH 45/74] [pre-commit.ci] pre-commit autoupdate (#811) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.9 → v0.4.10](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.9...v0.4.10) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ecb28ca969f..71f3056f1a5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.9' + rev: 'v0.4.10' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 5afc2d9e8a6c2e58540f5da85bc1944466a6adb1 Mon Sep 17 00:00:00 2001 From: alazzaro Date: Mon, 24 Jun 2024 10:23:57 -0500 Subject: [PATCH 46/74] Use C++ compiler and add OpenMP flag for C++ application instead of hipcc/clang --- examples/CMakeLists.txt | 7 +++++++ tests/CMakeLists.txt | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 0fd94a00f16..3bd5901e1fc 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -8,6 +8,9 @@ foreach (dbcsr_program_src ${DBCSR_PROGRAM_SRCS_FTN}) get_filename_component(dbcsr_program_name ${dbcsr_program_src} NAME_WE) add_executable(${dbcsr_program_name} ${dbcsr_program_src}) target_link_libraries(${dbcsr_program_name} dbcsr) + if (OpenMP_FOUND) + target_link_libraries(${dbcsr_program_name} OpenMP::OpenMP_Fortran) + endif () # with the Intel compiler CMake 3.12 seems to forget that the source is # actually Fortran and needs to be told explicitly: @@ -29,6 +32,10 @@ if (WITH_C_API) set(dbcsr_program_name ${dbcsr_program_name}_cpp) add_executable(${dbcsr_program_name} ${dbcsr_program_src}) target_link_libraries(${dbcsr_program_name} dbcsr_c MPI::MPI_CXX) + set_target_properties(${dbcsr_program_name} PROPERTIES LINKER_LANGUAGE CXX) + if (OpenMP_FOUND) + target_link_libraries(${dbcsr_program_name} OpenMP::OpenMP_CXX) + endif () if (CMAKE_CXX_COMPILER_ID STREQUAL "Cray") # for recent Cray compiler versions CMake doesn't know diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d7583299786..509bbd1a871 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -157,6 +157,10 @@ if (WITH_C_API) get_filename_component(dbcsr_test_cpp_name ${dbcsr_test_cpp_src} NAME_WE) add_executable(${dbcsr_test_cpp_name} ${dbcsr_test_cpp_src}) target_link_libraries(${dbcsr_test_cpp_name} dbcsr_c MPI::MPI_CXX) + set_target_properties(${dbcsr_test_cpp_name} PROPERTIES LINKER_LANGUAGE CXX) + if (OpenMP_FOUND) + target_link_libraries(${dbcsr_test_cpp_name} OpenMP::OpenMP_CXX) + endif () # register unittest executable with CMake if (USE_MPI) separate_arguments(MPIEXEC_PREFLAGS) @@ -244,6 +248,11 @@ if (USE_ACCEL MATCHES "cuda|hip") target_link_libraries( ${libsmm_acc_test_name} dbcsr $<$:hip::host> $<$:CUDA::cuda_driver> libsmm_acc) + set_target_properties(${libsmm_acc_test_name} PROPERTIES LINKER_LANGUAGE + CXX) + if (OpenMP_FOUND) + target_link_libraries(${libsmm_acc_test_name} OpenMP::OpenMP_CXX) + endif () endforeach () # Comment for the moment, they are not parallelized, very slow... Check issue From c57a4e4f59bb177c4dd078f45537a38f0aa149df Mon Sep 17 00:00:00 2001 From: alazzaro Date: Thu, 27 Jun 2024 03:20:26 -0500 Subject: [PATCH 47/74] Use a generic kernel if tuned kernnels are not present --- src/acc/libsmm_acc/libsmm_acc.cpp | 54 +++++++++++++++++++++---------- src/mm/dbcsr_acc_operations.F | 8 +++-- src/mm/dbcsr_mm_accdrv.F | 7 ++-- src/mm/dbcsr_mm_sched.F | 50 +++++++++++++++++++++------- 4 files changed, 84 insertions(+), 35 deletions(-) diff --git a/src/acc/libsmm_acc/libsmm_acc.cpp b/src/acc/libsmm_acc/libsmm_acc.cpp index c7c6b044c4d..406177a2d7e 100644 --- a/src/acc/libsmm_acc/libsmm_acc.cpp +++ b/src/acc/libsmm_acc/libsmm_acc.cpp @@ -195,30 +195,45 @@ inline void jit_kernel(ACC_DRV(function) & kern_func, libsmm_acc_algo algo, int kernel_map_iterator add_kernel_handle_to_jitted_kernels( - ACC_DRV(function) kern_func, ACC_DRV(stream) stream, Triplet h_mnk, int& threads, int& grouping) { + ACC_DRV(function) kern_func, ACC_DRV(stream) stream, Triplet h_mnk, int& threads, int& grouping, bool& generated_acc_untuned) { kernel_map_iterator kernel_it = kernel_handles.end(); + libsmm_acc_algo algo; + int tile_m, tile_n, w, v, minblocks; + // Check whether autotuned parameters are given for this kernel, and if so, retrieve them if (ht.find(h_mnk) != ht.end()) { // Retrieve launching parameters const KernelParameters params = ht.at(h_mnk); - libsmm_acc_algo algo = libsmm_acc_algo(params[0]); // enum {largeDB1, largeDB2, medium, small, tiny} - int tile_m = params[1]; - int tile_n = params[2]; - int w = params[3]; - int v = params[4]; + algo = libsmm_acc_algo(params[0]); // enum {largeDB1, largeDB2, medium, small, tiny} + tile_m = params[1]; + tile_n = params[2]; + w = params[3]; + v = params[4]; threads = params[5]; grouping = params[6]; - int minblocks = params[7]; + minblocks = params[7]; + generated_acc_untuned = false; + } + else { // Use a default untuned kernel + algo = medium; + tile_m = 2; + tile_n = 2; + w = 0; + v = 0; + threads = 256; + grouping = 30; + minblocks = 2; + generated_acc_untuned = true; + } - // JIT and validate the kernel - jit_kernel(kern_func, algo, tile_m, tile_n, w, v, threads, grouping, minblocks, h_mnk[0], h_mnk[1], h_mnk[2]); - validate_kernel(kern_func, stream, threads, grouping, h_mnk[0], h_mnk[1], h_mnk[2]); + // JIT and validate the kernel + jit_kernel(kern_func, algo, tile_m, tile_n, w, v, threads, grouping, minblocks, h_mnk[0], h_mnk[1], h_mnk[2]); + validate_kernel(kern_func, stream, threads, grouping, h_mnk[0], h_mnk[1], h_mnk[2]); - // Store the handle to the JIT-ed kernel - auto kernel_it_emplaced = kernel_handles.emplace(h_mnk, kernel_launcher(kern_func, threads, grouping)); - kernel_it = kernel_it_emplaced.first; - } + // Store the handle to the JIT-ed kernel + auto kernel_it_emplaced = kernel_handles.emplace(h_mnk, kernel_launcher(kern_func, threads, grouping)); + kernel_it = kernel_it_emplaced.first; return kernel_it; } @@ -256,6 +271,8 @@ int libsmm_acc_process_d(const int* param_stack, int stack_size, ACC_DRV(stream) Triplet h_mnk = {m, n, k}; kernel_map_iterator kernel_it; + bool generated_acc_untuned = false; + #if defined _OPENMP # pragma omp critical(jit_multiplication) #endif @@ -264,7 +281,7 @@ int libsmm_acc_process_d(const int* param_stack, int stack_size, ACC_DRV(stream) kernel_it = kernel_handles.find(h_mnk); if (kernel_it == kernel_handles.end()) { // the kernel has not been JIT-ed yet - kernel_it = add_kernel_handle_to_jitted_kernels(kern_func, stream, h_mnk, threads, grouping); + kernel_it = add_kernel_handle_to_jitted_kernels(kern_func, stream, h_mnk, threads, grouping, generated_acc_untuned); } // if the kernel could be jited successfully, the kernel_it iterator now points to the kernel_launcher. // if this wasn't possible, is set to kernel_handles.end() @@ -283,7 +300,9 @@ int libsmm_acc_process_d(const int* param_stack, int stack_size, ACC_DRV(stream) // Construct argument pointer list and launch kernel void* args[] = {¶m_stack, &stack_size, &a_data, &b_data, &c_data}; - return launch_kernel_from_handle(kern_func, ((stack_size + grouping - 1) / grouping), threads, stream, args); + int return_value = launch_kernel_from_handle(kern_func, ((stack_size + grouping - 1) / grouping), threads, stream, args); + + return ((return_value != 0) or (!generated_acc_untuned)) ? return_value : 10; // return 10 for generated default untuned kernel } } @@ -297,9 +316,10 @@ int libsmm_acc_process(const int* param_stack_host, const int* param_stack_dev, // maximum size over any dimension return (libsmm_acc_process_blas((const int*)param_stack_host, stack_size, *((ACC_DRV(stream)*)c_stream), m, n, k, max_kernel_dim, (const double*)a_data, (const double*)b_data, (double*)c_data)); - else + else { return (libsmm_acc_process_d((const int*)param_stack_dev, stack_size, *((ACC_DRV(stream)*)stack_stream), m, n, k, (const double*)a_data, (const double*)b_data, (double*)c_data)); + } } return -10; // datatype not supported } diff --git a/src/mm/dbcsr_acc_operations.F b/src/mm/dbcsr_acc_operations.F index c57fa51474d..d9b9d10040f 100644 --- a/src/mm/dbcsr_acc_operations.F +++ b/src/mm/dbcsr_acc_operations.F @@ -75,7 +75,7 @@ END FUNCTION libsmm_acc_transpose_cu SUBROUTINE dbcsr_acc_do_mm_stack(param_stack_host, param_stack_dev, stack_size, data_type, & a_data, b_data, c_data, m_max, n_max, k_max, def_mnk, & - stack_stream, c_stream, success) + stack_stream, c_stream, success, generated_acc_untuned) !! Launch an accelerated kernel for processing a stack. INTEGER, DIMENSION(:, :), TARGET, INTENT(IN) :: param_stack_host TYPE(acc_devmem_type), INTENT(IN) :: param_stack_dev @@ -86,7 +86,7 @@ SUBROUTINE dbcsr_acc_do_mm_stack(param_stack_host, param_stack_dev, stack_size, INTEGER, INTENT(IN) :: m_max, n_max, k_max LOGICAL, INTENT(IN) :: def_mnk TYPE(acc_stream_type), INTENT(IN) :: stack_stream, c_stream - LOGICAL, INTENT(INOUT) :: success + LOGICAL, INTENT(INOUT) :: success, generated_acc_untuned #if ! defined (__DBCSR_ACC) MARK_USED(param_stack_host) MARK_USED(param_stack_dev) @@ -102,6 +102,7 @@ SUBROUTINE dbcsr_acc_do_mm_stack(param_stack_host, param_stack_dev, stack_size, MARK_USED(stack_stream) MARK_USED(c_stream) MARK_USED(success) + MARK_USED(generated_acc_untuned) DBCSR_ABORT("__DBCSR_ACC not compiled in.") #else CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_acc_do_mm_stack' @@ -132,7 +133,8 @@ SUBROUTINE dbcsr_acc_do_mm_stack(param_stack_host, param_stack_dev, stack_size, mnk, acc_stream_cptr(stack_stream), acc_stream_cptr(c_stream)) ! IF (istat == -10) DBCSR_ABORT("Data type not supported with GPU backend.") ! IF (istat == -20) DBCSR_ABORT("GPU kernel not JIT-ed.") - success = (istat == 0) ! false if no suitable kernel was found + success = (istat .GE. 0) ! false if no suitable kernel was found + generated_acc_untuned = (istat == 10) ! Generated default untuned kernel IF (careful_mod) CALL timestop(error_handle) #endif diff --git a/src/mm/dbcsr_mm_accdrv.F b/src/mm/dbcsr_mm_accdrv.F index 24280abe182..5a4cc28f05b 100644 --- a/src/mm/dbcsr_mm_accdrv.F +++ b/src/mm/dbcsr_mm_accdrv.F @@ -432,14 +432,14 @@ END SUBROUTINE dbcsr_mm_accdrv_barrier SUBROUTINE dbcsr_mm_accdrv_process(this, left, right, params, stack_size, & !! Processes a given stack using accelerator - stack_descr, success) + stack_descr, success, generated_acc_untuned) TYPE(dbcsr_mm_accdrv_type), INTENT(INOUT) :: this TYPE(dbcsr_type), INTENT(IN) :: left, right INTEGER, INTENT(IN) :: stack_size INTEGER, DIMENSION(dbcsr_ps_width, stack_size), & INTENT(INOUT) :: params TYPE(stack_descriptor_type), INTENT(IN) :: stack_descr - LOGICAL, INTENT(OUT) :: success + LOGICAL, INTENT(OUT) :: success, generated_acc_untuned CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_mm_accdrv_process' @@ -525,7 +525,8 @@ SUBROUTINE dbcsr_mm_accdrv_process(this, left, right, params, stack_size, & def_mnk=stack_descr%defined_mnk, & stack_stream=stackbuf%stream, & c_stream=c_area%memory_type%acc_stream, & - success=success) + success=success, & + generated_acc_untuned=generated_acc_untuned) IF (success) THEN CALL acc_event_record(stackbuf%calculated, stream=stackbuf%stream) diff --git a/src/mm/dbcsr_mm_sched.F b/src/mm/dbcsr_mm_sched.F index 0bd9f2bffea..abe3dd86024 100644 --- a/src/mm/dbcsr_mm_sched.F +++ b/src/mm/dbcsr_mm_sched.F @@ -104,7 +104,7 @@ SUBROUTINE stats_init(stats) !! Initialize a stats_type TYPE(stats_type), INTENT(INOUT) :: stats - ALLOCATE (stats%num_mnk_stacks(1, 9)) + ALLOCATE (stats%num_mnk_stacks(1, 10)) stats%num_mnk_stacks(1, :) = 0 ! entry for the default stack END SUBROUTINE stats_init @@ -274,7 +274,7 @@ SUBROUTINE dbcsr_mm_sched_process(this, left, right, stack_data, & INTEGER :: ithread, sp, stacked_datasize INTEGER(kind=int_8) :: flop_per_entry, total_flop - LOGICAL :: success, used_smm + LOGICAL :: success, generated_acc_untuned, used_smm TYPE(stats_type), POINTER :: mystats IF (stack_fillcount <= 0) & @@ -334,7 +334,8 @@ SUBROUTINE dbcsr_mm_sched_process(this, left, right, stack_data, & params=stack_data, & stack_size=stack_fillcount, & stack_descr=stack_descr, & - success=success) + success=success, & + generated_acc_untuned=generated_acc_untuned) IF (success) THEN ! update statistics @@ -342,7 +343,8 @@ SUBROUTINE dbcsr_mm_sched_process(this, left, right, stack_data, & mystats%acc_flop = mystats%acc_flop + total_flop CALL stats_add(mystats, & m=stack_descr%m, n=stack_descr%n, k=stack_descr%k, & - stacksize_acc=INT(stack_fillcount, kind=int_8)) + stacksize_acc=INT(stack_fillcount, kind=int_8), & + generated_acc_untuned=generated_acc_untuned) RETURN ELSE this%avoid_accdrv = dbcsr_cfg%accdrv_avoid_after_busy%val @@ -388,7 +390,7 @@ SUBROUTINE dbcsr_mm_sched_set_orig_datasize(this, newsize) END SUBROUTINE dbcsr_mm_sched_set_orig_datasize SUBROUTINE stats_add(stats, m, n, k, stacksize_cpu, stacksize_smm, stacksize_acc, & - nstacks_cpu, nstacks_smm, nstacks_acc) + nstacks_cpu, nstacks_smm, nstacks_acc, generated_acc_untuned) !! Helper-routine used by dbcsr_mm_sched_process to supply statistics. TYPE(stats_type), INTENT(INOUT) :: stats @@ -396,11 +398,13 @@ SUBROUTINE stats_add(stats, m, n, k, stacksize_cpu, stacksize_smm, stacksize_acc INTEGER(kind=int_8), OPTIONAL :: stacksize_cpu, stacksize_smm, & stacksize_acc, nstacks_cpu, & nstacks_smm, nstacks_acc + LOGICAL, OPTIONAL :: generated_acc_untuned INTEGER :: i, s INTEGER(kind=int_8) :: my_nstacks_acc, my_nstacks_cpu, & my_nstacks_smm, my_stacksize_acc, & - my_stacksize_cpu, my_stacksize_smm + my_stacksize_cpu, my_stacksize_smm, & + my_nstacks_acc_default INTEGER(kind=int_8), ALLOCATABLE, DIMENSION(:, :) :: tmp my_stacksize_cpu = 0 @@ -413,9 +417,13 @@ SUBROUTINE stats_add(stats, m, n, k, stacksize_cpu, stacksize_smm, stacksize_acc my_nstacks_cpu = MERGE(1, 0, my_stacksize_cpu > 0) my_nstacks_smm = MERGE(1, 0, my_stacksize_smm > 0) my_nstacks_acc = MERGE(1, 0, my_stacksize_acc > 0) + my_nstacks_acc_default = 0 IF (PRESENT(nstacks_cpu)) my_nstacks_cpu = nstacks_cpu IF (PRESENT(nstacks_smm)) my_nstacks_smm = nstacks_smm IF (PRESENT(nstacks_acc)) my_nstacks_acc = nstacks_acc + IF (PRESENT(generated_acc_untuned)) THEN + IF (generated_acc_untuned) my_nstacks_acc_default = 1 + END IF DO i = 1, SIZE(stats%num_mnk_stacks, 1) IF (stats%num_mnk_stacks(i, 1) == m .AND. & @@ -427,16 +435,17 @@ SUBROUTINE stats_add(stats, m, n, k, stacksize_cpu, stacksize_smm, stacksize_acc stats%num_mnk_stacks(i, 7) = stats%num_mnk_stacks(i, 7) + my_nstacks_cpu stats%num_mnk_stacks(i, 8) = stats%num_mnk_stacks(i, 8) + my_nstacks_smm stats%num_mnk_stacks(i, 9) = stats%num_mnk_stacks(i, 9) + my_nstacks_acc + stats%num_mnk_stacks(i, 10) = stats%num_mnk_stacks(i, 10) + my_nstacks_acc_default RETURN END IF END DO !not found, ok lets grow the list s = SIZE(stats%num_mnk_stacks, 1) - ALLOCATE (tmp(s, 9)) + ALLOCATE (tmp(s, 10)) tmp(:, :) = stats%num_mnk_stacks(:, :) DEALLOCATE (stats%num_mnk_stacks) - ALLOCATE (stats%num_mnk_stacks(s + 1, 9)) + ALLOCATE (stats%num_mnk_stacks(s + 1, 10)) stats%num_mnk_stacks(1:s, :) = tmp(:, :) stats%num_mnk_stacks(s + 1, 1) = m stats%num_mnk_stacks(s + 1, 2) = n @@ -447,6 +456,7 @@ SUBROUTINE stats_add(stats, m, n, k, stacksize_cpu, stacksize_smm, stacksize_acc stats%num_mnk_stacks(s + 1, 7) = my_nstacks_cpu stats%num_mnk_stacks(s + 1, 8) = my_nstacks_smm stats%num_mnk_stacks(s + 1, 9) = my_nstacks_acc + stats%num_mnk_stacks(s + 1, 10) = my_nstacks_acc_default DEALLOCATE (tmp) END SUBROUTINE stats_add @@ -483,7 +493,8 @@ SUBROUTINE stats_collect_from_threads(report) stacksize_acc=istats%num_mnk_stacks(j, 6), & nstacks_cpu=istats%num_mnk_stacks(j, 7), & nstacks_smm=istats%num_mnk_stacks(j, 8), & - nstacks_acc=istats%num_mnk_stacks(j, 9)) + nstacks_acc=istats%num_mnk_stacks(j, 9), & + generated_acc_untuned=istats%num_mnk_stacks(j, 10) .GT. 0) END DO END DO @@ -538,7 +549,7 @@ SUBROUTINE stats_collect_from_ranks(report, group) DO i = 1, SIZE(report%num_mnk_stacks, 1) IF (ALL(report%num_mnk_stacks(i, 1:3) == mnk)) THEN IF (i <= SIZE(mnk_collected)) mnk_collected(i) = 1 - CALL mp_sum(report%num_mnk_stacks(i, 4:9), group) + CALL mp_sum(report%num_mnk_stacks(i, 4:10), group) END IF END DO END DO @@ -555,6 +566,8 @@ SUBROUTINE stats_print_report(report, output_unit) INTEGER(KIND=int_8), ALLOCATABLE, DIMENSION(:) :: sort_key INTEGER(KIND=int_8), DIMENSION(3) :: flops_homo INTEGER, ALLOCATABLE, DIMENSION(:) :: sort_idx + CHARACTER(LEN=4) :: generated_acc_untuned_label + LOGICAL :: has_acc_untuned_kernel IF (output_unit <= 0) RETURN @@ -568,18 +581,31 @@ SUBROUTINE stats_print_report(report, output_unit) total_flops_homo = 0 flops_homo(:) = 0 + has_acc_untuned_kernel = .FALSE. DO i = 1, SIZE(sort_idx) j = sort_idx(i) + 1 total = SUM(report%num_mnk_stacks(j, 4:6)) flops = 2*total*PRODUCT(report%num_mnk_stacks(j, 1:3)) total_flops_homo = total_flops_homo + flops flops_homo(:) = flops_homo(:) + 2*report%num_mnk_stacks(j, 4:6)*PRODUCT(report%num_mnk_stacks(j, 1:3)) - WRITE (output_unit, "(A,I5,' x ',I5,' x ',I5,T30,I20,5X,F5.1,'%',4X,F5.1,'%',4X,F5.1,'%')") & + IF (report%num_mnk_stacks(j, 10) .EQ. 0) THEN + generated_acc_untuned_label = "" + ELSE + generated_acc_untuned_label = "(*)" + has_acc_untuned_kernel = .TRUE. + END IF + + WRITE (output_unit, "(A,I5,' x ',I5,' x ',I5,T30,I20,5X,F5.1,'%',4X,F5.1,'%',4X,F5.1,'% ',A)") & " flops ", report%num_mnk_stacks(j, 1:3), & flops, & - 100*REAL(report%num_mnk_stacks(j, 4:6))/REAL(MAX(INT(1, KIND=int_8), total)) + 100*REAL(report%num_mnk_stacks(j, 4:6))/REAL(MAX(INT(1, KIND=int_8), total)), & + generated_acc_untuned_label END DO + IF (has_acc_untuned_kernel) THEN + DBCSR_WARN(" (*) ACC Untuned kernels, consider to run the tuning procedure") + END IF + total = report%cpu_flop + report%smm_flop + report%acc_flop WRITE (output_unit, "(A,T30,I20,5X,F5.1,'%',4X,F5.1,'%',4X,F5.1,'%')") & " flops inhomo. stacks", total - total_flops_homo, & From c88ad2781135599084bd67f94605b62fbeeb437e Mon Sep 17 00:00:00 2001 From: alazzaro Date: Thu, 27 Jun 2024 06:59:32 -0500 Subject: [PATCH 48/74] Switch off Daint CI --- .ci/daint.cscs.ch/{Jenkinsfile => Jenkinsfile.off} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .ci/daint.cscs.ch/{Jenkinsfile => Jenkinsfile.off} (100%) diff --git a/.ci/daint.cscs.ch/Jenkinsfile b/.ci/daint.cscs.ch/Jenkinsfile.off similarity index 100% rename from .ci/daint.cscs.ch/Jenkinsfile rename to .ci/daint.cscs.ch/Jenkinsfile.off From 390670e43441822b46ccb0d2931e0bb294348368 Mon Sep 17 00:00:00 2001 From: alazzaro Date: Thu, 27 Jun 2024 10:23:55 -0500 Subject: [PATCH 49/74] Check if the generic kernel is working, otherwise fall-back to CPU execution --- src/acc/libsmm_acc/libsmm_acc.cpp | 28 +++++++++++++++++++--------- src/acc/libsmm_acc/libsmm_acc.h | 2 ++ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/acc/libsmm_acc/libsmm_acc.cpp b/src/acc/libsmm_acc/libsmm_acc.cpp index 406177a2d7e..b3981144586 100644 --- a/src/acc/libsmm_acc/libsmm_acc.cpp +++ b/src/acc/libsmm_acc/libsmm_acc.cpp @@ -52,7 +52,7 @@ inline int launch_kernel_from_handle( } //=========================================================================== -inline void validate_kernel(ACC_DRV(function) & kern_func, ACC_DRV(stream) stream, int threads, int grouping, int m, int n, int k) { +inline int validate_kernel(ACC_DRV(function) & kern_func, ACC_DRV(stream) stream, int threads, int grouping, int m, int n, int k) { libsmm_acc_benchmark_t* h; libsmm_acc_benchmark_init(&h, test, m, n, k); @@ -79,10 +79,11 @@ inline void validate_kernel(ACC_DRV(function) & kern_func, ACC_DRV(stream) strea double sumGPU = checkSum(h->mat_c, h->n_c, m, n); libsmm_acc_benchmark_finalize(h); if (sumGPU != sumCPU) { - printf("Kernel validation failed for multiplication kernel %ix%ix%i\nchecksum CPU: %g, checksum GPU: %g\nchecksum_diff: %g\n", - m, n, k, sumCPU, sumGPU, sumGPU - sumCPU); - exit(1); + // printf("Kernel validation failed for multiplication kernel %ix%ix%i\nchecksum CPU: %g, checksum GPU: %g\nchecksum_diff: %g\n", + // m, n, k, sumCPU, sumGPU, sumGPU - sumCPU); + return 1; } + return 0; } //=========================================================================== @@ -198,6 +199,9 @@ kernel_map_iterator add_kernel_handle_to_jitted_kernels( ACC_DRV(function) kern_func, ACC_DRV(stream) stream, Triplet h_mnk, int& threads, int& grouping, bool& generated_acc_untuned) { kernel_map_iterator kernel_it = kernel_handles.end(); + // Check if the kernel was already generated and failed + if (failed_acc_kernels.find(h_mnk) != failed_acc_kernels.end()) return kernel_it; + libsmm_acc_algo algo; int tile_m, tile_n, w, v, minblocks; @@ -229,11 +233,17 @@ kernel_map_iterator add_kernel_handle_to_jitted_kernels( // JIT and validate the kernel jit_kernel(kern_func, algo, tile_m, tile_n, w, v, threads, grouping, minblocks, h_mnk[0], h_mnk[1], h_mnk[2]); - validate_kernel(kern_func, stream, threads, grouping, h_mnk[0], h_mnk[1], h_mnk[2]); - - // Store the handle to the JIT-ed kernel - auto kernel_it_emplaced = kernel_handles.emplace(h_mnk, kernel_launcher(kern_func, threads, grouping)); - kernel_it = kernel_it_emplaced.first; + if (validate_kernel(kern_func, stream, threads, grouping, h_mnk[0], h_mnk[1], h_mnk[2]) == 0) { + // Store the handle to the JIT-ed kernel + auto kernel_it_emplaced = kernel_handles.emplace(h_mnk, kernel_launcher(kern_func, threads, grouping)); + kernel_it = kernel_it_emplaced.first; + } + else { + // The generated kernel gave wrong values, discard it + free(kern_func); + generated_acc_untuned = false; + failed_acc_kernels.insert(h_mnk); + } return kernel_it; } diff --git a/src/acc/libsmm_acc/libsmm_acc.h b/src/acc/libsmm_acc/libsmm_acc.h index cba4f10ca74..115da1adb53 100644 --- a/src/acc/libsmm_acc/libsmm_acc.h +++ b/src/acc/libsmm_acc/libsmm_acc.h @@ -22,6 +22,7 @@ #include #include +#include #include enum libsmm_acc_algo { largeDB1 = 1, largeDB2 = 2, medium = 3, small = 4, tiny = 5 }; @@ -36,6 +37,7 @@ struct kernel_launcher { typedef std::unordered_map::iterator kernel_map_iterator; static std::unordered_map kernel_handles; +static std::unordered_set failed_acc_kernels; int libsmm_acc_process_blas(const int* param_stack_host, int stack_size, ACC_DRV(stream) stream, int m, int n, int k, const double* a_data, const double* b_data, double* c_data); From c4f8eea01b60de669a3e5f8d65e3dd569dd71ed3 Mon Sep 17 00:00:00 2001 From: alazzaro Date: Thu, 27 Jun 2024 15:19:02 -0500 Subject: [PATCH 50/74] Limit the max size of the untuned kernel --- src/acc/libsmm_acc/libsmm_acc.cpp | 10 +++++++--- src/core/dbcsr_config.F | 2 +- src/mm/dbcsr_mm_sched.F | 17 +++++++++++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/acc/libsmm_acc/libsmm_acc.cpp b/src/acc/libsmm_acc/libsmm_acc.cpp index b3981144586..c25bd701c7d 100644 --- a/src/acc/libsmm_acc/libsmm_acc.cpp +++ b/src/acc/libsmm_acc/libsmm_acc.cpp @@ -199,7 +199,7 @@ kernel_map_iterator add_kernel_handle_to_jitted_kernels( ACC_DRV(function) kern_func, ACC_DRV(stream) stream, Triplet h_mnk, int& threads, int& grouping, bool& generated_acc_untuned) { kernel_map_iterator kernel_it = kernel_handles.end(); - // Check if the kernel was already generated and failed + // Check if the kernel was already generated and failed or if it is too big if (failed_acc_kernels.find(h_mnk) != failed_acc_kernels.end()) return kernel_it; libsmm_acc_algo algo; @@ -219,7 +219,7 @@ kernel_map_iterator add_kernel_handle_to_jitted_kernels( minblocks = params[7]; generated_acc_untuned = false; } - else { // Use a default untuned kernel + else if (h_mnk[0] < 50 && h_mnk[1] < 50 && h_mnk[2] < 50) { // Use a default untuned kernel algo = medium; tile_m = 2; tile_n = 2; @@ -227,9 +227,13 @@ kernel_map_iterator add_kernel_handle_to_jitted_kernels( v = 0; threads = 256; grouping = 30; - minblocks = 2; + minblocks = 1; generated_acc_untuned = true; } + else { + failed_acc_kernels.insert(h_mnk); + return kernel_it; + } // JIT and validate the kernel jit_kernel(kern_func, algo, tile_m, tile_n, w, v, threads, grouping, minblocks, h_mnk[0], h_mnk[1], h_mnk[2]); diff --git a/src/core/dbcsr_config.F b/src/core/dbcsr_config.F index 9c57d6a1cfd..0655a1cc81a 100644 --- a/src/core/dbcsr_config.F +++ b/src/core/dbcsr_config.F @@ -701,7 +701,7 @@ SUBROUTINE reset_accdrv_active_device_id() accdrv_active_device_id = default_accdrv_active_device_id END SUBROUTINE reset_accdrv_active_device_id - FUNCTION use_acc() + PURE FUNCTION use_acc() LOGICAL :: use_acc IF (has_acc .AND. dbcsr_cfg%run_on_gpu%val) THEN diff --git a/src/mm/dbcsr_mm_sched.F b/src/mm/dbcsr_mm_sched.F index abe3dd86024..db68526e398 100644 --- a/src/mm/dbcsr_mm_sched.F +++ b/src/mm/dbcsr_mm_sched.F @@ -567,7 +567,8 @@ SUBROUTINE stats_print_report(report, output_unit) INTEGER(KIND=int_8), DIMENSION(3) :: flops_homo INTEGER, ALLOCATABLE, DIMENSION(:) :: sort_idx CHARACTER(LEN=4) :: generated_acc_untuned_label - LOGICAL :: has_acc_untuned_kernel + LOGICAL :: has_acc_untuned_kernel, & + use_cpu_kernels IF (output_unit <= 0) RETURN @@ -582,6 +583,8 @@ SUBROUTINE stats_print_report(report, output_unit) total_flops_homo = 0 flops_homo(:) = 0 has_acc_untuned_kernel = .FALSE. + use_cpu_kernels = .FALSE. + DO i = 1, SIZE(sort_idx) j = sort_idx(i) + 1 total = SUM(report%num_mnk_stacks(j, 4:6)) @@ -595,6 +598,10 @@ SUBROUTINE stats_print_report(report, output_unit) has_acc_untuned_kernel = .TRUE. END IF + IF (SUM(report%num_mnk_stacks(j, 4:5)) .GT. 0) THEN + use_cpu_kernels = .TRUE. + END IF + WRITE (output_unit, "(A,I5,' x ',I5,' x ',I5,T30,I20,5X,F5.1,'%',4X,F5.1,'%',4X,F5.1,'% ',A)") & " flops ", report%num_mnk_stacks(j, 1:3), & flops, & @@ -603,7 +610,13 @@ SUBROUTINE stats_print_report(report, output_unit) END DO IF (has_acc_untuned_kernel) THEN - DBCSR_WARN(" (*) ACC Untuned kernels, consider to run the tuning procedure") + CALL dbcsr_warn(__LOCATION__, & + " (*) ACC Untuned kernels, consider to run the ACC tuning procedure for them") + END IF + + IF (use_cpu_kernels .AND. use_acc()) THEN + CALL dbcsr_warn(__LOCATION__, & + " Some kernels are running on the CPU, consider to run the ACC tuning procedure for them") END IF total = report%cpu_flop + report%smm_flop + report%acc_flop From 96b2be42859f87e26f24a1898c98aa72e23702ab Mon Sep 17 00:00:00 2001 From: alazzaro Date: Fri, 28 Jun 2024 07:18:54 -0500 Subject: [PATCH 51/74] Bump version to 2.7.0-rc2 --- VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 78fa0e9f008..d79801d41d9 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ MAJOR = 2 MINOR = 7 -PATCH = 0-rc1 +PATCH = 0-rc2 # A specific DATE (YYYY-MM-DD) fixes an official release, otherwise # it is considered Development version. -DATE = 2024-03-13 +DATE = 2024-06-27 From 133ebf3e8935402ba3e1ec14b85ea988e1366577 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 17:57:49 +0000 Subject: [PATCH 52/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.4.10 → v0.5.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.10...v0.5.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 71f3056f1a5..5756fa5077d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.4.10' + rev: 'v0.5.0' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From a6bdf4fd47f160cca1f909c69cb5012eb90d3213 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 8 Jul 2024 16:10:21 +0200 Subject: [PATCH 53/74] Code cleanup --- src/work/dbcsr_work_operations.F | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/work/dbcsr_work_operations.F b/src/work/dbcsr_work_operations.F index fe3779eee86..e55d0efae2e 100644 --- a/src/work/dbcsr_work_operations.F +++ b/src/work/dbcsr_work_operations.F @@ -910,7 +910,7 @@ SUBROUTINE dbcsr_finalize(matrix, reshuffle) ! (needed when there are multiple work matrices but we are not ! in an OpenMP parallel section.) ! - ! A parallel section is created is used when the matrix has + ! A parallel section is created and used when the matrix has ! more work matrices. It's a shortcut when the finalize is ! called from a non-parallel environment whereas the matrix was ! built/modified in a parallel environment @@ -1466,8 +1466,8 @@ SUBROUTINE dbcsr_merge_all(matrix, old_row_p, old_col_i, old_blk_p, & ALLOCATE (all_blk_p(nwms)) ALLOCATE (all_data_sizes(0:nwms)) ALLOCATE (all_data_offsets(nwms)) - IF (sort_data) ALLOCATE (all_data_areas(0:nwms)) IF (sort_data) THEN + ALLOCATE (all_data_areas(0:nwms)) CALL dbcsr_data_init(all_data_areas(0)) all_data_areas(0) = matrix%data_area !$OMP CRITICAL (crit_data) From 36debaf08f634f17b63f3e5614e81adac407dd4b Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Mon, 8 Jul 2024 16:08:35 +0200 Subject: [PATCH 54/74] ocl: updated tuned parameters * acc_bench: retired OCL_ROOT and support taking cl.h from SYCL (Makefile). * Adjusted FP-atomics. --- src/acc/opencl/Makefile | 6 +- src/acc/opencl/acc_opencl.c | 17 +- .../opencl/smm/params/tune_multiply_Mi250.csv | 654 +++++++++--------- .../opencl/smm/params/tune_multiply_PVC.csv | 190 ++--- 4 files changed, 433 insertions(+), 434 deletions(-) diff --git a/src/acc/opencl/Makefile b/src/acc/opencl/Makefile index 2ac977d8c1a..0cbefd97d69 100644 --- a/src/acc/opencl/Makefile +++ b/src/acc/opencl/Makefile @@ -209,9 +209,9 @@ else ifneq (,$(wildcard $(OPENCL_ROOT)/include/CL/cl.h)) OPENCL_INC := $(OPENCL_ROOT)/include LDFLAGS += -L$(OPENCL_ROOT)/lib64 - else ifneq (,$(wildcard $(OCL_ROOT)/include/CL/cl.h)) - OPENCL_INC := $(OCL_ROOT)/include - LDFLAGS += -L$(OCL_ROOT)/lib64 + else ifneq (,$(wildcard $(OPENCL_ROOT)/include/sycl/CL/cl.h)) + OPENCL_INC := $(OPENCL_ROOT)/include/sycl + LDFLAGS += -L$(OPENCL_ROOT)/compiler/lib/intel64 -lintlc endif endif # OPENCL_INC: directory containing CL/cl.h. diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index d7d55289775..d4c22a8c782 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -1279,8 +1279,8 @@ int c_dbcsr_acc_opencl_flags_atomics(const c_dbcsr_acc_opencl_device_t* devinfo, } else { /* GCN */ atomic_exp = (c_dbcsr_acc_opencl_atomic_fp_64 == kind - ? "__builtin_amdgcn_global_atomic_fadd_f64(A,B,__ATOMIC_RELAXED)" - : "__builtin_amdgcn_global_atomic_fadd_f32(A,B,__ATOMIC_RELAXED)"); + ? "__builtin_amdgcn_global_atomic_fadd_f64(A,B,__ATOMIC_RELAXED,__OPENCL_MEMORY_SCOPE_WORK_GROUP)" + : "__builtin_amdgcn_global_atomic_fadd_f32(A,B,__ATOMIC_RELAXED,__OPENCL_MEMORY_SCOPE_WORK_GROUP)"); } } else { /* xchg */ @@ -1342,9 +1342,9 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha char buffer[ACC_OPENCL_BUFFERSIZE] = "", buffer_name[ACC_OPENCL_MAXSTRLEN * 2]; int ok = EXIT_SUCCESS, source_is_cl = 1, nchar; int result = ((NULL != source && NULL != kernel_name && '\0' != *kernel_name) ? EXIT_SUCCESS : EXIT_FAILURE); + size_t size_src = 0, size = 0; cl_program program = NULL; FILE* file_src = NULL; - size_t size_src = 0; assert(NULL != c_dbcsr_acc_opencl_config.device.context); assert(NULL != kernel); *kernel = NULL; @@ -1492,18 +1492,18 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha if (0 < nchar && (int)sizeof(buffer) > nchar && EXIT_SUCCESS == system(buffer)) { FILE* const file = fopen(dump_filename, "r"); if (NULL != file) { - const long int size = (EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_END) ? ftell(file) : 0); + const long int size_file = (EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_END) ? ftell(file) : 0); char* const src = (char*)(EXIT_SUCCESS == fseek(file, 0 /*offset*/, SEEK_SET) - ? libxsmm_aligned_scratch(size + 1 /*terminator*/, 0 /*auto-align*/) + ? libxsmm_aligned_scratch(size_file + 1 /*terminator*/, 0 /*auto-align*/) : NULL); if (NULL != src) { - if ((size_t)size == fread(src, 1 /*sizeof(char)*/, size /*count*/, file)) { + if ((size_t)size_file == fread(src, 1 /*sizeof(char)*/, size_file /*count*/, file)) { if (source != ext_source) { void* p = NULL; LIBXSMM_ASSIGN127(&p, &ext_source); libxsmm_free(p); } - src[size] = '\0'; + src[size_file] = '\0'; ext_source = src; } else libxsmm_free(src); @@ -1550,7 +1550,6 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha assert(NULL != *kernel); if (NULL == file_src && (2 <= c_dbcsr_acc_opencl_config.dump || 0 > c_dbcsr_acc_opencl_config.dump)) { unsigned char* binary = NULL; - size_t size; binary = (unsigned char*)(EXIT_SUCCESS == clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(size_t), &size, NULL) ? libxsmm_aligned_scratch(size, 0 /*auto-align*/) @@ -1647,7 +1646,7 @@ int c_dbcsr_acc_opencl_kernel(int source_is_file, const char source[], const cha } if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { if (EXIT_SUCCESS == clGetProgramBuildInfo(program, c_dbcsr_acc_opencl_config.device.id, CL_PROGRAM_BUILD_LOG, - ACC_OPENCL_BUFFERSIZE, buffer, NULL)) + ACC_OPENCL_BUFFERSIZE, buffer, &size)) { const char* info = buffer; while ('\0' != *info && NULL != strchr("\n\r\t ", *info)) ++info; /* remove preceding newline etc. */ diff --git a/src/acc/opencl/smm/params/tune_multiply_Mi250.csv b/src/acc/opencl/smm/params/tune_multiply_Mi250.csv index 0d42a4acb78..4410500501c 100644 --- a/src/acc/opencl/smm/params/tune_multiply_Mi250.csv +++ b/src/acc/opencl/smm/params/tune_multiply_Mi250.csv @@ -1,356 +1,356 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC -gfx90a [0x989f];3;3;3;3;30000;0;18;3;1;3;1;1;4;0;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;3;3;4;30000;0;24;3;1;3;0;-1;-1;0;0;0;1;0;0;2;0;0 -gfx90a [0x989f];3;3;3;5;30000;0;25;3;1;2;1;1;2;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;3;3;6;30000;0;25;3;1;2;1;-2;-1;0;1;0;1;0;0;0;0;0 -gfx90a [0x989f];3;3;3;7;30000;0;29;3;1;3;1;1;0;0;0;1;1;0;2;2;1;0 -gfx90a [0x989f];3;3;3;8;30000;0;9;3;1;3;1;-1;3;1;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;3;3;9;30000;0;11;3;1;2;1;1;4;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;3;3;10;30000;0;9;3;1;2;1;-2;-1;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;3;3;11;30000;0;8;3;1;3;1;1;-1;0;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;3;3;12;30000;0;6;3;1;2;1;-1;5;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;3;3;16;30000;0;6;3;1;1;1;-2;0;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;3;3;23;30000;0;42;3;1;3;1;0;-2;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;3;4;3;30000;0;20;3;1;1;1;-2;-2;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;3;4;4;30000;0;9;3;1;3;1;0;3;0;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;3;5;3;30000;0;15;3;1;2;1;0;0;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;3;5;5;30000;0;24;3;1;3;1;-2;0;1;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;3;6;3;30000;0;15;3;1;1;1;-2;-1;0;0;1;1;0;0;2;0;0 -gfx90a [0x989f];3;3;6;6;30000;0;29;3;1;1;1;-2;-2;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;3;7;3;30000;0;17;3;1;1;1;1;-2;1;0;0;1;0;0;2;1;0 -gfx90a [0x989f];3;3;7;7;30000;0;29;3;1;3;1;-1;2;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;3;8;3;30000;0;15;3;1;2;1;0;0;0;1;1;1;0;2;2;0;0 -gfx90a [0x989f];3;3;8;8;30000;0;29;3;1;2;1;0;-2;1;0;1;1;0;2;2;0;0 -gfx90a [0x989f];3;3;9;3;30000;0;14;3;1;2;1;-1;-2;1;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;3;9;9;30000;0;30;3;1;1;1;0;3;0;1;0;1;0;0;2;1;0 -gfx90a [0x989f];3;3;10;3;30000;0;18;3;1;3;1;1;2;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;3;10;10;30000;0;25;3;1;1;1;1;-1;0;1;1;1;0;2;2;0;0 -gfx90a [0x989f];3;3;11;3;30000;0;15;3;1;3;1;-1;-2;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;3;11;11;30000;0;30;3;1;1;1;1;0;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;3;12;3;30000;0;15;3;1;3;1;1;-2;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;3;12;12;30000;0;30;3;1;1;1;-2;2;0;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;3;16;3;30000;0;12;3;1;2;1;-2;-2;1;1;0;1;0;0;0;0;0 -gfx90a [0x989f];3;3;16;16;30000;0;50;3;1;3;0;1;-1;0;1;0;1;1;2;2;1;0 -gfx90a [0x989f];3;3;23;3;30000;0;15;3;1;3;1;0;-2;1;1;0;1;0;0;2;1;0 -gfx90a [0x989f];3;3;23;23;30000;0;50;3;1;3;1;-1;0;1;1;0;1;0;0;2;1;0 -gfx90a [0x989f];3;4;3;3;30000;0;22;4;1;4;1;-1;-2;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;4;3;4;30000;0;25;4;1;1;1;-1;2;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;4;4;3;30000;0;16;4;1;2;1;1;6;0;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;4;4;4;30000;0;11;4;1;4;1;1;6;1;1;1;1;0;2;2;1;0 -gfx90a [0x989f];3;4;4;5;30000;0;21;4;1;4;1;-2;-1;0;0;1;1;0;0;2;0;0 -gfx90a [0x989f];3;4;4;6;30000;0;13;4;1;4;1;0;2;1;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;4;4;7;30000;0;29;4;1;2;1;0;-1;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;4;4;8;30000;0;12;4;1;2;1;0;6;1;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;4;4;9;30000;0;12;4;1;4;1;0;-1;1;1;1;1;0;0;2;1;0 -gfx90a [0x989f];3;4;4;10;30000;0;29;4;1;2;1;-2;5;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;4;4;11;30000;0;12;4;1;2;1;-2;0;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;4;4;12;30000;0;29;4;1;3;1;-2;-2;0;1;0;1;0;0;0;1;0 -gfx90a [0x989f];3;4;4;16;30000;0;6;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 -gfx90a [0x989f];3;4;4;23;30000;0;30;4;1;3;1;-2;0;0;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;4;5;4;30000;0;20;4;1;4;1;0;5;0;1;1;1;0;2;2;1;0 -gfx90a [0x989f];3;4;5;5;30000;0;24;4;1;3;1;0;4;0;1;1;1;0;0;2;0;0 -gfx90a [0x989f];3;4;6;4;30000;0;20;4;1;2;1;0;1;1;1;1;1;0;2;2;1;0 -gfx90a [0x989f];3;4;6;6;30000;0;24;4;1;3;1;0;-1;1;0;0;1;0;2;0;1;0 -gfx90a [0x989f];3;4;7;4;30000;0;23;4;1;1;1;-2;-1;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;4;7;7;30000;0;25;4;1;4;1;-1;-1;0;1;1;1;0;2;2;1;0 -gfx90a [0x989f];3;4;8;4;30000;0;18;4;1;4;1;-1;0;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;4;8;8;30000;0;12;4;1;4;1;-2;3;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;4;9;4;30000;0;21;4;1;4;1;1;0;0;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;4;9;9;30000;0;15;4;1;1;1;0;3;1;1;1;1;0;0;2;0;0 -gfx90a [0x989f];3;4;10;4;30000;0;20;4;1;4;1;-2;-1;0;0;1;1;0;2;0;1;0 -gfx90a [0x989f];3;4;10;10;30000;0;30;4;1;2;1;-2;6;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;4;11;4;30000;0;19;4;1;1;1;0;3;0;1;0;1;0;0;2;1;0 -gfx90a [0x989f];3;4;11;11;30000;0;24;4;1;2;1;-2;2;1;1;1;1;0;0;2;0;0 -gfx90a [0x989f];3;4;12;4;30000;0;20;4;1;4;1;0;-2;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;4;12;12;30000;0;40;4;1;4;1;-1;-1;0;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;4;16;4;30000;0;20;4;1;3;1;1;-2;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;4;16;16;30000;0;25;4;1;4;1;0;2;0;0;0;1;0;2;1;1;0 -gfx90a [0x989f];3;4;23;4;30000;0;24;4;1;1;1;0;3;0;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;4;23;23;30000;0;40;4;1;2;1;-1;5;1;0;0;1;0;0;0;1;0 -gfx90a [0x989f];3;5;3;3;30000;0;18;5;1;4;1;0;-2;1;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;5;3;5;30000;0;18;5;1;2;1;-1;2;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;5;4;4;30000;0;20;5;1;5;1;1;0;0;0;1;1;0;0;0;1;0 -gfx90a [0x989f];3;5;4;5;30000;0;9;5;1;4;1;-1;0;1;1;0;1;0;0;0;0;0 -gfx90a [0x989f];3;5;5;3;30000;0;18;5;1;4;1;-2;6;0;0;0;1;0;2;2;0;0 -gfx90a [0x989f];3;5;5;4;30000;0;10;5;1;5;1;1;-2;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;5;5;5;30000;0;10;5;1;3;1;1;0;0;1;1;1;1;0;0;0;0 -gfx90a [0x989f];3;5;5;6;30000;0;12;5;1;2;1;-1;2;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;5;5;7;30000;0;9;5;1;1;1;-2;-1;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;5;5;8;30000;0;24;5;1;3;1;0;4;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;5;5;9;30000;0;24;5;1;4;1;1;-1;1;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;5;5;10;30000;0;20;5;1;1;1;-2;0;1;0;0;1;0;2;2;0;0 -gfx90a [0x989f];3;5;5;11;30000;0;25;5;1;1;1;-2;-2;0;0;0;1;0;2;2;1;0 -gfx90a [0x989f];3;5;5;12;30000;0;4;5;1;3;1;1;0;1;0;0;1;1;2;0;0;0 -gfx90a [0x989f];3;5;5;16;30000;0;12;5;1;4;1;0;2;1;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;5;5;23;30000;0;2;5;1;1;5;-2;0;1;0;1;1;0;2;0;1;0 -gfx90a [0x989f];3;5;6;5;30000;0;20;5;1;3;1;-2;-2;0;0;1;1;0;2;0;0;0 -gfx90a [0x989f];3;5;6;6;30000;0;24;5;1;3;1;0;-1;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;5;7;5;30000;0;12;5;1;3;1;0;-2;1;0;0;1;0;0;0;1;0 -gfx90a [0x989f];3;5;7;7;30000;0;12;5;1;2;1;0;2;1;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;5;8;5;30000;0;13;5;1;3;1;-2;6;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;5;8;8;30000;0;10;5;1;3;1;0;0;1;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;5;9;5;30000;0;24;5;1;3;0;-2;-1;0;1;0;1;1;0;2;0;0 -gfx90a [0x989f];3;5;9;9;30000;0;25;5;1;4;1;1;4;1;0;1;1;0;0;0;1;0 -gfx90a [0x989f];3;5;10;5;30000;0;20;5;1;3;1;1;3;0;0;0;1;0;0;2;0;0 -gfx90a [0x989f];3;5;10;10;30000;0;30;5;1;1;0;-2;-1;1;0;1;1;1;0;0;1;0 -gfx90a [0x989f];3;5;11;5;30000;0;15;5;1;2;1;0;-1;1;0;1;1;0;2;0;0;0 -gfx90a [0x989f];3;5;11;11;30000;0;25;5;1;3;0;-2;-1;0;0;0;1;0;0;0;0;0 -gfx90a [0x989f];3;5;12;5;30000;0;25;5;1;4;1;-1;3;1;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;5;12;12;30000;0;25;5;1;2;1;-2;2;0;1;0;1;0;0;0;1;0 -gfx90a [0x989f];3;5;16;5;30000;0;24;5;1;3;0;-2;0;0;0;0;1;1;2;2;0;0 -gfx90a [0x989f];3;5;16;16;30000;0;24;5;1;4;0;1;0;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;5;23;5;30000;0;20;5;1;5;1;-1;-2;1;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;5;23;23;30000;0;24;5;1;1;1;-2;0;0;1;1;1;1;2;1;0;0 -gfx90a [0x989f];3;6;3;3;30000;0;12;6;1;2;1;1;0;0;1;0;1;0;0;0;1;0 -gfx90a [0x989f];3;6;3;6;30000;0;18;6;1;3;1;-2;-1;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;6;4;4;30000;0;18;6;1;2;1;1;2;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;6;4;6;30000;0;15;6;1;5;1;1;4;1;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;6;5;5;30000;0;9;6;1;6;1;-2;2;0;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;6;5;6;30000;0;15;6;1;4;1;0;-2;0;0;0;1;0;2;0;1;0 -gfx90a [0x989f];3;6;6;3;30000;0;12;6;1;2;1;-1;3;1;1;0;1;0;0;0;0;0 -gfx90a [0x989f];3;6;6;4;30000;0;15;6;1;3;1;-1;3;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;6;6;5;30000;0;12;6;1;1;1;0;6;1;0;1;1;0;2;2;0;0 -gfx90a [0x989f];3;6;6;6;30000;0;12;6;1;1;1;-2;-1;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;6;6;7;30000;0;12;6;1;5;1;-1;0;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;6;6;8;30000;0;20;6;1;5;1;1;-2;1;1;0;1;0;0;0;1;0 -gfx90a [0x989f];3;6;6;9;30000;0;12;6;1;1;1;0;5;1;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;6;6;10;30000;0;12;6;1;3;1;-2;1;1;1;1;1;0;0;2;1;0 -gfx90a [0x989f];3;6;6;11;30000;0;24;6;1;5;1;0;0;1;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;6;6;12;30000;0;15;6;1;1;0;-2;0;0;0;0;1;1;2;1;0;0 -gfx90a [0x989f];3;6;6;16;30000;0;4;6;1;1;0;-2;-2;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;6;6;23;30000;0;15;6;1;1;1;0;3;0;1;1;1;0;2;2;0;0 -gfx90a [0x989f];3;6;7;6;30000;0;20;6;1;6;1;1;4;0;1;0;1;1;0;0;1;0 -gfx90a [0x989f];3;6;7;7;30000;0;12;6;1;6;1;1;2;1;0;0;1;0;2;2;0;0 -gfx90a [0x989f];3;6;8;6;30000;0;15;6;1;6;1;1;-2;0;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;6;8;8;30000;0;20;6;1;6;1;-1;-2;0;0;1;1;0;0;0;0;0 -gfx90a [0x989f];3;6;9;6;30000;0;13;6;1;6;1;-1;-1;1;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;6;9;9;30000;0;24;6;1;2;0;-1;0;0;1;1;1;1;0;0;1;0 -gfx90a [0x989f];3;6;10;6;30000;0;20;6;1;6;1;-2;3;1;0;1;1;0;2;0;0;0 -gfx90a [0x989f];3;6;10;10;30000;0;25;6;1;4;1;0;0;0;1;0;1;1;2;0;1;0 -gfx90a [0x989f];3;6;11;6;30000;0;15;6;1;2;0;0;-1;0;1;0;1;0;2;0;0;0 -gfx90a [0x989f];3;6;11;11;30000;0;25;6;1;1;0;0;-2;0;1;1;1;1;2;0;0;0 -gfx90a [0x989f];3;6;12;6;30000;0;20;6;1;6;1;-1;2;0;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;6;12;12;30000;0;15;6;1;6;1;-2;-2;1;0;0;1;0;0;0;1;0 -gfx90a [0x989f];3;6;16;6;30000;0;20;6;1;5;1;0;-1;0;1;0;1;1;0;2;1;0 -gfx90a [0x989f];3;6;16;16;30000;0;26;6;1;6;1;0;0;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;6;23;6;30000;0;24;6;1;1;0;-2;0;0;0;0;1;1;0;0;1;0 -gfx90a [0x989f];3;6;23;23;30000;0;24;6;1;1;1;1;-2;0;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;7;3;3;30000;0;16;7;1;3;1;-1;4;0;1;0;1;0;0;0;1;0 -gfx90a [0x989f];3;7;3;7;30000;0;15;7;1;6;1;0;0;0;1;0;1;0;0;2;1;0 -gfx90a [0x989f];3;7;4;4;30000;0;22;7;1;3;1;1;-1;0;1;1;1;1;0;2;0;0 -gfx90a [0x989f];3;7;4;7;30000;0;12;7;1;3;1;1;3;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;7;5;5;30000;0;12;7;1;2;1;0;1;0;1;1;1;0;2;0;0;0 -gfx90a [0x989f];3;7;5;7;30000;0;13;7;1;5;1;1;-1;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;7;6;6;30000;0;9;7;1;1;1;0;3;1;0;0;1;1;2;2;1;0 -gfx90a [0x989f];3;7;6;7;30000;0;15;7;1;3;1;-1;1;1;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;7;7;3;30000;0;15;7;1;7;1;-1;2;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;7;7;4;30000;0;18;7;1;3;1;1;1;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;7;7;5;30000;0;15;7;1;6;1;0;-2;0;1;0;1;0;2;0;1;0 -gfx90a [0x989f];3;7;7;6;30000;0;15;7;1;6;1;-2;-2;0;1;0;1;0;0;0;1;0 -gfx90a [0x989f];3;7;7;7;30000;0;12;7;1;3;1;1;2;0;1;0;1;1;0;0;0;0 -gfx90a [0x989f];3;7;7;8;30000;0;24;7;1;6;0;-2;-1;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;7;7;9;30000;0;15;7;1;4;0;1;-2;0;0;1;1;0;2;0;1;0 -gfx90a [0x989f];3;7;7;10;30000;0;12;7;1;1;1;-1;0;1;1;1;1;1;2;2;0;0 -gfx90a [0x989f];3;7;7;11;30000;0;15;7;1;1;1;0;-2;0;0;1;1;1;2;2;1;0 -gfx90a [0x989f];3;7;7;12;30000;0;12;7;1;1;0;-1;-2;1;1;1;1;1;2;2;0;0 -gfx90a [0x989f];3;7;7;16;30000;0;15;7;1;1;0;-1;-1;1;1;0;1;1;2;1;0;0 -gfx90a [0x989f];3;7;7;23;30000;0;1;7;1;1;1;1;6;0;1;1;0;1;2;2;1;0 -gfx90a [0x989f];3;7;8;7;30000;0;12;7;1;5;1;1;-2;1;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;7;8;8;30000;0;24;7;1;6;0;-1;-1;0;0;1;1;1;0;2;1;0 -gfx90a [0x989f];3;7;9;7;30000;0;20;7;1;7;1;-2;0;0;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;7;9;9;30000;0;20;7;1;7;0;-1;-1;0;0;0;1;1;2;2;0;0 -gfx90a [0x989f];3;7;10;7;30000;0;20;7;1;7;1;1;-2;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;7;10;10;30000;0;15;7;1;1;1;0;0;0;0;0;1;0;2;0;1;0 -gfx90a [0x989f];3;7;11;7;30000;0;20;7;1;5;1;-2;0;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;7;11;11;30000;0;20;7;1;1;0;-2;-1;0;0;1;1;1;0;0;1;0 -gfx90a [0x989f];3;7;12;7;30000;0;24;7;1;2;0;1;0;0;0;0;1;1;0;0;0;0 -gfx90a [0x989f];3;7;12;12;30000;0;24;7;1;6;1;1;-2;0;1;0;1;1;0;2;1;0 -gfx90a [0x989f];3;7;16;7;30000;0;24;7;1;7;0;0;0;0;1;0;1;1;0;2;0;0 -gfx90a [0x989f];3;7;16;16;30000;0;24;7;1;1;1;1;-2;0;0;0;1;1;2;2;0;0 -gfx90a [0x989f];3;7;23;7;30000;0;25;7;1;3;1;0;1;1;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;7;23;23;30000;0;24;7;1;1;1;0;-2;1;0;1;1;1;2;0;1;0 -gfx90a [0x989f];3;8;3;3;30000;0;12;8;1;4;1;-2;3;0;1;1;1;0;2;0;1;0 -gfx90a [0x989f];3;8;3;8;30000;0;6;8;1;2;1;-2;-1;0;0;1;1;1;0;2;1;0 -gfx90a [0x989f];3;8;4;4;30000;0;12;8;1;3;1;0;0;0;0;1;1;0;0;2;1;0 -gfx90a [0x989f];3;8;4;8;30000;0;9;8;1;4;1;1;4;1;0;1;1;1;0;2;1;0 -gfx90a [0x989f];3;8;5;5;30000;0;12;8;1;2;1;-2;4;0;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;8;5;8;30000;0;10;8;1;7;1;-1;6;0;1;0;1;1;2;0;1;0 -gfx90a [0x989f];3;8;6;6;30000;0;12;8;1;6;1;-2;2;0;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;8;6;8;30000;0;15;8;1;5;1;0;-2;0;1;1;1;1;0;2;0;0 -gfx90a [0x989f];3;8;7;7;30000;0;12;8;1;8;1;-1;0;1;0;0;1;1;0;2;1;0 +gfx90a [0x989f];3;3;3;3;30000;0;10;3;1;3;1;-1;0;0;1;1;1;0;2;0;0;0 +gfx90a [0x989f];3;3;3;4;30000;0;25;3;1;2;1;0;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;3;3;5;30000;0;29;3;1;2;1;-1;-2;0;1;0;1;0;2;2;1;0 +gfx90a [0x989f];3;3;3;6;30000;0;29;3;1;2;1;-2;-2;0;1;1;1;0;0;0;0;0 +gfx90a [0x989f];3;3;3;7;30000;0;29;3;1;2;1;-1;0;0;1;1;1;0;2;2;1;0 +gfx90a [0x989f];3;3;3;8;30000;0;9;3;1;2;1;-2;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;3;3;9;30000;0;9;3;1;2;1;-2;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;3;10;30000;0;37;3;1;1;1;0;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;3;11;30000;0;8;3;1;3;1;1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;3;12;30000;0;6;3;1;3;1;-2;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;3;3;16;30000;0;9;3;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;3;23;30000;0;3;3;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;4;3;30000;0;21;3;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;3;4;4;30000;0;25;3;1;2;1;0;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;3;5;3;30000;0;18;3;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;3;5;5;30000;0;25;3;1;2;1;-1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;6;3;30000;0;15;3;1;1;1;1;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;3;6;6;30000;0;25;3;1;3;1;-1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;3;7;3;30000;0;15;3;1;2;1;-1;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;3;7;7;30000;0;29;3;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;3;8;3;30000;0;15;3;1;2;1;1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;8;8;30000;0;29;3;1;1;1;0;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;3;9;3;30000;0;15;3;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;3;9;9;30000;0;25;3;1;3;1;0;-2;0;1;1;1;0;0;2;1;0 +gfx90a [0x989f];3;3;10;3;30000;0;15;3;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;10;10;30000;0;25;3;1;1;1;0;-2;0;0;1;1;0;2;2;0;0 +gfx90a [0x989f];3;3;11;3;30000;0;15;3;1;3;1;0;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;3;11;11;30000;0;30;3;1;1;1;1;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;12;3;30000;0;15;3;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;3;12;12;30000;0;25;3;1;2;1;-2;-1;0;0;0;1;0;2;1;0;0 +gfx90a [0x989f];3;3;16;3;30000;0;15;3;1;2;1;0;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;3;16;16;30000;0;40;3;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;3;23;3;30000;0;15;3;1;3;1;0;0;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;3;23;23;30000;0;50;3;1;3;1;-1;0;0;1;0;1;1;0;0;1;0 +gfx90a [0x989f];3;4;3;3;30000;0;18;4;1;3;1;1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;3;4;30000;0;25;4;1;2;1;-1;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;4;3;30000;0;21;4;1;2;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;4;4;30000;0;16;4;1;2;1;1;3;1;1;1;1;0;0;0;0;0 +gfx90a [0x989f];3;4;4;5;30000;0;9;4;1;2;1;-1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;4;4;6;30000;0;29;4;1;3;1;0;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;4;7;30000;0;29;4;1;2;1;-1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;4;4;8;30000;0;9;4;1;2;1;-2;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;4;9;30000;0;25;4;1;3;1;1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;4;10;30000;0;25;4;1;2;1;0;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;4;11;30000;0;25;4;1;4;1;0;-1;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;4;4;12;30000;0;29;4;1;4;1;1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;4;4;16;30000;0;4;4;1;2;1;-1;-1;0;1;0;1;0;0;0;0;0 +gfx90a [0x989f];3;4;4;23;30000;0;30;4;1;3;1;0;0;0;1;0;1;0;0;2;1;0 +gfx90a [0x989f];3;4;5;4;30000;0;25;4;1;2;1;0;3;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;5;5;30000;0;25;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;6;4;30000;0;21;4;1;2;1;-1;1;0;1;1;1;0;0;2;0;0 +gfx90a [0x989f];3;4;6;6;30000;0;25;4;1;3;1;1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;7;4;30000;0;21;4;1;1;1;-2;0;0;1;1;1;0;0;0;0;0 +gfx90a [0x989f];3;4;7;7;30000;0;25;4;1;4;1;0;-2;0;1;0;1;0;2;2;1;0 +gfx90a [0x989f];3;4;8;4;30000;0;25;4;1;3;1;1;-1;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;4;8;8;30000;0;9;4;1;2;1;0;-1;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;4;9;4;30000;0;20;4;1;4;1;1;0;0;1;0;1;0;2;0;1;0 +gfx90a [0x989f];3;4;9;9;30000;0;26;4;1;3;1;1;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;10;4;30000;0;20;4;1;4;1;0;-1;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;4;10;10;30000;0;25;4;1;2;1;0;0;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;4;11;4;30000;0;18;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;4;11;11;30000;0;30;4;1;4;1;0;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;4;12;4;30000;0;20;4;1;3;1;-1;-2;0;1;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;12;12;30000;0;40;4;1;4;1;1;-1;0;1;1;1;1;2;0;1;0 +gfx90a [0x989f];3;4;16;4;30000;0;20;4;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;16;16;30000;0;30;4;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;4;23;4;30000;0;24;4;1;2;1;-2;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;4;23;23;30000;0;25;4;1;1;1;-2;-1;0;0;0;1;0;0;1;0;0 +gfx90a [0x989f];3;5;3;3;30000;0;18;5;1;5;1;0;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;5;3;5;30000;0;12;5;1;2;1;1;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;5;4;4;30000;0;24;5;1;4;1;0;0;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;5;4;5;30000;0;9;5;1;5;1;0;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;5;3;30000;0;20;5;1;2;1;-1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;5;5;4;30000;0;9;5;1;2;1;0;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;5;5;30000;0;10;5;1;2;1;0;-1;0;1;1;1;1;0;0;0;0 +gfx90a [0x989f];3;5;5;6;30000;0;9;5;1;4;1;-2;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;5;7;30000;0;20;5;1;2;1;0;1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;5;8;30000;0;24;5;1;3;1;-1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;5;5;9;30000;0;25;5;1;5;1;0;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;5;5;10;30000;0;25;5;1;2;1;1;-1;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;5;5;11;30000;0;25;5;1;2;1;0;1;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;5;5;12;30000;0;12;5;1;3;1;-2;0;0;1;1;1;0;2;0;0;0 +gfx90a [0x989f];3;5;5;16;30000;0;25;5;1;5;1;1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;5;5;23;30000;0;30;5;1;3;5;0;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;6;5;30000;0;20;5;1;4;1;-1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;6;6;30000;0;9;5;1;5;1;0;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;7;5;30000;0;9;5;1;1;1;1;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;7;7;30000;0;20;5;1;3;1;0;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;8;5;30000;0;12;5;1;5;1;-1;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;8;8;30000;0;20;5;1;5;1;1;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;9;5;30000;0;20;5;1;2;1;1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;5;9;9;30000;0;25;5;1;2;1;1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;5;10;5;30000;0;20;5;1;4;1;-1;-1;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;5;10;10;30000;0;25;5;1;2;1;-1;0;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;5;11;5;30000;0;20;5;1;5;1;1;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;5;11;11;30000;0;25;5;1;3;1;-1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;12;5;30000;0;20;5;1;4;1;-1;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;5;12;12;30000;0;25;5;1;5;1;0;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;5;16;5;30000;0;20;5;1;4;1;-1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;5;16;16;30000;0;26;5;1;4;1;0;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;5;23;5;30000;0;24;5;1;2;1;-2;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;5;23;23;30000;0;24;5;1;1;1;-2;-1;0;0;1;1;1;0;1;0;0 +gfx90a [0x989f];3;6;3;3;30000;0;16;6;1;4;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;3;6;30000;0;15;6;1;6;1;-1;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;4;4;30000;0;18;6;1;4;1;-1;-1;0;1;0;1;0;0;0;0;0 +gfx90a [0x989f];3;6;4;6;30000;0;15;6;1;3;1;0;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;5;5;30000;0;12;6;1;2;1;1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;5;6;30000;0;15;6;1;5;1;-1;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;6;3;30000;0;15;6;1;3;1;-1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;6;6;4;30000;0;15;6;1;2;1;-1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;6;6;5;30000;0;9;6;1;6;1;1;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;6;6;30000;0;12;6;1;6;1;-2;-1;0;1;1;1;1;2;0;0;0 +gfx90a [0x989f];3;6;6;7;30000;0;12;6;1;4;1;-1;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;6;8;30000;0;20;6;1;4;1;-2;-2;0;1;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;6;9;30000;0;20;6;1;6;1;0;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;6;10;30000;0;15;6;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;6;11;30000;0;24;6;1;5;1;-1;0;1;0;1;1;1;2;2;0;0 +gfx90a [0x989f];3;6;6;12;30000;0;20;6;1;6;1;-1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;6;6;16;30000;0;25;6;1;4;1;0;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;6;23;30000;0;15;6;1;1;1;0;-2;0;0;1;1;0;2;2;0;0 +gfx90a [0x989f];3;6;7;6;30000;0;15;6;1;3;1;1;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;7;7;30000;0;15;6;1;4;1;1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;8;6;30000;0;15;6;1;5;1;-1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;8;8;30000;0;20;6;1;5;1;-2;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;9;6;30000;0;15;6;1;4;1;-2;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;9;9;30000;0;9;6;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;10;6;30000;0;15;6;1;4;1;-2;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;10;10;30000;0;25;6;1;1;1;0;-1;0;1;1;1;1;0;0;0;0 +gfx90a [0x989f];3;6;11;6;30000;0;15;6;1;2;1;-1;0;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;11;11;30000;0;25;6;1;1;1;-2;-2;0;1;1;1;1;2;0;0;0 +gfx90a [0x989f];3;6;12;6;30000;0;15;6;1;6;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;6;12;12;30000;0;24;6;1;2;1;-2;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;6;16;6;30000;0;20;6;1;6;1;1;-1;1;1;0;1;1;0;0;0;0 +gfx90a [0x989f];3;6;16;16;30000;0;26;6;1;1;1;0;0;1;1;0;1;1;2;2;1;0 +gfx90a [0x989f];3;6;23;6;30000;0;24;6;1;6;1;1;0;1;0;1;1;1;0;0;0;0 +gfx90a [0x989f];3;6;23;23;30000;0;24;6;1;5;1;0;-2;0;0;0;1;0;2;1;0;0 +gfx90a [0x989f];3;7;3;3;30000;0;15;7;1;2;1;-1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;7;3;7;30000;0;12;7;1;4;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;7;4;4;30000;0;15;7;1;3;1;0;-2;0;1;1;1;0;0;2;0;0 +gfx90a [0x989f];3;7;4;7;30000;0;12;7;1;2;1;0;0;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;7;5;5;30000;0;12;7;1;3;1;-1;1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;7;5;7;30000;0;12;7;1;3;1;1;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;7;6;6;30000;0;12;7;1;3;1;-1;1;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;7;6;7;30000;0;12;7;1;2;1;0;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;7;7;3;30000;0;15;7;1;4;1;0;-1;0;1;0;1;0;0;2;0;0 +gfx90a [0x989f];3;7;7;4;30000;0;18;7;1;3;1;1;1;0;0;0;1;1;2;2;0;0 +gfx90a [0x989f];3;7;7;5;30000;0;12;7;1;6;1;1;-2;0;1;1;1;0;2;0;0;0 +gfx90a [0x989f];3;7;7;6;30000;0;15;7;1;6;1;-1;0;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;7;7;7;30000;0;12;7;1;2;1;1;0;0;1;0;1;1;0;0;0;0 +gfx90a [0x989f];3;7;7;8;30000;0;13;7;1;6;1;-1;-2;1;1;1;1;1;0;0;0;0 +gfx90a [0x989f];3;7;7;9;30000;0;15;7;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;7;7;10;30000;0;15;7;1;7;1;-1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;7;7;11;30000;0;15;7;1;1;1;-1;-2;0;0;1;1;1;2;2;0;0 +gfx90a [0x989f];3;7;7;12;30000;0;12;7;1;1;1;1;-2;1;1;1;1;1;2;2;1;0 +gfx90a [0x989f];3;7;7;16;30000;0;15;7;1;1;1;-1;-2;1;1;0;1;1;2;1;0;0 +gfx90a [0x989f];3;7;7;23;30000;0;12;7;1;1;7;-2;0;0;0;1;1;1;2;1;0;0 +gfx90a [0x989f];3;7;8;7;30000;0;15;7;1;3;1;-2;1;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;7;8;8;30000;0;20;7;1;7;1;-1;-1;0;1;0;1;1;0;2;1;0 +gfx90a [0x989f];3;7;9;7;30000;0;20;7;1;6;1;-2;0;0;1;1;1;1;2;0;1;0 +gfx90a [0x989f];3;7;9;9;30000;0;15;7;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;7;10;7;30000;0;20;7;1;4;1;1;0;0;1;0;1;1;2;0;0;0 +gfx90a [0x989f];3;7;10;10;30000;0;15;7;1;1;1;-2;0;1;0;0;1;0;2;2;1;0 +gfx90a [0x989f];3;7;11;7;30000;0;20;7;1;6;1;-2;0;0;1;0;1;1;2;2;0;0 +gfx90a [0x989f];3;7;11;11;30000;0;15;7;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;7;12;7;30000;0;24;7;1;2;1;1;-1;1;0;0;1;1;0;0;0;0 +gfx90a [0x989f];3;7;12;12;30000;0;13;7;1;7;1;0;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;7;16;7;30000;0;24;7;1;7;1;0;-2;1;1;0;1;1;2;2;1;0 +gfx90a [0x989f];3;7;16;16;30000;0;24;7;1;7;1;0;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;7;23;7;30000;0;25;7;1;3;1;-2;1;1;1;1;1;1;0;0;0;0 +gfx90a [0x989f];3;7;23;23;30000;0;24;7;1;1;1;1;-2;1;0;1;1;1;2;0;1;0 +gfx90a [0x989f];3;8;3;3;30000;0;15;8;1;4;1;1;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;8;3;8;30000;0;15;8;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;8;4;4;30000;0;9;8;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;8;4;8;30000;0;7;8;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;8;5;5;30000;0;12;8;1;2;1;-1;4;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;8;5;8;30000;0;15;8;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;8;6;6;30000;0;12;8;1;8;1;-2;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;8;6;8;30000;0;15;8;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;8;7;7;30000;0;13;8;1;5;1;1;-2;0;0;0;1;0;0;2;0;0 gfx90a [0x989f];3;8;7;8;30000;0;20;8;1;4;1;-2;0;0;0;0;1;1;0;2;1;0 -gfx90a [0x989f];3;8;8;3;30000;0;20;8;1;7;1;-1;-1;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;8;8;4;30000;0;22;8;1;5;0;1;-1;0;0;0;1;1;2;2;1;0 -gfx90a [0x989f];3;8;8;5;30000;0;15;8;1;5;1;-2;0;1;1;0;1;1;0;0;1;0 -gfx90a [0x989f];3;8;8;6;30000;0;15;8;1;3;0;-2;-1;0;1;0;1;1;2;2;1;0 -gfx90a [0x989f];3;8;8;7;30000;0;15;8;1;7;1;-1;-1;1;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;8;8;8;30000;0;10;8;1;4;1;1;1;0;1;0;1;1;0;0;1;0 -gfx90a [0x989f];3;8;8;16;30000;0;24;8;1;8;0;-2;0;0;1;0;1;1;0;2;0;0 -gfx90a [0x989f];3;8;8;23;30000;0;2;8;1;1;1;-2;-2;0;1;1;1;0;2;1;0;0 -gfx90a [0x989f];3;8;16;8;30000;0;24;8;1;2;0;-2;1;0;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;8;16;16;30000;0;20;8;1;1;1;1;0;1;1;0;1;1;0;2;0;0 -gfx90a [0x989f];3;8;23;8;30000;0;24;8;1;8;0;1;0;1;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;8;23;23;30000;0;20;8;1;1;1;-1;-1;1;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;9;3;3;30000;0;13;9;1;4;1;-1;-2;0;0;0;1;0;0;0;0;0 -gfx90a [0x989f];3;9;3;9;30000;0;12;9;1;1;1;-1;0;0;1;1;1;1;2;2;0;0 -gfx90a [0x989f];3;9;4;4;30000;0;12;9;1;3;1;1;0;0;0;0;1;1;2;0;0;0 -gfx90a [0x989f];3;9;4;9;30000;0;6;9;1;9;0;0;-1;0;0;0;1;0;1;2;0;0 -gfx90a [0x989f];3;9;5;5;30000;0;11;9;1;7;1;-1;0;0;1;0;1;1;0;2;0;0 -gfx90a [0x989f];3;9;5;9;30000;0;12;9;1;1;1;-2;0;1;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;9;6;6;30000;0;15;9;1;4;1;-1;1;0;0;1;1;1;2;0;1;0 -gfx90a [0x989f];3;9;6;9;30000;0;10;9;1;1;1;-1;-2;1;1;0;1;1;0;2;1;0 -gfx90a [0x989f];3;9;7;7;30000;0;12;9;1;1;1;-2;-1;1;1;0;1;1;0;0;1;0 +gfx90a [0x989f];3;8;8;3;30000;0;15;8;1;1;1;1;-1;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;8;8;4;30000;0;15;8;1;7;1;0;-1;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;8;8;5;30000;0;15;8;1;8;1;0;-1;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;8;8;6;30000;0;15;8;1;4;1;0;0;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;8;8;7;30000;0;15;8;1;4;1;1;-1;1;1;1;1;1;0;0;1;0 +gfx90a [0x989f];3;8;8;8;30000;0;10;8;1;3;1;-1;0;0;1;1;1;1;0;2;1;0 +gfx90a [0x989f];3;8;8;16;30000;0;12;8;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;8;8;23;30000;0;12;8;1;1;1;1;-2;1;1;0;1;1;2;1;0;0 +gfx90a [0x989f];3;8;16;8;30000;0;24;8;1;2;1;-1;1;1;1;1;1;1;0;2;1;0 +gfx90a [0x989f];3;8;16;16;30000;0;20;8;1;1;1;1;-2;1;1;0;1;1;0;2;1;0 +gfx90a [0x989f];3;8;23;8;30000;0;26;8;1;8;1;1;-1;1;1;1;1;1;2;2;1;0 +gfx90a [0x989f];3;8;23;23;30000;0;24;8;1;8;1;0;-2;0;0;0;1;0;0;1;0;0 +gfx90a [0x989f];3;9;3;3;30000;0;9;9;1;9;1;-1;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;9;3;9;30000;0;10;9;1;1;1;-2;0;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;9;4;4;30000;0;12;9;1;1;1;1;0;0;0;1;1;0;2;2;0;0 +gfx90a [0x989f];3;9;4;9;30000;0;15;9;1;6;1;1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;9;5;5;30000;0;13;9;1;9;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;9;5;9;30000;0;10;9;1;1;1;-2;0;1;1;0;1;1;2;0;0;0 +gfx90a [0x989f];3;9;6;6;30000;0;15;9;1;4;1;-1;1;0;1;1;1;1;0;0;1;0 +gfx90a [0x989f];3;9;6;9;30000;0;10;9;1;1;1;0;-2;1;1;1;1;1;0;2;0;0 +gfx90a [0x989f];3;9;7;7;30000;0;13;9;1;1;1;1;-2;0;1;0;1;1;2;0;0;0 gfx90a [0x989f];3;9;7;9;30000;0;13;9;1;1;1;-2;0;1;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;9;9;3;30000;0;15;9;1;8;1;-2;0;0;1;1;1;1;0;0;0;0 -gfx90a [0x989f];3;9;9;4;30000;0;13;9;1;7;0;-1;-1;0;1;0;1;1;2;2;0;0 +gfx90a [0x989f];3;9;9;3;30000;0;15;9;1;4;1;1;-1;0;1;0;1;1;0;0;0;0 +gfx90a [0x989f];3;9;9;4;30000;0;15;9;1;4;1;-1;-1;0;1;0;1;1;2;2;0;0 gfx90a [0x989f];3;9;9;5;30000;0;15;9;1;2;1;0;1;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;9;9;6;30000;0;24;9;1;2;0;0;-2;0;0;0;1;1;0;0;1;0 -gfx90a [0x989f];3;9;9;7;30000;0;13;9;1;3;0;-2;1;0;0;1;1;1;2;2;1;0 -gfx90a [0x989f];3;9;9;9;30000;0;10;9;1;4;0;0;1;0;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;9;9;16;30000;0;12;9;1;1;1;0;-2;1;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;9;9;23;30000;0;3;9;1;8;1;0;-2;1;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;9;16;9;30000;0;13;9;1;1;0;0;0;1;0;0;1;1;2;2;1;0 -gfx90a [0x989f];3;9;16;16;30000;0;20;9;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -gfx90a [0x989f];3;9;23;9;30000;0;24;9;1;1;1;0;-2;1;1;1;1;1;0;2;1;0 -gfx90a [0x989f];3;9;23;23;30000;0;3;8;1;7;1;0;3;1;1;0;1;0;1;2;1;0 +gfx90a [0x989f];3;9;9;6;30000;0;24;9;1;2;1;1;-2;0;0;1;1;1;0;0;1;0 +gfx90a [0x989f];3;9;9;7;30000;0;9;9;1;9;1;-1;0;1;1;1;1;1;0;0;1;0 +gfx90a [0x989f];3;9;9;9;30000;0;10;9;1;3;1;0;-1;0;1;1;1;1;0;2;1;0 +gfx90a [0x989f];3;9;9;16;30000;0;12;9;1;1;1;1;-2;0;0;1;1;1;2;2;0;0 +gfx90a [0x989f];3;9;9;23;30000;0;15;9;1;1;1;-1;-1;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;9;16;9;30000;0;24;9;1;8;1;0;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;9;16;16;30000;0;12;9;1;1;1;1;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;9;23;9;30000;0;26;9;1;8;1;0;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;9;23;23;30000;0;3;8;1;8;1;1;3;0;1;0;1;0;1;2;1;0 gfx90a [0x989f];3;10;3;3;30000;0;10;10;1;8;1;0;-2;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;10;3;10;30000;0;12;10;1;1;1;-1;0;0;0;1;1;1;2;0;1;0 +gfx90a [0x989f];3;10;3;10;30000;0;12;10;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 gfx90a [0x989f];3;10;4;4;30000;0;13;10;1;3;1;-2;-1;1;1;0;1;1;0;2;0;0 -gfx90a [0x989f];3;10;4;10;30000;0;12;10;1;1;1;-1;0;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;10;4;10;30000;0;12;10;1;1;1;0;0;0;1;1;1;1;2;2;0;0 gfx90a [0x989f];3;10;5;5;30000;0;15;10;1;3;1;-1;-2;0;1;1;1;1;0;0;1;0 -gfx90a [0x989f];3;10;5;10;30000;0;15;10;1;1;1;1;0;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;10;5;10;30000;0;10;10;1;1;1;-2;0;1;0;1;1;1;2;2;0;0 gfx90a [0x989f];3;10;6;6;30000;0;9;10;1;1;1;-1;-1;1;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;10;6;10;30000;0;6;10;1;9;0;0;1;0;0;0;1;0;1;2;0;0 -gfx90a [0x989f];3;10;7;7;30000;0;24;10;1;8;1;1;0;0;0;1;1;1;2;2;0;0 -gfx90a [0x989f];3;10;7;10;30000;0;12;10;1;1;1;1;-2;0;1;1;1;1;2;0;0;0 +gfx90a [0x989f];3;10;6;10;30000;0;12;10;1;1;1;0;0;1;1;0;1;1;0;0;0;0 +gfx90a [0x989f];3;10;7;7;30000;0;20;10;1;8;1;1;0;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;10;7;10;30000;0;9;10;1;1;1;1;-2;0;1;0;1;1;2;0;0;0 gfx90a [0x989f];3;10;10;3;30000;0;15;10;1;10;0;1;-1;1;1;1;1;1;0;0;0;0 -gfx90a [0x989f];3;10;10;4;30000;0;20;10;1;4;0;-1;1;0;0;1;1;1;2;0;0;0 +gfx90a [0x989f];3;10;10;4;30000;0;20;10;1;5;1;0;1;0;0;0;1;0;2;0;0;0 gfx90a [0x989f];3;10;10;5;30000;0;15;10;1;3;0;0;0;0;0;0;1;1;2;2;1;0 -gfx90a [0x989f];3;10;10;6;30000;0;20;10;1;10;0;-1;0;0;0;0;1;1;2;0;0;0 -gfx90a [0x989f];3;10;10;7;30000;0;12;10;1;1;1;0;0;1;0;1;1;1;2;2;1;0 +gfx90a [0x989f];3;10;10;6;30000;0;25;10;1;7;1;0;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;10;10;7;30000;0;15;10;1;1;1;0;0;0;0;0;1;0;2;2;0;0 gfx90a [0x989f];3;10;10;10;30000;0;10;10;1;9;1;0;-2;0;1;1;1;1;0;1;0;0 -gfx90a [0x989f];3;10;10;16;30000;0;15;10;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 -gfx90a [0x989f];3;10;10;23;30000;0;3;10;1;7;1;-1;-2;0;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;10;16;10;30000;0;20;10;1;1;1;-2;0;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;10;16;16;30000;0;15;10;1;1;1;0;0;1;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;10;23;10;30000;0;24;10;1;7;0;-1;-1;0;1;1;1;1;0;0;1;0 -gfx90a [0x989f];3;10;23;23;30000;0;3;10;1;9;1;-2;0;1;0;1;1;0;1;2;0;0 -gfx90a [0x989f];3;11;3;3;30000;0;9;11;1;10;1;-1;0;1;1;0;1;0;2;2;1;0 -gfx90a [0x989f];3;11;3;11;30000;0;10;11;1;1;1;1;-2;0;0;1;1;1;0;2;1;0 -gfx90a [0x989f];3;11;4;4;30000;0;13;11;1;5;1;-2;-1;0;0;1;1;0;2;0;1;0 +gfx90a [0x989f];3;10;10;16;30000;0;12;10;1;1;1;-2;0;0;1;1;1;0;2;0;0;0 +gfx90a [0x989f];3;10;10;23;30000;0;15;10;1;1;1;1;0;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;10;16;10;30000;0;13;10;1;1;1;-2;0;1;1;0;1;1;2;0;0;0 +gfx90a [0x989f];3;10;16;16;30000;0;15;10;1;1;1;-1;0;0;0;1;1;1;2;2;1;0 +gfx90a [0x989f];3;10;23;10;30000;0;24;10;1;4;1;-1;-1;0;1;1;1;1;0;0;1;0 +gfx90a [0x989f];3;10;23;23;30000;0;3;10;1;4;1;-2;2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;11;3;3;30000;0;9;11;1;6;1;0;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;11;3;11;30000;0;10;11;1;1;1;-1;-2;0;1;1;1;1;0;2;1;0 +gfx90a [0x989f];3;11;4;4;30000;0;13;11;1;3;1;0;-1;0;1;0;1;1;0;2;0;0 gfx90a [0x989f];3;11;4;11;30000;0;12;11;1;1;1;-2;0;0;1;1;1;1;2;2;0;0 -gfx90a [0x989f];3;11;5;5;30000;0;10;11;1;9;0;0;-2;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;11;5;11;30000;0;12;11;1;1;1;-2;0;0;1;1;1;1;2;2;0;0 -gfx90a [0x989f];3;11;6;6;30000;0;12;11;1;6;1;-1;0;0;0;1;1;1;2;1;0;0 -gfx90a [0x989f];3;11;6;11;30000;0;12;11;1;1;1;0;0;1;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;11;7;7;30000;0;13;11;1;1;1;-2;0;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;11;7;11;30000;0;4;11;1;1;0;-2;2;0;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;11;11;3;30000;0;20;11;1;3;1;-1;0;0;0;0;1;1;2;0;1;0 -gfx90a [0x989f];3;11;11;4;30000;0;20;11;1;10;1;-2;-2;0;1;1;1;1;0;0;1;0 -gfx90a [0x989f];3;11;11;5;30000;0;20;11;1;3;1;-2;0;0;1;0;1;1;2;0;1;0 -gfx90a [0x989f];3;11;11;6;30000;0;20;11;1;1;1;-2;0;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;11;11;7;30000;0;6;8;1;2;1;-1;0;1;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;11;11;11;30000;0;12;11;1;8;1;-2;-2;0;1;0;1;1;2;0;0;0 -gfx90a [0x989f];3;11;11;16;30000;0;4;8;1;4;1;-1;2;1;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;11;11;23;30000;0;15;11;1;1;1;-1;-1;0;1;0;1;1;2;2;0;0 +gfx90a [0x989f];3;11;5;5;30000;0;10;11;1;1;1;0;-2;0;1;1;1;1;0;0;0;0 +gfx90a [0x989f];3;11;5;11;30000;0;10;11;1;1;1;0;0;0;0;0;1;1;0;2;0;0 +gfx90a [0x989f];3;11;6;6;30000;0;12;11;1;6;1;1;0;0;1;1;1;1;2;1;0;0 +gfx90a [0x989f];3;11;6;11;30000;0;12;11;1;1;1;-1;0;0;1;1;1;1;2;2;0;0 +gfx90a [0x989f];3;11;7;7;30000;0;13;11;1;1;1;-1;0;0;1;1;1;1;2;0;0;0 +gfx90a [0x989f];3;11;7;11;30000;0;5;8;1;7;1;-1;2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;11;11;3;30000;0;22;11;1;2;1;-1;1;0;1;0;1;1;2;0;1;0 +gfx90a [0x989f];3;11;11;4;30000;0;20;11;1;2;1;-1;-2;0;1;1;1;1;0;0;0;0 +gfx90a [0x989f];3;11;11;5;30000;0;20;11;1;5;1;-2;1;0;1;1;1;1;2;0;1;0 +gfx90a [0x989f];3;11;11;6;30000;0;24;11;1;1;1;-2;0;0;0;0;1;1;2;2;0;0 +gfx90a [0x989f];3;11;11;7;30000;0;9;8;1;7;1;0;1;0;1;0;1;0;1;2;0;0 +gfx90a [0x989f];3;11;11;11;30000;0;12;11;1;10;1;-2;-2;0;1;0;1;1;2;0;0;0 +gfx90a [0x989f];3;11;11;16;30000;0;3;8;1;11;1;1;-1;1;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;11;11;23;30000;0;15;11;1;1;1;1;-1;0;1;1;1;1;2;2;0;0 gfx90a [0x989f];3;11;16;11;30000;0;15;11;1;1;1;0;-2;0;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;11;16;16;30000;0;4;8;1;1;1;-1;4;1;0;0;1;0;1;2;0;0 -gfx90a [0x989f];3;11;23;11;30000;0;24;11;1;6;1;-2;-2;0;1;0;1;1;2;1;0;0 -gfx90a [0x989f];3;11;23;23;30000;0;3;8;1;10;1;-1;2;0;1;0;1;0;1;2;1;0 -gfx90a [0x989f];3;12;3;3;30000;0;15;12;1;2;0;-1;-2;0;1;0;1;0;0;0;0;0 -gfx90a [0x989f];3;12;3;12;30000;0;12;12;1;1;1;-1;-2;0;0;1;1;1;0;2;1;0 -gfx90a [0x989f];3;12;4;4;30000;0;13;12;1;12;0;-1;0;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;12;4;12;30000;0;15;12;1;1;12;0;0;0;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;12;5;5;30000;0;10;12;1;7;1;0;0;0;1;1;1;1;0;0;0;0 -gfx90a [0x989f];3;12;5;12;30000;0;12;12;1;1;1;1;-2;0;0;1;1;1;2;0;0;0 -gfx90a [0x989f];3;12;6;6;30000;0;13;12;1;10;1;1;-2;0;0;0;1;1;0;0;1;0 -gfx90a [0x989f];3;12;6;12;30000;0;15;12;1;1;1;0;-2;1;1;1;1;1;2;0;1;0 +gfx90a [0x989f];3;11;16;16;30000;0;3;8;1;1;1;-1;-1;1;1;0;1;0;1;2;0;0 +gfx90a [0x989f];3;11;23;11;30000;0;40;11;1;1;1;-1;-2;1;0;0;1;1;2;0;1;0 +gfx90a [0x989f];3;11;23;23;30000;0;3;8;1;7;1;-1;2;0;1;0;1;0;1;2;1;0 +gfx90a [0x989f];3;12;3;3;30000;0;15;12;1;2;1;-1;-2;0;1;0;1;0;0;0;0;0 +gfx90a [0x989f];3;12;3;12;30000;0;10;12;1;1;1;1;-2;0;0;1;1;1;0;2;1;0 +gfx90a [0x989f];3;12;4;4;30000;0;11;12;1;12;1;0;0;0;1;0;1;1;0;0;0;0 +gfx90a [0x989f];3;12;4;12;30000;0;12;12;1;1;12;1;0;0;0;1;1;1;0;2;1;0 +gfx90a [0x989f];3;12;5;5;30000;0;10;12;1;7;1;0;0;0;1;1;1;1;2;0;0;0 +gfx90a [0x989f];3;12;5;12;30000;0;12;12;1;1;1;0;-2;0;1;1;1;1;2;0;0;0 +gfx90a [0x989f];3;12;6;6;30000;0;13;12;1;1;1;1;-2;0;1;0;1;1;0;0;1;0 +gfx90a [0x989f];3;12;6;12;30000;0;12;12;1;1;1;-1;-2;1;1;1;1;1;2;0;1;0 gfx90a [0x989f];3;12;7;7;30000;0;15;12;1;1;1;0;0;1;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;12;7;12;30000;0;12;12;1;1;1;-2;0;1;1;1;1;1;0;2;1;0 +gfx90a [0x989f];3;12;7;12;30000;0;12;12;1;1;1;-1;0;0;1;1;1;1;0;2;1;0 gfx90a [0x989f];3;12;12;3;30000;0;20;12;1;12;0;-2;-2;0;1;0;1;0;2;2;0;0 gfx90a [0x989f];3;12;12;4;30000;0;20;12;1;9;0;0;-2;0;0;0;1;0;2;0;0;0 -gfx90a [0x989f];3;12;12;5;30000;0;15;12;1;7;1;0;0;0;1;0;1;1;0;2;1;0 -gfx90a [0x989f];3;12;12;6;30000;0;26;12;1;7;1;-1;-2;0;0;0;1;1;2;2;1;0 -gfx90a [0x989f];3;12;12;7;30000;0;15;12;1;1;1;1;0;1;1;0;1;1;2;0;1;0 -gfx90a [0x989f];3;12;12;12;30000;0;12;12;1;8;1;1;0;0;1;0;1;1;0;1;0;0 -gfx90a [0x989f];3;12;12;16;30000;0;24;12;1;7;1;0;0;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;12;12;23;30000;0;3;12;1;2;0;-2;2;0;1;0;1;0;1;0;0;0 -gfx90a [0x989f];3;12;16;12;30000;0;10;8;1;10;1;0;0;1;0;0;1;0;1;0;0;0 -gfx90a [0x989f];3;12;16;16;30000;0;15;12;1;1;1;0;0;1;1;1;1;1;2;2;0;0 -gfx90a [0x989f];3;12;23;12;30000;0;24;12;1;11;1;-1;-2;0;1;0;1;0;2;2;0;0 -gfx90a [0x989f];3;12;23;23;30000;0;5;8;1;4;1;0;1;0;1;1;1;0;1;2;1;0 -gfx90a [0x989f];3;13;13;13;30000;0;12;13;1;12;1;-2;-1;0;1;0;1;1;0;2;1;0 -gfx90a [0x989f];3;13;13;23;30000;0;12;13;1;1;1;-1;0;1;0;0;1;0;2;0;1;0 -gfx90a [0x989f];3;13;23;13;30000;0;8;13;1;3;1;1;0;0;0;0;1;0;1;2;0;0 -gfx90a [0x989f];3;13;23;23;30000;0;3;8;1;9;1;-2;2;1;0;1;1;0;1;2;1;0 -gfx90a [0x989f];3;14;14;14;30000;0;10;14;1;12;1;0;-2;0;1;1;1;1;0;2;0;0 -gfx90a [0x989f];3;14;14;23;30000;0;15;14;1;1;1;1;0;0;0;0;1;1;2;0;0;0 -gfx90a [0x989f];3;14;14;29;30000;0;5;14;1;3;14;-1;2;0;1;0;1;0;1;0;1;0 -gfx90a [0x989f];3;14;14;32;30000;0;2;8;1;11;1;-2;0;1;1;0;1;0;1;0;1;0 -gfx90a [0x989f];3;14;23;14;30000;0;13;8;1;10;1;-2;3;0;1;0;1;0;1;0;0;0 -gfx90a [0x989f];3;14;23;23;30000;0;4;8;1;7;1;-2;1;0;0;1;1;0;1;0;1;0 -gfx90a [0x989f];3;14;29;14;30000;0;30;8;1;4;1;-1;1;1;0;0;1;1;1;0;1;0 -gfx90a [0x989f];3;14;29;29;30000;0;3;8;1;6;1;1;2;0;1;0;1;0;1;2;1;0 -gfx90a [0x989f];3;14;29;32;30000;0;3;8;1;6;1;-1;-1;0;0;1;1;0;1;2;1;0 -gfx90a [0x989f];3;14;32;14;30000;0;30;8;1;10;1;-2;4;1;1;0;1;0;1;0;1;0 -gfx90a [0x989f];3;14;32;29;30000;0;3;8;1;6;1;0;5;0;1;1;1;0;1;2;1;0 +gfx90a [0x989f];3;12;12;5;30000;0;9;12;1;2;1;-1;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;12;12;6;30000;0;15;12;1;12;1;-2;-2;0;0;0;1;0;0;0;0;0 +gfx90a [0x989f];3;12;12;7;30000;0;15;12;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 +gfx90a [0x989f];3;12;12;12;30000;0;12;12;1;8;1;0;0;0;1;0;1;1;0;1;0;0 +gfx90a [0x989f];3;12;12;16;30000;0;12;12;1;1;1;-1;-2;0;0;0;1;0;2;1;0;0 +gfx90a [0x989f];3;12;12;23;30000;0;4;8;1;2;1;1;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;12;16;12;30000;0;4;8;1;5;1;0;1;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;12;16;16;30000;0;15;12;1;1;1;1;0;0;0;1;1;1;2;2;0;0 +gfx90a [0x989f];3;12;23;12;30000;0;20;12;1;1;1;0;-2;0;0;1;1;1;2;2;1;0 +gfx90a [0x989f];3;12;23;23;30000;0;3;8;1;8;1;-2;-2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;13;13;13;30000;0;12;13;1;11;1;0;-1;0;1;0;1;1;0;2;1;0 +gfx90a [0x989f];3;13;13;23;30000;0;12;13;1;1;1;-2;-2;0;1;0;1;1;2;0;1;0 +gfx90a [0x989f];3;13;23;13;30000;0;30;8;1;10;1;1;2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;13;23;23;30000;0;3;8;1;6;1;-1;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;14;14;14;30000;0;10;14;1;10;1;0;0;0;1;1;1;1;0;2;0;0 +gfx90a [0x989f];3;14;14;23;30000;0;15;14;1;1;1;-2;0;0;1;1;1;1;2;0;1;0 +gfx90a [0x989f];3;14;14;29;30000;0;4;8;1;5;14;0;1;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;14;14;32;30000;0;3;8;1;9;1;1;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;14;23;14;30000;0;26;8;1;2;1;-2;1;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;14;23;23;30000;0;40;8;1;3;1;1;2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;14;29;14;30000;0;40;8;1;14;1;-1;1;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;14;29;29;30000;0;3;8;1;7;1;1;1;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;14;29;32;30000;0;3;8;1;4;1;1;1;0;1;1;1;0;1;2;1;0 +gfx90a [0x989f];3;14;32;14;30000;0;50;8;1;14;1;1;3;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;14;32;29;30000;0;3;8;1;2;1;1;4;0;0;0;1;0;1;2;0;0 gfx90a [0x989f];3;14;32;32;30000;0;40;8;1;4;1;1;4;0;1;0;1;1;1;0;1;0 -gfx90a [0x989f];3;15;15;15;30000;0;4;8;1;2;1;-1;1;0;1;1;1;0;1;0;1;0 -gfx90a [0x989f];3;15;15;23;30000;0;4;8;1;3;1;0;0;1;1;0;1;0;1;2;1;0 -gfx90a [0x989f];3;15;23;15;30000;0;3;15;1;10;1;0;5;1;0;1;1;0;1;2;1;0 -gfx90a [0x989f];3;15;23;23;30000;0;4;8;1;6;1;-2;3;1;1;1;1;0;1;2;1;0 +gfx90a [0x989f];3;15;15;15;30000;0;5;8;1;3;1;0;0;0;1;1;1;0;1;0;1;0 +gfx90a [0x989f];3;15;15;23;30000;0;4;8;1;15;1;0;0;1;1;1;1;0;1;0;1;0 +gfx90a [0x989f];3;15;23;15;30000;0;4;8;1;11;1;0;-2;1;1;1;1;0;1;2;1;0 +gfx90a [0x989f];3;15;23;23;30000;0;4;8;1;6;1;-1;3;1;1;0;1;0;1;2;1;0 gfx90a [0x989f];3;16;3;3;30000;0;15;16;1;10;0;-1;-2;0;1;0;1;1;0;0;0;0 -gfx90a [0x989f];3;16;3;16;30000;0;13;16;1;10;1;0;0;0;0;1;1;1;0;0;1;0 +gfx90a [0x989f];3;16;3;16;30000;0;15;16;1;1;1;-2;0;0;1;0;1;1;2;0;1;0 gfx90a [0x989f];3;16;4;4;30000;0;12;16;1;6;1;0;-1;0;1;0;1;1;0;0;1;0 -gfx90a [0x989f];3;16;4;16;30000;0;4;8;1;6;1;0;-1;1;0;0;1;1;1;0;1;0 -gfx90a [0x989f];3;16;5;5;30000;0;15;8;1;4;1;-1;2;0;1;1;1;0;1;2;0;0 +gfx90a [0x989f];3;16;4;16;30000;0;4;8;1;7;1;0;-1;1;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;16;5;5;30000;0;21;8;1;7;1;-2;-2;0;0;1;1;0;1;2;0;0 gfx90a [0x989f];3;16;5;16;30000;0;8;8;1;6;1;-1;2;0;1;0;1;0;1;0;0;0 -gfx90a [0x989f];3;16;6;6;30000;0;15;16;1;1;1;1;-2;1;1;1;1;1;2;0;1;0 +gfx90a [0x989f];3;16;6;6;30000;0;9;16;1;1;1;1;-2;1;0;1;1;1;2;0;1;0 gfx90a [0x989f];3;16;6;16;30000;0;12;16;1;1;1;1;0;0;1;1;1;1;2;0;1;0 gfx90a [0x989f];3;16;7;7;30000;0;10;16;1;1;0;-2;0;0;1;1;1;1;2;2;1;0 -gfx90a [0x989f];3;16;7;16;30000;0;24;16;1;13;1;0;0;1;1;0;1;1;2;2;0;0 +gfx90a [0x989f];3;16;7;16;30000;0;24;16;1;13;1;0;0;0;1;0;1;1;2;2;0;0 gfx90a [0x989f];3;16;8;8;30000;0;24;16;1;3;0;-2;-1;0;0;0;1;1;2;2;1;0 -gfx90a [0x989f];3;16;8;16;30000;0;5;8;1;2;1;0;0;1;0;1;1;0;1;2;0;0 +gfx90a [0x989f];3;16;8;16;30000;0;7;8;1;4;1;0;0;1;0;1;1;0;1;2;0;0 gfx90a [0x989f];3;16;9;9;30000;0;6;8;1;3;1;-2;1;1;1;0;1;1;1;0;0;0 -gfx90a [0x989f];3;16;9;16;30000;0;4;8;1;7;1;0;2;1;1;1;1;0;1;2;0;0 +gfx90a [0x989f];3;16;9;16;30000;0;4;8;1;5;1;-2;2;1;1;1;1;0;1;2;0;0 gfx90a [0x989f];3;16;10;10;30000;0;30;16;1;9;0;-1;2;0;1;0;1;0;1;0;0;0 -gfx90a [0x989f];3;16;10;16;30000;0;8;8;1;6;1;0;0;0;0;0;1;0;1;2;0;0 -gfx90a [0x989f];3;16;11;11;30000;0;6;8;1;4;1;-1;2;0;1;0;1;1;1;0;0;0 -gfx90a [0x989f];3;16;11;16;30000;0;30;8;1;4;1;-2;2;1;0;0;1;1;1;2;0;0 -gfx90a [0x989f];3;16;12;12;30000;0;6;8;1;15;1;-2;2;1;1;1;1;0;1;0;0;0 -gfx90a [0x989f];3;16;12;16;30000;0;12;16;1;1;1;-1;-2;0;1;0;1;1;2;2;1;0 -gfx90a [0x989f];3;16;16;3;30000;0;25;16;1;9;0;-1;-2;1;0;1;1;1;0;0;1;0 -gfx90a [0x989f];3;16;16;4;30000;0;22;16;1;2;0;1;-1;1;1;0;1;1;2;2;1;0 -gfx90a [0x989f];3;16;16;5;30000;0;20;16;1;1;1;-2;-2;1;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;16;16;6;30000;0;25;16;1;9;0;-1;2;1;1;0;1;1;1;0;0;0 -gfx90a [0x989f];3;16;16;7;30000;0;15;16;1;1;0;0;0;1;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;16;16;8;30000;0;24;16;1;8;1;0;1;1;0;1;1;1;2;0;1;0 -gfx90a [0x989f];3;16;16;9;30000;0;25;8;1;8;1;-2;3;1;0;1;1;0;1;2;0;0 -gfx90a [0x989f];3;16;16;10;30000;0;25;8;1;4;1;-1;4;1;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;16;16;11;30000;0;26;8;1;8;1;-1;4;1;1;1;1;0;1;0;0;0 -gfx90a [0x989f];3;16;16;12;30000;0;14;8;1;6;1;1;0;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;10;16;30000;0;5;8;1;5;1;-2;0;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;11;11;30000;0;25;8;1;4;1;0;-1;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;11;16;30000;0;30;8;1;14;1;-1;1;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;16;12;12;30000;0;5;8;1;1;1;1;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;12;16;30000;0;5;16;1;14;1;0;2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;16;16;3;30000;0;24;16;1;11;1;-1;-2;0;0;0;1;0;0;2;0;0 +gfx90a [0x989f];3;16;16;4;30000;0;24;16;1;1;1;0;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;16;5;30000;0;20;16;1;1;1;0;-2;1;0;0;1;1;2;2;1;0 +gfx90a [0x989f];3;16;16;6;30000;0;25;8;1;15;1;-1;2;1;0;0;1;1;1;0;0;0 +gfx90a [0x989f];3;16;16;7;30000;0;25;16;1;9;1;-2;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;16;8;30000;0;25;16;1;10;1;0;2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;16;9;30000;0;25;8;1;6;1;-2;2;1;1;1;1;0;1;2;0;0 +gfx90a [0x989f];3;16;16;10;30000;0;25;8;1;4;1;0;3;1;1;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;16;11;30000;0;25;8;1;8;1;1;2;1;1;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;16;12;30000;0;25;8;1;7;1;-2;-2;1;0;1;1;0;1;2;0;0 gfx90a [0x989f];3;16;16;16;30000;0;12;16;1;2;1;1;-1;0;1;1;1;1;2;0;1;0 -gfx90a [0x989f];3;16;16;23;30000;0;3;8;1;7;1;-1;3;1;1;0;1;1;1;2;0;0 -gfx90a [0x989f];3;16;23;16;30000;0;31;8;1;4;1;-1;-1;1;1;1;1;0;1;2;1;0 -gfx90a [0x989f];3;16;23;23;30000;0;3;8;1;11;1;-1;3;0;0;0;1;1;1;0;0;0 -gfx90a [0x989f];3;17;17;17;30000;0;12;17;1;17;1;-1;-1;0;1;0;1;0;0;2;0;0 -gfx90a [0x989f];3;17;17;23;30000;0;3;8;1;15;1;-1;0;1;1;1;1;0;1;0;1;0 -gfx90a [0x989f];3;17;17;32;30000;0;4;8;1;14;17;0;3;1;1;0;1;0;1;0;1;0 -gfx90a [0x989f];3;17;17;35;30000;0;5;17;1;4;17;-2;3;1;0;1;1;1;1;0;1;0 -gfx90a [0x989f];3;17;23;17;30000;0;4;17;1;5;1;0;-1;0;1;1;1;0;1;2;0;0 -gfx90a [0x989f];3;17;23;23;30000;0;3;17;1;17;1;0;0;1;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;17;32;17;30000;0;20;17;1;1;1;1;-1;1;1;0;1;1;2;2;0;0 -gfx90a [0x989f];3;17;32;35;30000;0;3;8;1;13;1;1;-2;0;1;0;1;0;1;0;1;0 -gfx90a [0x989f];3;17;35;17;30000;0;25;17;1;16;1;0;-1;1;1;0;1;1;1;2;0;0 -gfx90a [0x989f];3;17;35;32;30000;0;3;17;1;14;1;1;-1;1;1;0;1;0;1;2;0;0 -gfx90a [0x989f];3;17;35;35;30000;0;30;17;1;1;1;0;0;0;1;1;1;0;0;0;0;0 -gfx90a [0x989f];3;18;18;18;30000;0;30;18;1;11;0;0;4;0;1;0;1;0;1;0;1;0 -gfx90a [0x989f];3;18;18;23;30000;0;7;8;1;17;1;0;1;0;0;1;1;1;1;2;1;0 -gfx90a [0x989f];3;18;23;18;30000;0;4;18;1;15;1;-2;-2;1;0;1;1;0;1;2;0;0 -gfx90a [0x989f];3;18;23;23;30000;0;3;8;1;16;1;-1;6;0;0;0;1;0;1;2;1;0 -gfx90a [0x989f];3;19;19;19;30000;0;4;8;1;7;1;-2;4;1;1;0;1;1;1;2;1;0 -gfx90a [0x989f];3;19;19;23;30000;0;5;8;1;5;1;-2;0;0;0;1;1;0;1;0;1;0 -gfx90a [0x989f];3;23;23;23;30000;0;1;1;12;9;0;-2;0;0;1;0;1;1;2;1;1;0 +gfx90a [0x989f];3;16;16;23;30000;0;4;8;1;4;1;0;-1;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;16;23;16;30000;0;40;8;1;4;1;-2;-1;1;1;1;1;0;1;2;0;0 +gfx90a [0x989f];3;16;23;23;30000;0;50;8;1;15;1;-1;-1;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;17;17;17;30000;0;12;17;1;12;1;-2;-2;0;1;0;1;0;0;2;0;0 +gfx90a [0x989f];3;17;17;23;30000;0;3;8;1;11;1;-1;1;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;17;17;32;30000;0;3;8;1;17;17;-1;-2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;17;17;35;30000;0;3;8;1;17;17;-1;0;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;17;23;17;30000;0;15;17;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +gfx90a [0x989f];3;17;23;23;30000;0;24;17;1;1;1;-1;0;1;0;0;1;1;2;1;0;0 +gfx90a [0x989f];3;17;32;17;30000;0;20;17;1;1;1;0;-2;1;0;0;1;1;2;0;0;0 +gfx90a [0x989f];3;17;32;35;30000;0;3;8;1;11;1;1;1;0;1;0;1;0;1;0;1;0 +gfx90a [0x989f];3;17;35;17;30000;0;25;17;1;5;1;-2;-1;1;1;0;1;0;1;2;0;0 +gfx90a [0x989f];3;17;35;32;30000;0;3;17;1;16;1;0;0;1;1;0;1;0;1;2;0;0 +gfx90a [0x989f];3;17;35;35;30000;0;20;17;1;1;1;1;0;1;1;1;1;0;0;0;0;0 +gfx90a [0x989f];3;18;18;18;30000;0;4;8;1;6;1;-2;-2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;18;18;23;30000;0;3;8;1;14;1;0;-2;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;18;23;18;30000;0;4;18;1;4;1;1;3;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;18;23;23;30000;0;4;8;1;16;1;0;3;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;19;19;19;30000;0;40;8;1;10;1;1;3;0;0;0;1;0;1;2;0;0 +gfx90a [0x989f];3;19;19;23;30000;0;40;8;1;15;1;-1;-2;0;0;0;1;0;1;0;0;0 +gfx90a [0x989f];3;23;23;23;30000;0;4;8;1;22;23;-1;3;0;0;0;1;0;1;0;0;0 gfx90a [0x989f];3;32;32;32;30000;0;25;32;1;20;1;-2;0;0;1;0;1;0;2;0;0;0 gfx90a [0x989f];3;35;17;17;30000;0;15;35;1;29;1;1;0;0;1;0;1;0;2;1;0;0 gfx90a [0x989f];3;35;17;32;30000;0;20;35;1;1;1;0;-2;1;1;0;1;1;2;0;0;0 diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index 604952940e9..ec0dca2467d 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -1,21 +1,21 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;8;2;1;1;1;-1;0;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;4;1;1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;4;1;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;3;1;1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;3;1;1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;2;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;2;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;3;1;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;2;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 @@ -39,7 +39,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;1;1;0;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;2;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;4;1;-1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;3;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;13;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;25;30000;0;8;4;1;1;9;-1;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;26;30000;0;8;4;1;1;9;-1;-2;0;0;0;1;1;2;2;0;0 @@ -47,7 +47,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;28;30000;0;8;4;1;1;9;-1;-1;0;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;32;30000;0;8;4;1;1;9;-1;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;45;30000;0;4;4;1;1;9;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;4;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;8;4;1;2;1;0;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;8;4;1;3;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;4;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;0;0;0 @@ -68,7 +68,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;5;30000;0;14;4;1;1;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;13;30000;0;8;4;1;1;1;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;17;30000;0;8;4;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;17;32;30000;0;8;4;1;1;1;1;0;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;14;4;1;3;1;-2;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;4;30000;0;14;4;1;2;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;5;30000;0;14;4;1;4;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;7;30000;0;14;4;1;3;25;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;25;9;30000;0;10;4;1;1;25;0;0;0;0;0;1;0;2;0;0;0 @@ -133,7 +133,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;12;5;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;1;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;7;30000;0;10;5;1;1;1;-1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;13;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;16;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;17;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 @@ -151,7 +151,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-2;-1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;14;5;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;13;30000;0;10;5;1;1;1;1;0;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;16;30000;0;8;5;1;1;1;-2;-1;1;0;0;1;1;0;0;0;0 @@ -167,7 +167,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;15;5;1;1;1;-2;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;26;30000;0;8;5;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;4;30000;0;16;5;1;1;1;0;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;16;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;5;30000;0;16;5;1;1;1;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;13;30000;0;8;5;1;1;1;-2;0;1;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;17;32;30000;0;8;5;1;1;1;-1;-2;0;0;1;1;1;2;0;0;0 @@ -233,8 +233,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;28;30000;0;5;5;1;1;45;-1;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;32;30000;0;4;5;1;1;45;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;45;45;30000;0;9;5;1;1;45;-2;-1;0;0;0;1;1;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;6;30000;0;9;6;1;3;1;-2;0;0;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;10;6;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;7;30000;0;10;6;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;6;8;30000;0;10;6;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;6;30000;0;14;6;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;7;30000;0;10;6;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;6;7;8;30000;0;11;6;1;1;1;1;-2;0;0;0;1;0;2;0;0;0 @@ -245,7 +245,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;4;30000;0;14;7;1;1;1;-2;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;14;7;1;3;1;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;11;7;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;10;7;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 @@ -268,7 +268,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;13;7;1;1;1;-1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;7;30000;0;9;7;1;2;1;1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;11;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;10;7;1;1;7;-2;0;0;0;0;1;0;0;0;0;0 @@ -309,19 +309,19 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;26;30000;0;10;7;1;1;45;0;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;28;30000;0;8;7;1;1;45;1;-1;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;32;30000;0;8;7;1;1;45;-2;0;1;0;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;45;30000;0;9;7;1;1;45;1;0;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;16;8;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;6;30000;0;14;8;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;7;1;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;8;30000;0;10;8;1;8;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;7;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;2;1;0;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;7;1;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;1;1;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;9;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;13;9;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;13;9;1;1;1;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;0;0;0;0;1;0;0;0;0;0 @@ -341,8 +341,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;5;45;30000;0;8;9;1;1;9;-1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;16;9;1;1;1;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;7;30000;0;14;9;1;1;1;-2;0;0;0;1;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;14;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;10;9;1;1;9;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;12;9;1;1;9;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;11;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;25;30000;0;8;9;1;1;9;-1;-2;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;26;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;28;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;0;0;0;0 @@ -361,7 +361,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;28;30000;0;8;9;1;1;9;1;1;0;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;32;30000;0;8;9;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;45;30000;0;8;9;1;1;9;-1;-2;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;4;30000;0;16;9;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;17;9;1;1;13;0;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;16;9;1;1;13;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;16;9;1;4;13;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;12;9;1;2;13;-1;-2;0;0;0;1;0;1;0;0;0 @@ -456,7 +456,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;32;30000;0;8;13;1;1;1;-2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;12;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;12;1;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;5;13;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;13;30000;0;9;13;1;6;1;-1;-1;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 @@ -505,11 +505,11 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;16;13;1;1;24;1;0;1;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;22;13;1;2;25;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;5;30000;0;22;13;1;3;25;0;-1;1;1;1;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;11;25;1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;4;25;-2;6;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;8;25;1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;2;25;-2;6;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;13;30000;0;8;13;1;7;25;-2;-1;1;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;6;25;0;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;30;8;1;4;25;1;-2;0;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;5;25;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;30;8;1;3;25;0;-2;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;26;30000;0;15;13;1;1;25;1;-2;1;1;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;28;30000;0;15;8;1;1;25;-1;2;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;32;30000;0;5;8;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 @@ -536,7 +536,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;26;30000;0;16;13;1;1;28;-1;-2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;28;30000;0;15;13;1;1;28;-1;-2;0;1;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;-2;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;45;30000;0;15;13;1;1;28;-1;-2;1;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;25;13;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;25;13;1;7;1;-1;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;25;13;1;11;1;0;-2;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;4;32;0;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;9;30000;0;16;13;1;7;32;-2;0;0;0;0;1;0;2;0;0;0 @@ -549,12 +549,12 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;-1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;15;13;1;1;32;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-1;1;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;25;13;1;11;45;0;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;27;8;1;5;45;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;30;13;1;11;45;1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;29;8;1;3;45;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;37;13;1;6;45;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;13;45;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;3;45;-2;0;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;25;30000;0;17;8;1;9;45;0;1;1;0;1;1;0;1;0;1;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;25;30000;0;17;8;1;5;45;-2;2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;26;30000;0;30;13;1;1;45;-1;-2;1;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;28;30000;0;10;8;1;6;45;-1;-1;0;1;0;1;0;1;2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;32;30000;0;10;8;1;3;45;-1;0;0;1;0;1;1;0;0;0;1 @@ -609,7 +609,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;4;30000;0;28;15;1;1;15;-1;-2; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;24;15;1;1;15;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;15;30000;0;8;15;1;8;1;-1;-2;0;1;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;3;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;13;8;1;1;1;1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;14;8;1;3;1;-1;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;7;1;-2;-1;0;1;0;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;26;30000;0;8;16;1;14;1;-1;-2;1;1;0;1;0;0;2;1;0 @@ -697,7 +697,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;5;30000;0;20;24;1;2;1;-2;-1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;13;30000;0;15;8;1;13;24;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;24;30000;0;6;8;1;1;24;-1;4;1;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;26;30000;0;17;24;1;1;24;-1;-1;0;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;32;30000;0;9;8;1;1;24;1;-2;1;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;32;30000;0;15;8;1;1;24;0;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;2;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;5;30000;0;28;8;1;22;24;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;28;8;1;20;24;-1;-1;0;0;0;1;0;1;2;0;0 @@ -717,7 +717,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;32;30000;0;15;24;1;1;1;-1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;16;25;1;1;1;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;13;8;1;13;1;-1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;7;30000;0;9;8;1;24;25;-1;3;1;0;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;5;25;1;4;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;2;25;1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;9;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;8;8;1;11;25;1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;16;25;1;-1;0;0;0;1;0;2;1;0;0 @@ -734,21 +734,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;26;30000;0;8;8;1;1;25;0;3;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;28;30000;0;8;8;1;1;25;-1;3;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;13;8;1;23;25;-1;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;17;8;1;9;25;-2;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;12;8;1;6;25;-2;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;12;8;1;6;25;-2;-1;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;14;8;1;14;25;-2;0;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;8;8;1;23;25;1;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;11;8;1;10;25;1;3;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;8;8;1;15;25;1;1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;17;8;1;6;25;-1;3;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;25;30000;0;11;8;1;18;25;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;13;8;1;3;25;1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;13;8;1;20;25;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;8;8;1;1;25;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;13;25;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;3;25;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;23;25;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;19;25;1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;7;30000;0;15;8;1;3;25;0;-1;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;9;30000;0;15;8;1;19;25;-2;3;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;15;8;1;12;25;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;15;8;1;17;25;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;25;30000;0;7;8;1;1;25;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;26;30000;0;3;8;1;1;25;-1;4;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;28;30000;0;3;8;1;1;25;-2;0;1;1;1;1;0;2;0;0;0 @@ -759,7 +759,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;13;25;-2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;7;30000;0;15;8;1;14;25;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;9;30000;0;15;8;1;4;25;-2;1;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;16;25;1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;25;1;3;25;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;8;1;14;25;1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;25;30000;0;5;8;1;1;25;1;4;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;26;30000;0;16;8;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1;0;0;1;0;2;0;0;0 @@ -771,7 +771,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;25;30000;0;15;25;1;1;25;-1;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;26;30000;0;15;25;1;1;25;0;-1;1;0;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;14;32;30000;0;15;25;1;1;25;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;4;30000;0;30;8;1;17;25;0;3;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;5;30000;0;30;8;1;21;25;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;5;30000;0;30;8;1;21;25;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;7;30000;0;30;8;1;15;25;-2;0;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;9;30000;0;15;8;1;21;25;0;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;13;30000;0;15;25;1;1;25;0;-1;0;0;1;1;0;2;0;0;1 @@ -782,7 +782,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-2;-2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;9;26;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;19;26;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;7;26;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 @@ -793,7 +793,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;28;30000;0;30;16;1;16;26;0;-1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;32;30000;0;15;25;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;45;30000;0;8;25;1;1;26;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;4;30000;0;30;8;1;17;28;-1;6;0;1;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;30;16;1;9;28;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;5;30000;0;31;8;1;13;28;-2;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;7;30000;0;30;8;1;23;28;-2;3;1;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;9;30000;0;8;25;1;1;28;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;13;30000;0;15;25;1;1;28;-1;-1;1;0;1;1;1;2;0;0;1 @@ -803,21 +803,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;28;30000;0;16;25;1;1;28;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;32;30000;0;15;25;1;1;28;-1;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;28;45;30000;0;15;25;1;1;28;1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;4;30000;0;30;8;1;8;32;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;30;8;1;6;32;-1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;30;8;1;20;32;-1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;5;30000;0;30;8;1;20;32;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;7;30000;0;30;8;1;8;32;-1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;9;30000;0;30;8;1;12;32;0;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;13;30000;0;15;16;1;2;32;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;13;30000;0;15;16;1;15;32;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;14;30000;0;15;16;1;9;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;25;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;26;30000;0;8;25;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;28;30000;0;8;25;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;32;30000;0;4;25;1;1;32;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;45;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;22;8;1;6;45;-2;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;23;8;1;6;45;1;3;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;22;8;1;10;45;-2;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;29;8;1;13;45;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;27;16;1;4;45;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;9;30000;0;17;25;1;9;45;0;1;1;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;13;30000;0;31;25;1;1;45;-2;-1;1;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;13;30000;0;31;25;1;1;45;1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;25;30000;0;30;25;1;1;45;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;26;30000;0;10;16;1;10;45;0;0;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;28;30000;0;7;16;1;3;45;0;-1;0;0;0;1;0;1;0;0;1 @@ -833,9 +833,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;26;30000;0;8;8;1;9;26;-1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;28;30000;0;8;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;13;8;1;4;26;0;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;45;30000;0;8;26;1;1;26;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;14;8;1;14;26;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;15;8;1;17;26;-2;3;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;5;30000;0;13;26;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;16;26;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;20;26;-2;4;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;9;30000;0;8;26;1;20;26;0;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;13;30000;0;15;26;1;16;0;-1;0;0;0;1;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;16;30000;0;8;8;1;16;1;0;3;0;1;1;1;1;2;1;1;0 @@ -845,21 +845,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;26;30000;0;8;8;1;1;26;0;1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;12;26;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;14;26;1;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;23;26;-2;3;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;26;26;-1;3;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;13;8;1;22;26;-1;-1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;8;8;1;18;26;-2;1;0;1;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;10;26;1;-2;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;13;8;1;17;26;1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;10;8;1;22;26;-2;-1;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;5;26;-2;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;1;26;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;13;8;1;4;26;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;26;30000;0;4;8;1;1;26;0;4;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;28;30000;0;8;26;1;1;26;0;3;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;11;26;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;45;30000;0;8;16;1;1;26;-1;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;2;26;-1;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;10;8;1;21;26;1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;15;8;1;5;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;7;30000;0;15;8;1;10;26;0;3;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;9;30000;0;15;8;1;19;26;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;8;26;1;3;26;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;16;26;1;11;26;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;25;30000;0;11;16;1;5;26;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;26;30000;0;4;26;1;1;26;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;28;30000;0;13;8;1;26;26;1;2;0;0;0;1;0;2;1;0;0 @@ -898,21 +898,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;25;30000;0;15;8;1;1;26;1;2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;26;30000;0;5;8;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;16;1;25;26;0;1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;32;30000;0;3;8;1;1;26;1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;59;8;1;17;26;1;3;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;59;8;1;18;26;0;-1;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;4;30000;0;30;8;1;22;26;0;3;0;1;1;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;5;26;0;5;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;6;26;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;30;8;1;14;26;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;9;30000;0;20;26;1;1;26;-2;1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;13;30000;0;15;16;1;4;26;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;14;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;24;30000;0;15;26;1;1;1;-1;-1;1;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;25;30000;0;15;26;1;1;26;-2;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;25;30000;0;15;26;1;1;26;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;26;30000;0;15;26;1;1;1;-2;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;28;30000;0;15;26;1;1;26;-2;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;45;30000;0;8;26;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;4;30000;0;30;8;1;3;28;-2;-1;1;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;17;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;19;28;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;16;1;9;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;16;8;1;3;28;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;15;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 @@ -923,7 +923,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;-2;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;9;32;-1;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;23;32;1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;22;32;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;9;30000;0;30;8;1;12;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;0;-1;0;0;0;1;0;2;2;0;0 @@ -938,7 +938,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;23;26;1;11;45;1;4;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;27;16;1;18;45;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;27;16;1;12;45;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;-1;3;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;26;30000;0;5;26;1;1;45;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;28;30000;0;1;26;1;19;45;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;7;8;1;22;45;-1;-2;0;0;0;1;0;2;1;0;0 @@ -946,25 +946,25 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;45;30000;0;5;26;1;1;45;1;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;7;1;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;26;28;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;7;30000;0;10;8;1;10;28;1;4;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;17;28;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;9;30000;0;8;8;1;15;28;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;13;30000;0;8;8;1;1;28;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;25;30000;0;8;8;1;2;28;-1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;14;8;1;21;28;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;8;8;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;17;8;1;7;28;1;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;25;28;1;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;10;8;1;15;28;0;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;12;28;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;8;8;1;16;28;1;-1;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;1;28;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;11;28;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;16;28;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;8;8;1;1;28;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;8;8;1;28;28;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;17;8;1;11;28;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;13;8;1;23;28;-1;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;13;8;1;22;28;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;8;8;1;1;28;-1;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;12;8;1;19;28;-2;0;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;11;28;1;18;28;0;-2;0;0;1;1;0;0;2;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;14;8;1;20;28;-2;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;13;28;1;21;28;-2;4;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;15;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;9;30000;0;8;28;1;5;28;-2;4;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;13;30000;0;8;28;1;8;28;1;-1;1;0;0;1;0;0;2;1;0 @@ -973,8 +973,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;26;30000;0;17;8;1;11;28;-1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;17;8;1;28;28;1;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;17;8;1;13;28;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;17;8;1;26;28;-2;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;14;28;-2;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;14;28;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;2;28;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;8;28;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;15;8;1;4;28;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;9;30000;0;9;28;1;23;28;-1;0;0;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;13;30000;0;9;28;1;4;28;1;-1;0;0;1;1;0;2;2;1;0 @@ -983,8 +983,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;26;30000;0;11;16;1;18;28;1;-2; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;11;16;1;27;28;0;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;16;1;18;28;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;45;30000;0;8;28;1;1;28;-2;2;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;8;1;12;28;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;8;28;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;8;1;7;28;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;11;28;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;7;30000;0;15;8;1;19;28;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;15;8;1;7;28;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;8;1;20;28;-2;1;0;0;0;1;0;1;2;0;0 @@ -999,7 +999,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;30;16;1;19;28;1;4;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;9;30000;0;16;16;1;9;28;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;12;28;1;7;28;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;25;30000;0;9;28;1;1;28;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;30;8;1;1;28;0;5;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;30;8;1;1;28;-2;4;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;28;30000;0;8;28;1;1;28;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;32;30000;0;10;8;1;1;28;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;1;0;0;0;0 @@ -1045,7 +1045,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;0;4;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;32;30000;0;15;28;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;4;8;1;26;45;-1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;15;16;1;11;29;0;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;17;16;1;19;29;-1;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;15;16;1;12;29;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;8;1;1;29;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;15;8;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;15;8;1;27;29;-1;-1;0;0;0;1;0;1;2;0;0 @@ -1136,47 +1136,47 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;30;8;1;21;1;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;5;30000;0;29;8;1;31;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;27;8;1;23;1;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;17;30000;0;15;32;1;1;1;-1;1;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;12;8;1;1;1;-2;1;1;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;7;8;1;1;1;0;0;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;27;8;1;8;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;22;30000;0;12;8;1;1;1;1;4;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;7;8;1;1;1;1;0;0;0;0;1;0;1;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;9;8;1;1;1;1;0;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;39;8;1;1;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;28;8;1;14;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;24;30000;0;12;8;1;1;32;-2;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;26;30000;0;12;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;13;8;1;1;1;-1;0;0;0;0;1;1;2;2;1;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;42;8;1;22;32;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;9;8;1;1;1;1;0;0;0;0;1;0;2;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;42;8;1;7;32;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;30;8;1;21;32;0;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;7;30000;0;30;32;1;24;32;1;4;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;15;8;1;27;32;-2;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;15;16;1;9;32;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;13;30000;0;30;32;1;12;32;-2;4;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;12;32;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;26;30000;0;15;32;1;1;32;1;1;1;1;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;28;30000;0;6;16;1;1;32;-1;4;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;32;30000;0;12;8;1;1;32;1;0;1;0;1;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;32;30000;0;60;8;1;1;32;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;45;30000;0;10;8;1;1;32;-2;4;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;4;30000;0;30;32;1;25;32;1;4;1;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;5;30000;0;31;32;1;24;32;1;4;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;7;30000;0;30;32;1;11;32;1;4;0;1;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;15;8;1;12;32;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;15;16;1;22;32;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;30;8;1;8;32;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;30;32;1;26;32;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;24;30000;0;10;8;1;1;1;0;0;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;25;30000;0;10;32;1;1;32;-1;4;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;25;1;0;4;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;30;16;1;1;32;-1;2;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;15;8;1;1;1;-1;-2;1;1;1;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;45;30000;0;20;8;1;1;32;-1;5;0;1;1;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;22;1;0;4;0;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;30;16;1;1;32;0;-2;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;60;8;1;1;1;0;1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;45;30000;0;59;8;1;1;32;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;4;30000;0;42;8;1;28;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;5;30000;0;42;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;7;30000;0;30;8;1;5;32;1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;15;32;1;23;32;-1;2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;9;30000;0;15;16;1;23;32;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;13;30000;0;30;8;1;5;32;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;59;8;1;26;32;0;-2;0;0;0;1;0;1;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;1;32;0;0;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;0;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;32;30000;0;20;8;1;1;32;-2;-2;1;1;1;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;25;30000;0;59;8;1;27;32;0;-2;0;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;26;30000;0;30;16;1;1;32;0;2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;28;30000;0;30;16;1;1;32;0;-1;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;32;30000;0;13;8;1;1;32;0;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;45;30000;0;20;8;1;1;32;-1;3;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;30;16;1;20;32;0;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;30;16;1;1;32;1;-2;0;0;0;1;0;1;0;0;1 @@ -1205,13 +1205,13 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;9;30000;0;27;16;1;23;45;-1;-1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;13;30000;0;28;8;1;5;45;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;25;30000;0;33;8;1;12;45;-2;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;30;45;1;-1;0;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;28;30000;0;12;8;1;1;45;1;5;1;1;0;1;1;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;28;30000;0;13;8;1;1;45;-2;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;17;16;1;1;45;1;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;45;30000;0;12;8;1;1;45;-2;-2;0;0;1;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;12;16;1;19;55;-2;2;0;0;0;1;1;0;2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;59;16;1;1;55;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;60;16;1;1;55;0;2;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;8;8;1;25;1;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;6;8;1;21;1;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;32;30000;0;6;8;1;6;1;-1;0;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;32;35;30000;0;11;8;1;33;35;-1;5;1;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;35;32;30000;0;9;8;1;21;35;0;0;0;0;0;1;0;0;2;1;1 From a2fea065bc07b5d5729303605f737c52b84966e9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 17:39:59 +0000 Subject: [PATCH 55/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.5.0 → v0.5.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.0...v0.5.1) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5756fa5077d..a4a32a929fc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.5.0' + rev: 'v0.5.1' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From c1776742bfa551defd01f0e29b0440d3e22ce58d Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 9 Jul 2024 13:20:28 +0200 Subject: [PATCH 56/74] ocl: removed unused scripts and updated remaining license banners * Script to run FAILED cases denoted by the given logfile. * Fixed remaining license banners (BSD-3-Clause). * Added license banner for Python scripts. * Check Bash scripts for license banner. * Removed outdated or unused scripts. * Updated LIBXSMM (Daint-CI). --- .ci/daint.cscs.ch/cray.build.sh | 8 ++++ .ci/daint.cscs.ch/cray.test.sh | 8 ++++ .ci/daint.cscs.ch/gnu.build.sh | 8 ++++ .ci/daint.cscs.ch/gnu.test.sh | 8 ++++ .ci/daint.cscs.ch/intel.build.sh | 8 ++++ .ci/daint.cscs.ch/intel.test.sh | 8 ++++ .ci/daint.cscs.ch/ocl.build.sh | 10 ++++- .ci/daint.cscs.ch/ocl.test.sh | 8 ++++ .pre-commit/check_header.py | 4 +- .pre-commit/clang-format-fypp.sh | 8 ++++ .pre-commit/headers/{python.1 => script.1} | 0 .../headers/script.2 | 20 +--------- src/acc/acc.h | 2 +- src/acc/acc_bench.h | 2 +- src/acc/acc_bench_smm.sh | 37 ------------------- src/acc/acc_triplets.sh | 2 +- src/acc/libsmm_acc/tune/archive.sh | 8 ++++ src/acc/libsmm_acc/tune/cleanup.sh | 8 ++++ src/acc/opencl/acc_getenv.sh | 2 +- src/acc/opencl/acc_opencl.sh | 2 +- src/acc/opencl/acc_opencl_test.sh | 32 ++++++++++++++++ src/acc/opencl/smm/tune_multiply.py | 2 +- src/acc/opencl/smm/tune_multiply.sh | 2 +- 23 files changed, 131 insertions(+), 66 deletions(-) rename .pre-commit/headers/{python.1 => script.1} (100%) rename src/acc/acc_makedep.sh => .pre-commit/headers/script.2 (61%) mode change 100755 => 100644 delete mode 100755 src/acc/acc_bench_smm.sh create mode 100755 src/acc/opencl/acc_opencl_test.sh diff --git a/.ci/daint.cscs.ch/cray.build.sh b/.ci/daint.cscs.ch/cray.build.sh index d836ca594d3..356d5d74741 100755 --- a/.ci/daint.cscs.ch/cray.build.sh +++ b/.ci/daint.cscs.ch/cray.build.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="mc" diff --git a/.ci/daint.cscs.ch/cray.test.sh b/.ci/daint.cscs.ch/cray.test.sh index 1c01c1e01f9..b29b785da01 100755 --- a/.ci/daint.cscs.ch/cray.test.sh +++ b/.ci/daint.cscs.ch/cray.test.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="gpu" diff --git a/.ci/daint.cscs.ch/gnu.build.sh b/.ci/daint.cscs.ch/gnu.build.sh index c993634d8c4..70b0fd48f2e 100755 --- a/.ci/daint.cscs.ch/gnu.build.sh +++ b/.ci/daint.cscs.ch/gnu.build.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="mc" diff --git a/.ci/daint.cscs.ch/gnu.test.sh b/.ci/daint.cscs.ch/gnu.test.sh index fd886f1441a..b332174f331 100755 --- a/.ci/daint.cscs.ch/gnu.test.sh +++ b/.ci/daint.cscs.ch/gnu.test.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="gpu" diff --git a/.ci/daint.cscs.ch/intel.build.sh b/.ci/daint.cscs.ch/intel.build.sh index 768aa62c717..5d80583c241 100755 --- a/.ci/daint.cscs.ch/intel.build.sh +++ b/.ci/daint.cscs.ch/intel.build.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="mc" diff --git a/.ci/daint.cscs.ch/intel.test.sh b/.ci/daint.cscs.ch/intel.test.sh index 306ce167827..ebe4df8f492 100755 --- a/.ci/daint.cscs.ch/intel.test.sh +++ b/.ci/daint.cscs.ch/intel.test.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="gpu" diff --git a/.ci/daint.cscs.ch/ocl.build.sh b/.ci/daint.cscs.ch/ocl.build.sh index 9c4c421de89..f1f0fa4c105 100755 --- a/.ci/daint.cscs.ch/ocl.build.sh +++ b/.ci/daint.cscs.ch/ocl.build.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="mc" @@ -27,7 +35,7 @@ if [ ! -d "${HOME}/libxsmm" ]; then fi cd "${HOME}/libxsmm" git fetch -git checkout 2fe2b1a7077ddfbc9ab3b3f7ba1f5a45d52549cb +git checkout d009b33e8742a93c9e1549323587fb6197451294 make -j cd .. diff --git a/.ci/daint.cscs.ch/ocl.test.sh b/.ci/daint.cscs.ch/ocl.test.sh index 83131d1de4c..2cd19d5559b 100755 --- a/.ci/daint.cscs.ch/ocl.test.sh +++ b/.ci/daint.cscs.ch/ocl.test.sh @@ -1,4 +1,12 @@ #!/bin/bash -l +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### #SBATCH --export=ALL #SBATCH --constraint="gpu" diff --git a/.pre-commit/check_header.py b/.pre-commit/check_header.py index 3cf7d58233c..2ef3e4e323d 100755 --- a/.pre-commit/check_header.py +++ b/.pre-commit/check_header.py @@ -20,9 +20,9 @@ TYPES = { "c_cpp": [".c", ".h", ".cc", ".hh", ".cxx", ".hxx", ".cpp", ".hpp", ".cu", ".cl"], - "python": [".py"], - "fypp": [".fypp"], "fortran": [".F", ".f", ".f90", ".f03"], + "script": [".py", ".sh"], + "fypp": [".fypp"], } # max number of lines allowed between header and top of file diff --git a/.pre-commit/clang-format-fypp.sh b/.pre-commit/clang-format-fypp.sh index 2b731761e6e..60035025218 100755 --- a/.pre-commit/clang-format-fypp.sh +++ b/.pre-commit/clang-format-fypp.sh @@ -1,4 +1,12 @@ #!/usr/bin/env bash +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### # clang-format change FYPP directives, need to revert the changes. diff --git a/.pre-commit/headers/python.1 b/.pre-commit/headers/script.1 similarity index 100% rename from .pre-commit/headers/python.1 rename to .pre-commit/headers/script.1 diff --git a/src/acc/acc_makedep.sh b/.pre-commit/headers/script.2 old mode 100755 new mode 100644 similarity index 61% rename from src/acc/acc_makedep.sh rename to .pre-commit/headers/script.2 index c700c3f0c82..e38936f69a0 --- a/src/acc/acc_makedep.sh +++ b/.pre-commit/headers/script.2 @@ -1,26 +1,8 @@ -#!/usr/bin/env bash #################################################################################################### # Copyright (C) by the DBCSR developers group - All rights reserved # # This file is part of the DBCSR library. # # # # For information on the license, see the LICENSE file. # # For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # +# SPDX-License-Identifier: BSD-3-Clause # #################################################################################################### - -FILE=$1 -VAL=$2 - -if [ "${FILE}" ]; then - if [ ! -e "${FILE}" ] || [ "$(cat "${FILE}")" != "${VAL}" ]; then - echo "${VAL}" >"${FILE}" - fi - echo "${FILE}" -else - echo "Usage: $0 filename [value]" - echo " The content of the file will be updated with the value" - echo " if the value is different than the current value." - echo " This suitable to form a Makefile dependency." -fi - - diff --git a/src/acc/acc.h b/src/acc/acc.h index dacbb9206e3..239b02fa8e6 100644 --- a/src/acc/acc.h +++ b/src/acc/acc.h @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #ifndef DBCSR_ACC_H #define DBCSR_ACC_H diff --git a/src/acc/acc_bench.h b/src/acc/acc_bench.h index 7aef921f653..3a7c8979623 100644 --- a/src/acc/acc_bench.h +++ b/src/acc/acc_bench.h @@ -4,7 +4,7 @@ /* */ /* For information on the license, see the LICENSE file. */ /* For further information please visit https://dbcsr.cp2k.org */ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: BSD-3-Clause */ /*------------------------------------------------------------------------------------------------*/ #ifndef DBCSR_ACC_BENCH_H #define DBCSR_ACC_BENCH_H diff --git a/src/acc/acc_bench_smm.sh b/src/acc/acc_bench_smm.sh deleted file mode 100755 index 9c6bde69c71..00000000000 --- a/src/acc/acc_bench_smm.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash -#################################################################################################### -# Copyright (C) by the DBCSR developers group - All rights reserved # -# This file is part of the DBCSR library. # -# # -# For information on the license, see the LICENSE file. # -# For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # -#################################################################################################### - -HERE=$(cd "$(dirname "$0")" && pwd -P) -SED=$(command -v gsed) - -# GNU sed is desired (macOS) -if [ ! "${SED}" ]; then - SED=$(command -v sed) -fi - -if [ "${SED}" ] && [ -x "${HERE}/acc_bench_smm" ]; then - LIBXSMM_PEXEC=${LIBXSMM_ROOT:-${HOME}/libxsmm}/scripts/tool_pexec.sh - if [ -x "${LIBXSMM_PEXEC}" ] && [ -e "$1" ]; then - NDEVICES=$(ACC_OPENCL_VERBOSE=1 CHECK=0 "${HERE}/acc_bench_smm" 1 1 1 2>&1 >/dev/null \ - | ${SED} -n "s/INFO ACC\/OpenCL: ndevices=\([0-9][0-9]*\) ..*$/\1/p") - fi - if [ "${NDEVICES}" ] && [ "0" != "$((1&2 echo "ERROR: missing prerequisites!" - exit 1 -fi diff --git a/src/acc/acc_triplets.sh b/src/acc/acc_triplets.sh index 1cde9bb664e..5984f18518f 100755 --- a/src/acc/acc_triplets.sh +++ b/src/acc/acc_triplets.sh @@ -5,7 +5,7 @@ # # # For information on the license, see the LICENSE file. # # For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # +# SPDX-License-Identifier: BSD-3-Clause # #################################################################################################### XARGS=$(command -v xargs) SORT=$(command -v sort) diff --git a/src/acc/libsmm_acc/tune/archive.sh b/src/acc/libsmm_acc/tune/archive.sh index c8f4f905aff..2c59257d0b1 100755 --- a/src/acc/libsmm_acc/tune/archive.sh +++ b/src/acc/libsmm_acc/tune/archive.sh @@ -1,4 +1,12 @@ #!/bin/bash -e +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### echo "removing unneeded files...." rm -f tune_*/*.job tune_*/Makefile tune_*/*_exe? tune_*/*_part*.cu tune_*/*_part*.cpp tune_*/*.o diff --git a/src/acc/libsmm_acc/tune/cleanup.sh b/src/acc/libsmm_acc/tune/cleanup.sh index bbc353e2860..f9d4975f64c 100755 --- a/src/acc/libsmm_acc/tune/cleanup.sh +++ b/src/acc/libsmm_acc/tune/cleanup.sh @@ -1,4 +1,12 @@ #!/bin/bash -e +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: GPL-2.0+ # +#################################################################################################### echo "removing tuning files...." rm -rf tune_*x*x* diff --git a/src/acc/opencl/acc_getenv.sh b/src/acc/opencl/acc_getenv.sh index 6d062625a4d..d81aedd032b 100755 --- a/src/acc/opencl/acc_getenv.sh +++ b/src/acc/opencl/acc_getenv.sh @@ -5,7 +5,7 @@ # # # For information on the license, see the LICENSE file. # # For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # +# SPDX-License-Identifier: BSD-3-Clause # #################################################################################################### FIND=$(command -v find) diff --git a/src/acc/opencl/acc_opencl.sh b/src/acc/opencl/acc_opencl.sh index 27016902432..dc508b5fc92 100755 --- a/src/acc/opencl/acc_opencl.sh +++ b/src/acc/opencl/acc_opencl.sh @@ -5,7 +5,7 @@ # # # For information on the license, see the LICENSE file. # # For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # +# SPDX-License-Identifier: BSD-3-Clause # #################################################################################################### # shellcheck disable=SC2048,SC2129 diff --git a/src/acc/opencl/acc_opencl_test.sh b/src/acc/opencl/acc_opencl_test.sh new file mode 100755 index 00000000000..03d6ba0300c --- /dev/null +++ b/src/acc/opencl/acc_opencl_test.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +#################################################################################################### +# Copyright (C) by the DBCSR developers group - All rights reserved # +# This file is part of the DBCSR library. # +# # +# For information on the license, see the LICENSE file. # +# For further information please visit https://dbcsr.cp2k.org # +# SPDX-License-Identifier: BSD-3-Clause # +#################################################################################################### + +HERE="$(cd "$(dirname "$0")" && pwd -P)" +TEST=acc_bench_smm +EXE=${HERE}/../${TEST} + +if [ ! -e "$1" ]; then + >&2 echo "USAGE: $0 logfile" + exit 1 +fi +if [ ! -e "${EXE}" ]; then + >&2 echo "ERROR: please build ${TEST}!" + exit 1 +fi + +sed -n "s/FAILED: \(..*\)/\1/p" "$1" | while read -r LINE; do + EXPORT="" + for KEYVAL in ${LINE}; do + EXPORT="${EXPORT} OPENCL_LIBSMM_SMM_${KEYVAL}" + done + if [ "${EXPORT}" ]; then + eval "${EXPORT} ${EXE}" + fi +done diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 4aefbb255c1..b0dbc3f3cda 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -5,7 +5,7 @@ # # # For information on the license, see the LICENSE file. # # For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # +# SPDX-License-Identifier: BSD-3-Clause # #################################################################################################### import opentuner from opentuner.search.manipulator import IntegerParameter diff --git a/src/acc/opencl/smm/tune_multiply.sh b/src/acc/opencl/smm/tune_multiply.sh index 09a3f53a177..4795970f3bc 100755 --- a/src/acc/opencl/smm/tune_multiply.sh +++ b/src/acc/opencl/smm/tune_multiply.sh @@ -5,7 +5,7 @@ # # # For information on the license, see the LICENSE file. # # For further information please visit https://dbcsr.cp2k.org # -# SPDX-License-Identifier: GPL-2.0+ # +# SPDX-License-Identifier: BSD-3-Clause # #################################################################################################### XARGS=$(command -v xargs) From 0cffc634db1171a7cddf2af3d925466ce79a1254 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 9 Jul 2024 16:12:27 +0200 Subject: [PATCH 57/74] ocl: fixed, improved and relocated script * Improved printing FAILED cases. --- .../opencl/{acc_opencl_test.sh => smm/opencl_test.sh} | 10 ++++++---- src/acc/opencl/smm/tune_multiply.py | 5 ++++- 2 files changed, 10 insertions(+), 5 deletions(-) rename src/acc/opencl/{acc_opencl_test.sh => smm/opencl_test.sh} (80%) diff --git a/src/acc/opencl/acc_opencl_test.sh b/src/acc/opencl/smm/opencl_test.sh similarity index 80% rename from src/acc/opencl/acc_opencl_test.sh rename to src/acc/opencl/smm/opencl_test.sh index 03d6ba0300c..38d5065aec9 100755 --- a/src/acc/opencl/acc_opencl_test.sh +++ b/src/acc/opencl/smm/opencl_test.sh @@ -10,7 +10,7 @@ HERE="$(cd "$(dirname "$0")" && pwd -P)" TEST=acc_bench_smm -EXE=${HERE}/../${TEST} +EXE=${HERE}/../../${TEST} if [ ! -e "$1" ]; then >&2 echo "USAGE: $0 logfile" @@ -21,12 +21,14 @@ if [ ! -e "${EXE}" ]; then exit 1 fi -sed -n "s/FAILED: \(..*\)/\1/p" "$1" | while read -r LINE; do +sed -n "s/FAILED\[..*\] \(..*\): \(..*\)/\1 \2/p" "$1" | while read -r LINE; do + read -r MNK KEYVALS <<<"${LINE}" EXPORT="" - for KEYVAL in ${LINE}; do + for KEYVAL in ${KEYVALS}; do EXPORT="${EXPORT} OPENCL_LIBSMM_SMM_${KEYVAL}" done if [ "${EXPORT}" ]; then - eval "${EXPORT} ${EXE}" + OUTPUT=$(eval "${EXPORT} ${EXE} ${MNK} 2>&1" | sed "s/^/ /") + echo -e "${MNK}: ${KEYVALS}\n${OUTPUT}" fi done diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index b0dbc3f3cda..709b590d88d 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -301,6 +301,8 @@ def run(self, desired_result, input, limit): str(self.run_result["stdout"]), ) else: + if not returncode: + returncode = "?" performance = None if performance and performance.group(1) and performance.group(2): mseconds = float(performance.group(1)) @@ -322,7 +324,8 @@ def run(self, desired_result, input, limit): if not self.args.verbose else runcmd ) - print("FAILED ({}): {}".format(returncode, failed), flush=True) + mnk = "x".join(map(str, self.mnk)) + print("FAILED[{}] {}: {}".format(returncode, mnk, failed), flush=True) return Result(time=float("inf"), accuracy=0.0, size=100.0) def update_jsons(self, filenames): From 40bf5003986b279d3948520a6024c9abdfce0a4f Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 10 Jul 2024 16:13:41 +0200 Subject: [PATCH 58/74] ocl: improved tuning script * Ensure printing the case before running it. * Common error message. --- src/acc/opencl/smm/opencl_test.sh | 4 ++-- src/acc/opencl/smm/tune_multiply.py | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/acc/opencl/smm/opencl_test.sh b/src/acc/opencl/smm/opencl_test.sh index 38d5065aec9..477153f7044 100755 --- a/src/acc/opencl/smm/opencl_test.sh +++ b/src/acc/opencl/smm/opencl_test.sh @@ -28,7 +28,7 @@ sed -n "s/FAILED\[..*\] \(..*\): \(..*\)/\1 \2/p" "$1" | while read -r LINE; do EXPORT="${EXPORT} OPENCL_LIBSMM_SMM_${KEYVAL}" done if [ "${EXPORT}" ]; then - OUTPUT=$(eval "${EXPORT} ${EXE} ${MNK} 2>&1" | sed "s/^/ /") - echo -e "${MNK}: ${KEYVALS}\n${OUTPUT}" + echo "${MNK}: ${KEYVALS}" + eval "${EXPORT} ${EXE} ${MNK} 2>&1" | sed "s/^/ /" fi done diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 709b590d88d..a2b81bc6486 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -294,15 +294,13 @@ def run(self, desired_result, input, limit): cfgenv + ["CHECK={}".format(self.args.check)], verbose=self.args.verbose ) self.run_result = self.call_program(runcmd) - returncode = self.run_result["returncode"] - if 0 == returncode: + result = self.run_result["returncode"] + if 0 == result: performance = re.search( "device:\\s+([0-9]+[^ ]*) ms\\s+([0-9]+[^ ]*)", str(self.run_result["stdout"]), ) else: - if not returncode: - returncode = "?" performance = None if performance and performance.group(1) and performance.group(2): mseconds = float(performance.group(1)) @@ -325,7 +323,7 @@ def run(self, desired_result, input, limit): else runcmd ) mnk = "x".join(map(str, self.mnk)) - print("FAILED[{}] {}: {}".format(returncode, mnk, failed), flush=True) + print("FAILED[{}] {}: {}".format(result, mnk, failed), flush=True) return Result(time=float("inf"), accuracy=0.0, size=100.0) def update_jsons(self, filenames): @@ -504,8 +502,8 @@ def save_final_config(self, configuration, final=True): return # nothing to save config = configuration.data if configuration else None cfgenv = self.environment(config) if config else None - result = self.run_result["returncode"] if config and self.run_result else 1 envchk = os.getenv("CHECK") # conside CHECKing result unless CHECK=0 + result = self.run_result["returncode"] if config and self.run_result else 1 if 0 == result and 0 == self.args.check and (envchk is None or "0" != envchk): self.run_result = self.call_program(self.launch(cfgenv + ["CHECK=1"])) result = self.run_result["returncode"] if self.run_result else 1 @@ -555,7 +553,8 @@ def save_final_config(self, configuration, final=True): # check return code (consider not saving parameters) if 0 != result and not final: # incorrect result failed = " ".join(map(str, cfgenv)).replace("OPENCL_LIBSMM_SMM_", "") - print("FAILED: {}".format(failed)) + mnk = "x".join(map(str, self.mnk)) + print("FAILED[{}] {}: {}".format(result, mnk, failed), flush=True) return if final and os.path.exists(filedot): filepattern = "{}-*.json".format(default_basename) From 8fc4246ba44588a76014910743917e381c42bb35 Mon Sep 17 00:00:00 2001 From: Frederick Stein Date: Mon, 1 Jul 2024 12:00:32 +0200 Subject: [PATCH 59/74] Fix GCC8 --- src/tas/dbcsr_tas_types.F | 17 ++++++++++++++++ src/tensors/dbcsr_tensor_block.F | 13 +++++++++++- src/tensors/dbcsr_tensor_types.F | 34 +++++++++++++++++++++++++++++++- 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/src/tas/dbcsr_tas_types.F b/src/tas/dbcsr_tas_types.F index a6b297525c1..9de26c327c5 100644 --- a/src/tas/dbcsr_tas_types.F +++ b/src/tas/dbcsr_tas_types.F @@ -50,7 +50,11 @@ MODULE dbcsr_tas_types END TYPE TYPE dbcsr_tas_distribution_type +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(dbcsr_tas_split_info) :: info = dbcsr_tas_split_info(ngroup_opt=NULL()) +#else TYPE(dbcsr_tas_split_info) :: info = dbcsr_tas_split_info() +#endif TYPE(dbcsr_distribution_obj) :: dbcsr_dist = dbcsr_distribution_obj() CLASS(dbcsr_tas_distribution), ALLOCATABLE :: row_dist CLASS(dbcsr_tas_distribution), ALLOCATABLE :: col_dist @@ -63,12 +67,20 @@ MODULE dbcsr_tas_types TYPE(dbcsr_tas_type), POINTER :: store_batched_repl => NULL() ! intermediate replicated matrix LOGICAL :: batched_out = .FALSE. ! whether replicated matrix has been changed in mm and should be copied to actual matrix LOGICAL :: batched_trans = .FALSE. +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(dbcsr_scalar_type) :: batched_beta +#else TYPE(dbcsr_scalar_type) :: batched_beta = dbcsr_scalar_type() +#endif END TYPE ! type for tall-and-skinny matrices TYPE dbcsr_tas_type +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(dbcsr_tas_distribution_type) :: dist +#else TYPE(dbcsr_tas_distribution_type) :: dist = dbcsr_tas_distribution_type() +#endif CLASS(dbcsr_tas_rowcol_data), ALLOCATABLE :: row_blk_size CLASS(dbcsr_tas_rowcol_data), ALLOCATABLE :: col_blk_size @@ -87,8 +99,13 @@ MODULE dbcsr_tas_types END TYPE TYPE dbcsr_tas_iterator +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(dbcsr_tas_split_info) :: info = dbcsr_tas_split_info(ngroup_opt=NULL()) + TYPE(dbcsr_tas_distribution_type) :: dist +#else TYPE(dbcsr_tas_split_info) :: info = dbcsr_tas_split_info() TYPE(dbcsr_tas_distribution_type) :: dist = dbcsr_tas_distribution_type() +#endif TYPE(dbcsr_iterator) :: iter = dbcsr_iterator() END TYPE dbcsr_tas_iterator diff --git a/src/tensors/dbcsr_tensor_block.F b/src/tensors/dbcsr_tensor_block.F index cf33614bd38..29575a0a0a3 100644 --- a/src/tensors/dbcsr_tensor_block.F +++ b/src/tensors/dbcsr_tensor_block.F @@ -62,10 +62,17 @@ MODULE dbcsr_tensor_block ndims_iterator TYPE dbcsr_t_iterator_type - TYPE(dbcsr_tas_iterator) :: iter = dbcsr_tas_iterator() +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(dbcsr_tas_iterator) :: iter + TYPE(nd_to_2d_mapping) :: nd_index_blk + TYPE(nd_to_2d_mapping) :: nd_index + TYPE(array_list) :: blk_sizes, blk_offsets +#else + TYPE(dbcsr_tas_iterator) :: iter = dbcsr_tas_iterator() TYPE(nd_to_2d_mapping) :: nd_index_blk = nd_to_2d_mapping() TYPE(nd_to_2d_mapping) :: nd_index = nd_to_2d_mapping() TYPE(array_list) :: blk_sizes = array_list(), blk_offsets = array_list() +#endif END TYPE dbcsr_t_iterator_type #:for dparam, dtype, dsuffix in dtype_float_list @@ -82,7 +89,11 @@ MODULE dbcsr_tensor_block TYPE block_nd #:for dparam, dtype, dsuffix in dtype_float_list +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) TYPE(block_nd_${dsuffix}$) :: ${dsuffix}$ +#else + TYPE(block_nd_${dsuffix}$) :: ${dsuffix}$ = block_nd_${dsuffix}$ () +#endif #:endfor INTEGER :: data_type = -1 END TYPE diff --git a/src/tensors/dbcsr_tensor_types.F b/src/tensors/dbcsr_tensor_types.F index 2bf38b7158c..c8eb1953355 100644 --- a/src/tensors/dbcsr_tensor_types.F +++ b/src/tensors/dbcsr_tensor_types.F @@ -103,7 +103,11 @@ MODULE dbcsr_tensor_types dbcsr_t_copy_contraction_storage TYPE dbcsr_t_pgrid_type +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(nd_to_2d_mapping) :: nd_index_grid +#else TYPE(nd_to_2d_mapping) :: nd_index_grid = nd_to_2d_mapping() +#endif TYPE(mp_comm_type) :: mp_comm_2d = mp_comm_type() TYPE(dbcsr_tas_split_info), ALLOCATABLE :: tas_split_info INTEGER :: nproc = -1 @@ -112,12 +116,25 @@ MODULE dbcsr_tensor_types TYPE dbcsr_t_contraction_storage REAL(real_8) :: nsplit_avg = -1.0_real_8 INTEGER :: ibatch = -1 +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(array_list) :: batch_ranges +#else TYPE(array_list) :: batch_ranges = array_list() +#endif LOGICAL :: static = .FALSE. END TYPE TYPE dbcsr_t_type TYPE(dbcsr_tas_type), POINTER :: matrix_rep => NULL() +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(nd_to_2d_mapping) :: nd_index_blk + TYPE(nd_to_2d_mapping) :: nd_index + TYPE(array_list) :: blk_sizes + TYPE(array_list) :: blk_offsets + TYPE(array_list) :: nd_dist + TYPE(dbcsr_t_pgrid_type) :: pgrid + TYPE(array_list) :: blks_local +#else TYPE(nd_to_2d_mapping) :: nd_index_blk = nd_to_2d_mapping() TYPE(nd_to_2d_mapping) :: nd_index = nd_to_2d_mapping() TYPE(array_list) :: blk_sizes = array_list() @@ -125,6 +142,7 @@ MODULE dbcsr_tensor_types TYPE(array_list) :: nd_dist = array_list() TYPE(dbcsr_t_pgrid_type) :: pgrid = dbcsr_t_pgrid_type() TYPE(array_list) :: blks_local = array_list() +#endif INTEGER, DIMENSION(:), ALLOCATABLE :: nblks_local INTEGER, DIMENSION(:), ALLOCATABLE :: nfull_local LOGICAL :: valid = .FALSE. @@ -136,9 +154,15 @@ MODULE dbcsr_tensor_types END TYPE dbcsr_t_type TYPE dbcsr_t_distribution_type +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(dbcsr_tas_distribution_type) :: dist + TYPE(dbcsr_t_pgrid_type) :: pgrid + TYPE(array_list) :: nd_dist +#else TYPE(dbcsr_tas_distribution_type) :: dist = dbcsr_tas_distribution_type() TYPE(dbcsr_t_pgrid_type) :: pgrid = dbcsr_t_pgrid_type() TYPE(array_list) :: nd_dist = array_list() +#endif ! lightweight reference counting for communicators: INTEGER, POINTER :: refcount => NULL() END TYPE @@ -150,7 +174,11 @@ MODULE dbcsr_tensor_types ! grid dimensions only for this matrix dimension: INTEGER, DIMENSION(:), ALLOCATABLE :: dims_grid ! dist only for tensor dimensions belonging to this matrix dimension: +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(array_list) :: nd_dist +#else TYPE(array_list) :: nd_dist = array_list() +#endif CONTAINS ! map matrix index to process grid: PROCEDURE :: dist => tas_dist_t @@ -163,7 +191,11 @@ MODULE dbcsr_tensor_types ! tensor dimensions only for this matrix dimension: INTEGER, DIMENSION(:), ALLOCATABLE :: dims ! block size only for this matrix dimension: - TYPE(array_list) :: blk_size = array_list() +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (TO_VERSION(9, 5) > TO_VERSION(__GNUC__, __GNUC_MINOR__)) + TYPE(array_list) :: blk_size +#else + TYPE(array_list) :: blk_size = array_list() +#endif CONTAINS PROCEDURE :: data => tas_blk_size_t END TYPE From cee2bf188e0c3ea9efb76d259e3bc66d5d178540 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 11 Jul 2024 10:22:49 +0200 Subject: [PATCH 60/74] ocl: updated tuned parameters * Initialize L0 to allow, e.g., I_MPI_OFFLOAD. * Assert internal state (c_dbcsr_acc_init). --- src/acc/opencl/acc_opencl.c | 32 +++ .../opencl/smm/params/tune_multiply_PVC.csv | 194 +++++++++--------- 2 files changed, 129 insertions(+), 97 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index d4c22a8c782..789b2a091e9 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -15,6 +15,9 @@ # include # include # else +# if !defined(ACC_OPENCL_DL) && !defined(NDEBUG) +# define ACC_OPENCL_DL +# endif # include # include # include @@ -22,6 +25,9 @@ # if defined(__DBCSR_ACC) # include "../acc_libsmm.h" # endif +# if defined(ACC_OPENCL_DL) +# include +# endif # include # include # if !defined(S_ISDIR) && defined(S_IFMT) && defined(S_IFDIR) @@ -248,6 +254,7 @@ int c_dbcsr_acc_init(void) { assert(0 == c_dbcsr_acc_opencl_active_id); # endif assert(sizeof(ACC_OPENCL_LOCKTYPE) <= ACC_OPENCL_CACHELINE); + assert(EXIT_SUCCESS == result); for (i = 0; i < ACC_OPENCL_NLOCKS; ++i) { ACC_OPENCL_INIT((ACC_OPENCL_LOCKTYPE*)(c_dbcsr_acc_opencl_locks + ACC_OPENCL_CACHELINE * i)); } @@ -268,6 +275,7 @@ int c_dbcsr_acc_init(void) { c_dbcsr_acc_opencl_config.dump = (NULL == env_dump ? /*default*/ 0 : atoi(env_dump)); c_dbcsr_acc_opencl_config.debug = (NULL == env_debug ? c_dbcsr_acc_opencl_config.dump : atoi(env_debug)); c_dbcsr_acc_opencl_config.wa = neo * (NULL == env_wa ? 31 : atoi(env_wa)); + assert(EXIT_SUCCESS == result); if (EXIT_SUCCESS != c_dbcsr_acc_opencl_device_uid(NULL /*device*/, env_devmatch, &c_dbcsr_acc_opencl_config.devmatch)) { c_dbcsr_acc_opencl_config.devmatch = 1; } @@ -283,6 +291,7 @@ int c_dbcsr_acc_init(void) { /* environment is populated before touching the compute runtime */ ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(ze_flat)); /* soft-error */ } + assert(EXIT_SUCCESS == result); # if defined(ACC_OPENCL_NCCS) if (NULL == getenv("ZEX_NUMBER_OF_CCS") && 0 != nccs && 0 == (1 & c_dbcsr_acc_opencl_config.wa)) { static char zex_nccs[ACC_OPENCL_MAXNDEVS * 8 + 32] = "ZEX_NUMBER_OF_CCS="; @@ -300,6 +309,7 @@ int c_dbcsr_acc_init(void) { if (0 < j) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(zex_nccs)); /* soft-error */ } # endif + assert(EXIT_SUCCESS == result); if (~1 & c_dbcsr_acc_opencl_config.wa) { /* environment is populated before touching the compute runtime */ static char* key_value[] = { "NEOReadDebugKeys=1", "EnableRecoverablePageFaults=0", "DirectSubmissionOverrideBlitterSupport=0"}; @@ -311,6 +321,7 @@ int c_dbcsr_acc_init(void) { ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[2])); } } + assert(EXIT_SUCCESS == result); # if defined(ACC_OPENCL_CACHE_DIR) { /* environment is populated before touching the compute runtime */ const char *const env_cache = getenv("ACC_OPENCL_CACHE"), *env_cachedir = getenv("NEO_CACHE_DIR"); @@ -354,6 +365,27 @@ int c_dbcsr_acc_init(void) { } } # endif + assert(EXIT_SUCCESS == result); +# if defined(ACC_OPENCL_DL) + { /* initialize L0 to allow, e.g., I_MPI_OFFLOAD */ + union { + const void* dlsym; + int (*ptr)(int flags); + } ze_init; + void* handle_libze = NULL; + dlerror(); /* clear an eventual error status */ + handle_libze = dlopen("libze_intel_gpu.so", RTLD_LAZY); + if (NULL == handle_libze) handle_libze = dlopen("libze_intel_gpu.so.1", RTLD_LAZY); + ze_init.dlsym = (NULL != handle_libze ? dlsym(handle_libze, "zeInit") : NULL); + if (NULL != ze_init.dlsym) { + const int ze_init_result = ze_init.ptr(0); + if (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { + fprintf(stderr, "INFO ACC/OpenCL: Level-0 initialized (0x%08x)\n", ze_init_result); + } + } + } +# endif + assert(EXIT_SUCCESS == result); if (EXIT_SUCCESS == clGetPlatformIDs(0, NULL, &nplatforms) && 0 < nplatforms) { ACC_OPENCL_CHECK(clGetPlatformIDs(nplatforms <= ACC_OPENCL_MAXNDEVS ? nplatforms : ACC_OPENCL_MAXNDEVS, platforms, 0), "retrieve platform ids", result); diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index ec0dca2467d..6db3f0afca3 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -1,21 +1,21 @@ DEVICE;TYPEID;M;N;K;S;GFLOPS;BS;BM;BN;BK;WS;WG;LU;NZ;AL;TB;TC;AP;AA;AB;AC Intel(R) Data Center GPU Max 1550 [0x0bd5];3;2;2;2;30000;0;8;2;1;1;1;-1;0;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;-1;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;1;30000;0;8;3;1;1;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;3;3;3;30000;0;8;3;1;1;1;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;4;30000;0;10;4;1;4;1;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;5;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;7;30000;0;9;4;1;3;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;9;30000;0;8;4;1;2;1;-2;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;2;1;1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-2;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;45;30000;0;8;4;1;1;4;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;4;30000;0;10;4;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;5;30000;0;10;4;1;3;1;0;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;7;30000;0;8;4;1;2;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;9;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 @@ -28,7 +28,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;32;30000;0;8;4;1;1;1;-1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;5;45;30000;0;8;4;1;1;5;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;4;30000;0;10;4;1;3;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;5;30000;0;10;4;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;2;1;-1;-2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;7;30000;0;8;4;1;2;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;9;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;13;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;25;30000;0;8;4;1;1;7;1;-2;0;0;0;1;0;2;0;0;0 @@ -37,9 +37,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;28;30000;0;8;4;1;1;7;-1;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;32;30000;0;8;4;1;1;7;-1;-1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;2;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;3;1;-2;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;4;1;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;13;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;25;30000;0;8;4;1;1;9;-1;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;26;30000;0;8;4;1;1;9;-1;-2;0;0;0;1;1;2;2;0;0 @@ -48,7 +48,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;32;30000;0;8;4;1;1;9;-1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;45;30000;0;4;4;1;1;9;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;4;30000;0;13;4;1;3;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;10;30000;0;8;4;1;3;1;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;1;-2;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;4;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;14;4;1;2;1;-2;-1;0;0;0;1;0;2;2;0;0 @@ -88,7 +88,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;26;30000;0;8;4;1;1;26;-2;-1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;28;30000;0;8;4;1;1;26;0;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;32;30000;0;8;4;1;1;26;-2;-1;1;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;26;45;30000;0;8;4;1;1;26;0;0;0;1;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;15;4;1;2;1;-2;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;4;30000;0;15;4;1;4;1;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;5;30000;0;14;4;1;2;28;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;7;30000;0;14;4;1;4;28;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;28;9;30000;0;14;4;1;3;28;1;0;0;0;0;1;0;2;2;0;0 @@ -132,7 +132,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;32;30000;0;8;5;1;1;1;-2;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;4;45;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;4;30000;0;12;5;1;1;1;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;5;30000;0;12;5;1;1;1;1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;7;30000;0;10;5;1;1;1;-1;2;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;7;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;9;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;13;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;16;30000;0;8;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 @@ -147,9 +147,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;-2;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;9;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;16;5;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-2;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;5;30000;0;16;5;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;7;30000;0;13;5;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;14;5;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;9;30000;0;12;5;1;1;1;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;4;30000;0;16;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;5;30000;0;16;5;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;7;30000;0;14;5;1;1;1;-1;1;0;0;0;1;0;2;0;0;0 @@ -246,16 +246,16 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;5;30000;0;14;7;1;3;1;1;0;0;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;11;7;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;10;7;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;32;30000;0;8;7;1;1;7;1;0;0;0;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;32;30000;0;8;7;1;1;7;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;45;30000;0;8;7;1;1;7;1;0;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;4;30000;0;14;7;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;5;30000;0;16;7;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;7;30000;0;10;7;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;9;30000;0;14;7;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;13;30000;0;8;7;1;1;1;-1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;25;30000;0;8;7;1;1;7;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;26;30000;0;8;7;1;1;7;1;0;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;28;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;0;2;0;0 @@ -316,13 +316,13 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;7;1;1;-1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;2;1;0;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;1;1;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;-2;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;9;1;-1;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;8;1;-2;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;13;9;1;1;1;1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-1;-1;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-2;-1;0;0;0;1;0;0;1;0;0 @@ -342,7 +342,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;4;30000;0;16;9;1;1;1;1;0;0;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;5;30000;0;16;9;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;7;30000;0;14;9;1;1;1;-2;0;0;0;1;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;9;30000;0;12;9;1;1;9;-2;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;11;9;1;1;9;-1;-2;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;13;30000;0;10;9;1;1;9;1;-1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;25;30000;0;8;9;1;1;9;-1;-2;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;26;30000;0;8;9;1;1;9;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;7;28;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;0;0;0;0 @@ -363,14 +363,14 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;9;45;30000;0;8;9;1;1;9;-1;-2;0;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;4;30000;0;16;9;1;1;1;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;5;30000;0;16;9;1;1;13;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;7;30000;0;16;9;1;4;13;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-1;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;9;30000;0;16;9;1;1;13;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;13;30000;0;12;9;1;2;13;-1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;25;30000;0;13;9;1;8;13;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;26;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;28;30000;0;8;9;1;1;13;-1;-2;1;0;1;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;32;30000;0;8;9;1;1;13;-1;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;13;45;30000;0;8;9;1;1;13;-2;-2;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;9;30000;0;16;9;1;4;1;-1;-1;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;9;30000;0;16;9;1;4;1;-2;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;16;30000;0;15;9;1;2;1;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;16;22;30000;0;17;9;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;22;9;30000;0;16;9;1;8;1;1;1;0;0;0;1;0;2;0;0;0 @@ -387,7 +387,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;26;30000;0;8;9;1;1;25;0;-2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;28;30000;0;8;9;1;1;25;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;32;30000;0;8;9;1;1;25;-2;-2;1;1;0;1;1;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;25;45;30000;0;15;9;1;1;25;1;0;1;1;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;4;30000;0;28;9;1;1;26;-1;0;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;4;30000;0;28;9;1;1;26;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;5;30000;0;25;9;1;1;26;-1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;7;30000;0;18;9;1;1;26;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;26;9;30000;0;18;9;1;9;26;-1;1;0;0;0;1;0;2;0;0;0 @@ -457,7 +457,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;5;45;30000;0;8;13;1;1;13;-1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;4;30000;0;17;13;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;5;30000;0;16;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;7;30000;0;13;13;1;12;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;5;13;1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;9;30000;0;12;13;1;5;13;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;13;30000;0;9;13;1;6;1;-1;-1;1;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;25;30000;0;8;13;1;1;13;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;7;26;30000;0;8;13;1;1;13;-2;-2;1;0;1;1;1;0;2;0;0 @@ -493,7 +493,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;25;30000;0;8;13;1;1;14;-2;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;26;30000;0;9;13;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;32;30000;0;8;13;1;1;14;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;16;5;30000;0;20;13;1;9;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;4;30000;0;18;13;1;10;1;-2;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;4;30000;0;18;13;1;10;1;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;5;30000;0;19;13;1;10;1;0;-1;1;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;13;30000;0;9;13;1;9;1;1;-1;1;1;0;1;1;2;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;17;30000;0;8;13;1;1;1;-2;1;1;0;1;1;1;2;0;0;0 @@ -503,10 +503,10 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;13;13;1;10;24;-1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;24;30000;0;8;13;1;1;24;1;1;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;1;0;0;1;0;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;16;13;1;1;24;1;0;1;0;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;22;13;1;2;25;-2;1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;22;13;1;5;25;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;5;30000;0;22;13;1;3;25;0;-1;1;1;1;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;8;25;1;2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;2;25;-2;6;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;11;25;-1;6;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;13;30000;0;8;13;1;7;25;-2;-1;1;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;5;25;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;30;8;1;3;25;0;-2;0;0;0;1;0;2;2;0;1 @@ -648,7 +648,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;17;30000;0;8;17;1;1;1;-2;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;4;32;30000;0;8;17;1;1;1;-1;-2;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;4;30000;0;16;17;1;1;1;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;5;30000;0;16;17;1;4;1;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;13;30000;0;8;17;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;13;30000;0;10;17;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;17;30000;0;8;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;5;32;30000;0;8;17;1;1;1;-1;0;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;13;4;30000;0;20;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 @@ -688,7 +688,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;22;30000;0;17;22;1;1;1;-2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;22;32;32;30000;0;16;22;1;1;1;-1;-1;1;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;23;23;23;30000;0;15;23;1;1;1;-2;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;5;30000;0;17;8;1;21;1;-1;0;1;0;0;1;1;2;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;10;8;1;6;1;-1;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;18;8;1;4;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;16;30000;0;8;8;1;7;1;-1;4;1;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;24;30000;0;8;8;1;1;24;0;-2;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;26;30000;0;6;8;1;19;24;0;0;0;0;0;1;0;0;1;1;0 @@ -717,28 +717,28 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;32;30000;0;15;24;1;1;1;-1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;16;25;1;1;1;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;13;8;1;13;1;-1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;7;30000;0;9;8;1;24;25;-1;3;1;0;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;2;25;1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;12;25;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;9;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;8;8;1;11;25;1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;16;25;1;-1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;28;30000;0;8;8;1;1;25;1;1;0;1;0;1;1;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;28;30000;0;63;8;1;22;25;-2;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;32;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;45;30000;0;8;8;1;1;25;0;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;4;30000;0;16;25;1;1;1;-1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;5;30000;0;10;8;1;25;25;1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;8;8;1;23;25;-2;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;8;8;1;16;25;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;5;30000;0;10;8;1;8;25;-1;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;7;30000;0;10;8;1;12;25;-2;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;9;30000;0;8;8;1;5;25;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;13;30000;0;8;8;1;1;25;-2;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;25;30000;0;8;8;1;18;25;-2;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;26;30000;0;8;8;1;1;25;0;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;28;30000;0;8;8;1;1;25;-1;3;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;13;8;1;23;25;-1;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;17;8;1;9;25;-2;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;12;8;1;6;25;-2;-1;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;14;8;1;14;25;-2;0;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;11;8;1;10;25;1;3;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;12;8;1;21;25;-1;4;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;15;8;1;15;25;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;11;8;1;13;25;0;4;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;0;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;17;8;1;6;25;-1;3;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;17;8;1;22;25;1;3;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;25;30000;0;11;8;1;18;25;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;13;8;1;3;25;1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;13;8;1;20;25;-1;-2;0;0;0;1;0;2;1;0;0 @@ -748,18 +748,18 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;3;25;1;-2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;19;25;1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;7;30000;0;15;8;1;3;25;0;-1;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;9;30000;0;15;8;1;19;25;-2;3;0;0;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;15;8;1;17;25;0;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;13;30000;0;15;8;1;21;25;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;25;30000;0;7;8;1;1;25;0;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;26;30000;0;3;8;1;1;25;-1;4;1;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;28;30000;0;3;8;1;1;25;-2;0;1;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;32;30000;0;8;16;1;1;25;-1;2;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;45;30000;0;3;8;1;1;25;-1;0;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;4;30000;0;15;8;1;18;25;0;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;13;25;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;19;25;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;7;30000;0;15;8;1;14;25;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;9;30000;0;15;8;1;4;25;-2;1;0;1;1;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;16;25;1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;8;1;14;25;1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;18;25;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;8;1;13;25;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;25;30000;0;5;8;1;1;25;1;4;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;26;30000;0;16;8;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1;0;0;1;0;2;0;0;0 @@ -782,7 +782,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-2;-2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;19;26;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;22;26;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;7;26;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 @@ -814,7 +814,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;28;30000;0;8;25;1;1;32;-2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;32;30000;0;4;25;1;1;32;-1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;32;45;30000;0;8;25;1;1;32;-1;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;4;30000;0;22;8;1;10;45;-2;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;29;8;1;13;45;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;5;30000;0;60;8;1;15;45;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;7;30000;0;27;16;1;4;45;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;9;30000;0;17;25;1;9;45;0;1;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;45;13;30000;0;31;25;1;1;45;1;-1;0;0;0;1;0;0;0;0;1 @@ -833,21 +833,21 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;26;30000;0;8;8;1;9;26;-1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;28;30000;0;8;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;32;30000;0;13;8;1;4;26;0;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;4;45;30000;0;8;26;1;1;26;0;4;0;0;0;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;15;8;1;17;26;-2;3;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;4;30000;0;15;8;1;14;26;-2;3;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;5;30000;0;13;26;1;6;1;-1;-2;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;20;26;-2;4;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;7;30000;0;8;8;1;20;26;-2;3;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;9;30000;0;8;26;1;20;26;0;-1;0;0;0;1;1;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;13;30000;0;15;26;1;16;0;-1;0;0;0;1;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;16;30000;0;8;8;1;16;1;0;3;0;1;1;1;1;2;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;16;30000;0;8;8;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;24;30000;0;8;8;1;21;26;-1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;25;30000;0;8;8;1;23;26;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;26;30000;0;8;8;1;1;26;0;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;12;26;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;14;26;1;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;23;26;-2;3;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;10;26;1;-2;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;13;8;1;17;26;1;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;10;8;1;22;26;-2;-1;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;19;26;-1;-1;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;13;8;1;13;26;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;10;8;1;9;26;-2;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;1;26;1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;13;8;1;4;26;1;0;0;0;0;1;0;2;1;0;0 @@ -856,10 +856,10 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;28;30000;0;8;26;1;1;26;0;3;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;11;26;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;45;30000;0;8;16;1;1;26;-1;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;2;26;-1;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;15;8;1;5;26;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;15;8;1;10;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;7;30000;0;15;8;1;10;26;0;3;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;9;30000;0;15;8;1;19;26;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;16;26;1;11;26;-2;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;15;8;1;7;26;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;25;30000;0;11;16;1;5;26;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;26;30000;0;4;26;1;1;26;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;28;30000;0;13;8;1;26;26;1;2;0;0;0;1;0;2;1;0;0 @@ -869,28 +869,28 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;4;30000;0;15;8;1;25;26;-1;6;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;5;30000;0;20;26;1;5;1;-1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;7;30000;0;15;8;1;26;26;0;5;1;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;9;30000;0;15;8;1;26;26;1;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;15;8;1;17;26;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;14;30000;0;15;26;1;16;26;-1;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;13;30000;0;15;8;1;24;26;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;14;30000;0;15;8;1;12;26;0;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;24;30000;0;16;8;1;1;26;0;0;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;26;30000;0;15;8;1;1;26;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;28;30000;0;15;8;1;1;26;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;32;30000;0;15;8;1;1;26;-1;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;45;30000;0;5;8;1;1;26;1;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;16;26;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;5;26;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;14;30000;0;8;26;1;6;26;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;26;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;2;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;24;26;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;13;30000;0;17;26;1;1;26;0;-1;1;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;24;30000;0;8;8;1;19;1;1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;26;30000;0;15;26;1;1;1;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;32;30000;0;12;8;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;4;30000;0;30;8;1;6;26;0;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;30;8;1;26;26;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;30;8;1;17;26;0;3;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;30;8;1;13;26;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;30;8;1;2;26;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;15;26;1;16;26;1;2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;13;30000;0;15;26;1;1;26;0;-1;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;14;30000;0;15;16;1;6;26;0;-1;0;0;0;1;0;1;2;0;0 @@ -898,7 +898,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;25;30000;0;15;8;1;1;26;1;2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;26;30000;0;5;8;1;1;26;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;28;30000;0;15;16;1;25;26;0;1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;32;30000;0;3;8;1;1;26;1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;59;8;1;18;26;0;-1;0;0;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;45;30000;0;60;8;1;14;26;0;-2;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;4;30000;0;30;8;1;22;26;0;3;0;1;1;1;1;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;5;30000;0;30;8;1;6;26;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;7;30000;0;30;8;1;14;26;0;-1;0;0;0;1;0;1;2;0;0 @@ -913,7 +913,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;32;30000;0;15;26;1;1;1;-2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;26;45;30000;0;8;26;1;1;26;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;4;30000;0;30;8;1;3;28;-2;-1;1;0;0;1;1;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;5;30000;0;30;8;1;19;28;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;15;16;1;9;28;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;7;30000;0;30;16;1;14;28;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;9;30000;0;16;8;1;3;28;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;13;30000;0;15;26;1;1;28;-1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;25;30000;0;15;26;1;1;28;1;-2;0;0;0;1;0;0;0;0;1 @@ -923,7 +923,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;32;30000;0;15;26;1;1;28;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;28;45;30000;0;15;26;1;1;28;-2;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;4;30000;0;30;8;1;7;32;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;5;30000;0;30;8;1;9;32;-1;3;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;22;32;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;7;30000;0;30;8;1;26;32;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;9;30000;0;30;8;1;12;32;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;0;-1;0;0;0;1;0;2;2;0;0 @@ -934,7 +934,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;28;30000;0;4;8;1;1;32;-2;-2;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;4;30000;0;23;8;1;16;45;-1;5;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;23;26;1;11;45;1;4;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;5;30000;0;60;8;1;14;45;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;7;30000;0;27;16;1;18;45;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;9;30000;0;27;16;1;12;45;0;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1;0;0;0;1;0;2;0;0;0 @@ -953,19 +953,19 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;26;30000;0;14;8;1;21;28;-2;4;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;28;30000;0;8;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;32;30000;0;8;8;1;1;28;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;45;30000;0;17;8;1;7;28;1;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;14;8;1;12;28;-1;0;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;8;8;1;16;28;1;-1;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;1;28;-1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;16;28;-1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;4;30000;0;15;8;1;21;28;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;5;30000;0;10;8;1;25;28;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;7;30000;0;8;8;1;24;28;1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;9;30000;0;8;8;1;27;28;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;13;30000;0;8;8;1;1;28;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;25;30000;0;8;8;1;28;28;0;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;26;30000;0;17;8;1;11;28;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;28;30000;0;13;8;1;23;28;-1;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;32;30000;0;13;8;1;22;28;-2;4;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;5;45;30000;0;8;8;1;1;28;-1;1;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;14;8;1;20;28;-2;0;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;13;28;1;21;28;-2;4;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;15;28;-1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;4;30000;0;14;8;1;20;28;-2;-1;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;5;30000;0;13;8;1;28;28;-2;0;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;7;30000;0;10;8;1;13;28;-1;1;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;9;30000;0;8;28;1;5;28;-2;4;0;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;13;30000;0;8;28;1;8;28;1;-1;1;0;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;25;30000;0;13;8;1;13;28;1;4;0;0;0;1;0;2;1;0;0 @@ -974,7 +974,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;28;30000;0;17;8;1;28;28;1;4;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;32;30000;0;17;8;1;13;28;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;7;45;30000;0;17;8;1;26;28;-2;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;4;30000;0;15;8;1;2;28;-2;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;8;28;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;5;30000;0;15;8;1;2;28;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;7;30000;0;15;8;1;4;28;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;9;30000;0;9;28;1;23;28;-1;0;0;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;13;30000;0;9;28;1;4;28;1;-1;0;0;1;1;0;2;2;1;0 @@ -983,29 +983,29 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;26;30000;0;11;16;1;18;28;1;-2; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;28;30000;0;11;16;1;27;28;0;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;32;30000;0;17;16;1;18;28;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;9;45;30000;0;8;28;1;1;28;-2;2;0;1;1;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;8;1;7;28;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;4;30000;0;15;8;1;19;28;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;5;30000;0;15;8;1;11;28;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;7;30000;0;15;8;1;19;28;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;9;30000;0;15;8;1;7;28;1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;8;1;20;28;-2;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;13;30000;0;15;8;1;14;28;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;17;16;1;22;28;-2;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;17;16;1;19;28;0;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;15;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;15;8;1;1;28;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;4;8;1;5;28;-2;4;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;30;8;1;22;28;-1;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;14;28;0;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;30;16;1;19;28;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;21;28;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;30;8;1;5;28;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;9;30000;0;16;16;1;9;28;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;13;30000;0;12;28;1;7;28;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;25;30000;0;9;28;1;1;28;-1;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;30;8;1;1;28;-2;4;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;26;30000;0;30;8;1;1;28;1;4;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;28;30000;0;8;28;1;1;28;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;32;30000;0;10;8;1;1;28;-2;1;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;4;30000;0;30;8;1;10;28;0;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;14;28;-2;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;7;30000;0;30;8;1;23;28;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;5;30000;0;30;8;1;11;28;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;7;30000;0;30;8;1;24;28;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;9;30000;0;16;16;1;24;28;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;13;30000;0;20;28;1;12;28;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;25;30000;0;8;28;1;1;28;0;1;0;1;0;1;1;0;0;0;0 @@ -1014,18 +1014,18 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;28;30000;0;8;28;1;1;28;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;32;30000;0;8;28;1;1;28;-2;1;0;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;26;45;30000;0;15;28;1;1;28;1;1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;4;30000;0;30;8;1;21;28;-1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;31;8;1;16;28;1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;5;30000;0;31;8;1;10;28;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;7;30000;0;30;8;1;11;28;-1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;9;30000;0;15;8;1;27;28;1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;13;30000;0;20;28;1;10;28;1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;14;30000;0;15;28;1;1;28;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;25;30000;0;16;28;1;1;28;-1;1;0;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;26;30000;0;16;28;1;1;28;-2;-1;1;1;1;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;28;30000;0;15;16;1;25;1;1;0;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;28;30000;0;60;16;1;4;1;0;4;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;32;30000;0;9;28;1;1;28;-2;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;28;45;30000;0;8;28;1;1;28;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;4;30000;0;30;8;1;18;32;0;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;41;8;1;15;32;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;5;30000;0;30;8;1;16;32;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;7;30000;0;30;8;1;8;32;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;9;30000;0;18;28;1;8;32;0;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;13;30000;0;17;28;1;1;32;0;1;0;0;1;1;0;2;0;0;1 @@ -1035,7 +1035,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;28;30000;0;8;28;1;1;32;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;32;30000;0;8;28;1;1;32;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;32;45;30000;0;8;28;1;1;32;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;4;30000;0;24;8;1;25;45;1;4;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;5;30000;0;25;28;1;5;45;1;6;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;5;30000;0;61;8;1;17;45;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;7;30000;0;28;8;1;12;45;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;9;30000;0;27;8;1;6;45;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;13;30000;0;15;28;1;6;45;0;-1;0;0;0;1;0;2;2;0;0 @@ -1045,10 +1045,10 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;0;4;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;32;30000;0;15;28;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;4;8;1;26;45;-1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;15;16;1;11;29;0;4;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;15;16;1;12;29;0;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;15;8;1;17;29;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;8;1;1;29;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;32;30000;0;15;8;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;15;8;1;27;29;-1;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;14;30000;0;15;8;1;26;29;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;16;30000;0;15;8;1;8;29;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;29;30000;0;15;8;1;1;29;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;16;55;30000;0;8;16;1;1;29;0;-2;0;0;0;1;0;2;0;0;0 @@ -1136,37 +1136,37 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;4;30000;0;30;8;1;21;1;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;5;30000;0;29;8;1;31;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;13;30000;0;27;8;1;23;1;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;17;30000;0;15;32;1;1;1;-1;1;1;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;7;8;1;1;1;0;0;0;0;0;1;0;1;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;17;32;30000;0;7;8;1;1;1;-2;4;0;0;0;1;0;2;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;9;30000;0;27;8;1;8;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;22;30000;0;12;8;1;1;1;1;4;1;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;9;8;1;1;1;1;0;0;0;0;1;0;1;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;22;32;30000;0;9;8;1;1;1;-1;-1;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;5;30000;0;39;8;1;1;32;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;13;30000;0;28;8;1;14;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;24;30000;0;12;8;1;1;32;-2;-2;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;26;30000;0;12;8;1;1;32;-1;5;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;9;8;1;1;1;1;0;0;0;0;1;0;2;1;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;24;32;30000;0;8;8;1;1;1;1;0;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;4;30000;0;42;8;1;7;32;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;5;30000;0;30;8;1;21;32;0;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;7;30000;0;30;32;1;24;32;1;4;0;1;0;1;1;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;7;30000;0;15;8;1;16;32;0;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;9;30000;0;15;16;1;9;32;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;13;30000;0;30;32;1;12;32;-2;4;0;1;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;12;32;-1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;14;30000;0;30;8;1;3;32;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;25;30000;0;15;32;1;1;32;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;26;30000;0;15;32;1;1;32;1;1;1;1;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;28;30000;0;6;16;1;1;32;-1;4;1;0;1;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;32;30000;0;60;8;1;1;32;0;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;32;30000;0;60;8;1;1;32;0;-2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;25;45;30000;0;10;8;1;1;32;-2;4;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;4;30000;0;30;32;1;25;32;1;4;1;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;5;30000;0;31;32;1;24;32;1;4;1;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;7;30000;0;30;32;1;11;32;1;4;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;9;30000;0;15;16;1;22;32;-2;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;13;30000;0;30;8;1;8;32;-2;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;30;32;1;26;32;-2;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;14;30000;0;30;8;1;22;32;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;24;30000;0;10;8;1;1;1;0;0;1;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;25;30000;0;10;32;1;1;32;-1;4;1;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;26;30000;0;59;8;1;22;1;0;4;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;28;30000;0;30;16;1;1;32;0;-2;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;60;8;1;1;1;0;1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;32;30000;0;59;8;1;1;1;0;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;26;45;30000;0;59;8;1;1;32;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;4;30000;0;42;8;1;28;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;5;30000;0;42;8;1;7;32;-2;4;0;0;0;1;0;2;2;0;0 @@ -1180,14 +1180,14 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;32;30000;0;13;8;1;1;32;0;-1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;28;45;30000;0;20;8;1;1;32;-1;3;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;14;30000;0;30;16;1;20;32;0;1;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;29;30000;0;30;16;1;1;32;1;-2;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;32;30000;0;20;8;1;1;32;-2;0;1;1;0;1;0;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;32;30000;0;59;8;1;1;32;0;-1;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;29;55;30000;0;59;8;1;1;32;-1;4;0;1;1;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;4;30000;0;41;8;1;1;1;-2;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;5;30000;0;30;8;1;13;1;1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;7;30000;0;30;8;1;14;32;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;9;30000;0;30;8;1;8;1;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;13;30000;0;30;8;1;17;1;1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;20;32;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;10;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;17;30000;0;11;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;22;30000;0;8;32;1;1;1;1;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;24;30000;0;8;32;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 From ca23bcb770c5d2347d8efd07d8246d86fe9fd783 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 11 Jul 2024 15:27:08 +0200 Subject: [PATCH 61/74] ocl: re-arranged some internal flags --- src/acc/opencl/acc_opencl.c | 78 +++++++++++++++--------------- src/acc/opencl/acc_opencl_stream.c | 2 +- src/acc/opencl/smm/opencl_libsmm.c | 4 +- 3 files changed, 41 insertions(+), 43 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index 789b2a091e9..aa412852bcf 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -15,7 +15,7 @@ # include # include # else -# if !defined(ACC_OPENCL_DL) && !defined(NDEBUG) +# if !defined(ACC_OPENCL_DL) # define ACC_OPENCL_DL # endif # include @@ -270,11 +270,11 @@ int c_dbcsr_acc_init(void) { : c_dbcsr_acc_opencl_config.lock_main); c_dbcsr_acc_opencl_config.verbosity = (NULL == env_verbose ? 0 : atoi(env_verbose)); c_dbcsr_acc_opencl_config.priority = (NULL == env_priority ? /*default*/ 3 : atoi(env_priority)); - c_dbcsr_acc_opencl_config.xhints = (NULL == env_xhints ? /*default*/ 7 : atoi(env_xhints)); + c_dbcsr_acc_opencl_config.xhints = (NULL == env_xhints ? (1 + 2) : atoi(env_xhints)); c_dbcsr_acc_opencl_config.async = (NULL == env_async ? async_default : atoi(env_async)); c_dbcsr_acc_opencl_config.dump = (NULL == env_dump ? /*default*/ 0 : atoi(env_dump)); c_dbcsr_acc_opencl_config.debug = (NULL == env_debug ? c_dbcsr_acc_opencl_config.dump : atoi(env_debug)); - c_dbcsr_acc_opencl_config.wa = neo * (NULL == env_wa ? 31 : atoi(env_wa)); + c_dbcsr_acc_opencl_config.wa = neo * (NULL == env_wa ? ((8 + 16) + (32 + 64)) : atoi(env_wa)); assert(EXIT_SUCCESS == result); if (EXIT_SUCCESS != c_dbcsr_acc_opencl_device_uid(NULL /*device*/, env_devmatch, &c_dbcsr_acc_opencl_config.devmatch)) { c_dbcsr_acc_opencl_config.devmatch = 1; @@ -286,41 +286,6 @@ int c_dbcsr_acc_init(void) { { c_dbcsr_acc_opencl_config.timer = c_dbcsr_acc_opencl_timer_host; } - if (NULL == getenv("ZE_FLAT_DEVICE_HIERARCHY") && 0 != (1 & c_dbcsr_acc_opencl_config.xhints)) { - static char ze_flat[] = "ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE"; - /* environment is populated before touching the compute runtime */ - ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(ze_flat)); /* soft-error */ - } - assert(EXIT_SUCCESS == result); -# if defined(ACC_OPENCL_NCCS) - if (NULL == getenv("ZEX_NUMBER_OF_CCS") && 0 != nccs && 0 == (1 & c_dbcsr_acc_opencl_config.wa)) { - static char zex_nccs[ACC_OPENCL_MAXNDEVS * 8 + 32] = "ZEX_NUMBER_OF_CCS="; - int j = strlen(zex_nccs); - for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { - const char* const istr = (0 < i ? ",%u:%i" : "%u:%i"); - const int n = LIBXSMM_SNPRINTF(zex_nccs + j, sizeof(zex_nccs) - j, istr, i, LIBXSMM_CLMP(nccs, 1, 4)); - if (0 < n) j += n; - else { - j = 0; - break; - } - } - /* environment is populated before touching the compute runtime */ - if (0 < j) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(zex_nccs)); /* soft-error */ - } -# endif - assert(EXIT_SUCCESS == result); - if (~1 & c_dbcsr_acc_opencl_config.wa) { /* environment is populated before touching the compute runtime */ - static char* key_value[] = { - "NEOReadDebugKeys=1", "EnableRecoverablePageFaults=0", "DirectSubmissionOverrideBlitterSupport=0"}; - if (NULL == env_neo) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[0])); - if ((2 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("EnableRecoverablePageFaults")) { - ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[1])); - } - if ((4 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("DirectSubmissionOverrideBlitterSupport")) { - ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[2])); - } - } assert(EXIT_SUCCESS == result); # if defined(ACC_OPENCL_CACHE_DIR) { /* environment is populated before touching the compute runtime */ @@ -364,10 +329,28 @@ int c_dbcsr_acc_init(void) { # endif } } + assert(EXIT_SUCCESS == result); # endif +# if defined(ACC_OPENCL_NCCS) + if ((1 & c_dbcsr_acc_opencl_config.wa) && 0 != nccs && NULL == getenv("ZEX_NUMBER_OF_CCS")) { + static char zex_nccs[ACC_OPENCL_MAXNDEVS * 8 + 32] = "ZEX_NUMBER_OF_CCS="; + int j = strlen(zex_nccs); + for (i = 0; i < ACC_OPENCL_MAXNDEVS; ++i) { + const char* const istr = (0 < i ? ",%u:%i" : "%u:%i"); + const int n = LIBXSMM_SNPRINTF(zex_nccs + j, sizeof(zex_nccs) - j, istr, i, LIBXSMM_CLMP(nccs, 1, 4)); + if (0 < n) j += n; + else { + j = 0; + break; + } + } + /* environment is populated before touching the compute runtime */ + if (0 < j) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(zex_nccs)); /* soft-error */ + } assert(EXIT_SUCCESS == result); +# endif # if defined(ACC_OPENCL_DL) - { /* initialize L0 to allow, e.g., I_MPI_OFFLOAD */ + if (2 & c_dbcsr_acc_opencl_config.wa) { /* initialize L0 */ union { const void* dlsym; int (*ptr)(int flags); @@ -384,7 +367,22 @@ int c_dbcsr_acc_init(void) { } } } + assert(EXIT_SUCCESS == result); # endif + if (~(1 + 2) & c_dbcsr_acc_opencl_config.wa) { /* environment is populated before touching the compute runtime */ + static char* key_value[] = {"NEOReadDebugKeys=1", "ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE", "EnableRecoverablePageFaults=0", + "DirectSubmissionOverrideBlitterSupport=0"}; + if (NULL == env_neo) ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[0])); + if ((4 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("ZE_FLAT_DEVICE_HIERARCHY")) { + ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[1])); + } + if ((8 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("EnableRecoverablePageFaults")) { + ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[2])); + } + if ((16 & c_dbcsr_acc_opencl_config.wa) && NULL == getenv("DirectSubmissionOverrideBlitterSupport")) { + ACC_OPENCL_EXPECT(0 == LIBXSMM_PUTENV(key_value[3])); + } + } assert(EXIT_SUCCESS == result); if (EXIT_SUCCESS == clGetPlatformIDs(0, NULL, &nplatforms) && 0 < nplatforms) { ACC_OPENCL_CHECK(clGetPlatformIDs(nplatforms <= ACC_OPENCL_MAXNDEVS ? nplatforms : ACC_OPENCL_MAXNDEVS, platforms, 0), @@ -1111,7 +1109,7 @@ int c_dbcsr_acc_opencl_set_active_device(ACC_OPENCL_LOCKTYPE* lock, int device_i c_dbcsr_acc_opencl_config.device.wgsize[2] = 0; } # if defined(ACC_OPENCL_MEM_DEVPTR) - if (0 != (4 & c_dbcsr_acc_opencl_config.xhints) && 2 <= *c_dbcsr_acc_opencl_config.device.std_level && + if (0 != (1 & c_dbcsr_acc_opencl_config.xhints) && 2 <= *c_dbcsr_acc_opencl_config.device.std_level && 0 != c_dbcsr_acc_opencl_config.device.intel && 0 == c_dbcsr_acc_opencl_config.device.unified && EXIT_SUCCESS == clGetDeviceInfo(active_id, CL_DEVICE_PLATFORM, sizeof(cl_platform_id), &platform, NULL) && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_vendor(active_id, "intel", 2 /*platform vendor*/) && diff --git a/src/acc/opencl/acc_opencl_stream.c b/src/acc/opencl/acc_opencl_stream.c index adb414a3a66..41297015ba8 100644 --- a/src/acc/opencl/acc_opencl_stream.c +++ b/src/acc/opencl/acc_opencl_stream.c @@ -117,7 +117,7 @@ int c_dbcsr_acc_stream_create(void** stream_p, const char* name, int priority) { if (NULL != c_dbcsr_acc_opencl_config.device.context) # endif { - if (0 != (2 & c_dbcsr_acc_opencl_config.xhints) && 0 != c_dbcsr_acc_opencl_config.device.intel) { /* enable queue families */ + if ((2 & c_dbcsr_acc_opencl_config.xhints) && 0 != c_dbcsr_acc_opencl_config.device.intel) { /* enable queue families */ struct { cl_command_queue_properties properties; cl_bitfield capabilities; diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 58334d1fbff..82141de768b 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -1120,7 +1120,7 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, 0, 1); new_config.al = LIBXSMM_CLMP(/* bug: AL=1 */ (NULL == env_al || '\0' == *env_al) - ? (0 == (8 & c_dbcsr_acc_opencl_config.wa) ? (0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0) : 0) + ? (0 == (32 & c_dbcsr_acc_opencl_config.wa) ? (0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0) : 0) : atoi(env_al), 0, 1); new_config.tb = LIBXSMM_CLMP((NULL == env_tb || '\0' == *env_tb) @@ -1138,7 +1138,7 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, new_config.aa = LIBXSMM_CLMP(/* bug: AA=2 XF=1 */ (NULL == env_aa || '\0' == *env_aa) ? (0 == kernel_idx ? (NULL == config ? default_aa : config->aa) : default_aa) : atoi(env_aa), - 0, (0 == (16 & c_dbcsr_acc_opencl_config.wa) || 0 == new_config.flags) ? 2 : 1); + 0, (0 == (64 & c_dbcsr_acc_opencl_config.wa) || 0 == new_config.flags) ? 2 : 1); new_config.ab = LIBXSMM_CLMP((NULL == env_ab || '\0' == *env_ab) ? (0 == kernel_idx ? (NULL == config ? default_ab : config->ab) : default_ab) : atoi(env_ab), From bdfe06439d86f78dafb97bf4480c31052b102c67 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 17:50:58 +0000 Subject: [PATCH 62/74] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.5.1 → v0.5.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.1...v0.5.2) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a4a32a929fc..4a50fdd8564 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.5.1' + rev: 'v0.5.2' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From bde643aad53ce36f91d099799d7156eeaffce63f Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Tue, 16 Jul 2024 16:20:43 +0200 Subject: [PATCH 63/74] ocl: improved debug and script for tuning kernel parameters * Introduced re-validating parameters and an entire JSON-file collection. * Allow to select kernel to rely on default/built-in parameters. * Disable USM in case of OPENCL_LIBSMM_VALIDATE. --- src/acc/opencl/smm/opencl_libsmm.c | 168 ++++++++++++++-------------- src/acc/opencl/smm/opencl_libsmm.h | 4 +- src/acc/opencl/smm/tune_multiply.py | 150 +++++++++++++++---------- 3 files changed, 174 insertions(+), 148 deletions(-) diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 82141de768b..814c80ce21d 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -198,14 +198,16 @@ int opencl_libsmm_write_smm_params(FILE* stream, int only_key, const opencl_libs } -int opencl_libsmm_read_smm_params( - char* parambuf, opencl_libsmm_smmkey_t* key, opencl_libsmm_smm_t* value, opencl_libsmm_perfest_t* perfest, char* device) { +int opencl_libsmm_read_smm_params(char* parambuf, opencl_libsmm_smmkey_t* key, opencl_libsmm_smm_t* value, + opencl_libsmm_perfest_t* perfest, char* device, int* key_ok) { const char* const end = parambuf + strlen(parambuf); /* before strtok */ char* s = strtok(parambuf, ACC_OPENCL_DELIMS); const int opt_consumed = (NULL != perfest ? 2 : 0) + (NULL != device ? 1 : 0); int result = EXIT_SUCCESS, i = 0, ivalue, consumed = 0, c = 0, max_consumed = opt_consumed + 19; double gflops; assert(NULL != key && NULL != value); + LIBXSMM_MEMZERO127(key); /* potentially heterogeneous key-data (alignment gaps) */ + memset(value, 0, sizeof(opencl_libsmm_smm_t)); for (; NULL != s; ++i, s = (c != consumed ? ((s + 1) < end ? strtok((s + 1) + strlen(s), ACC_OPENCL_DELIMS) : NULL) : s), c = consumed) { @@ -352,9 +354,9 @@ int opencl_libsmm_read_smm_params( } } if (max_consumed == consumed) { - if (NULL != perfest) { - switch (key->type) { - case dbcsr_type_real_8: { + switch (key->type) { + case dbcsr_type_real_8: + if (NULL != perfest) { const double ratio = gflops / OPENCL_LIBSMM_AI(key->m, key->n, key->k, sizeof(double)); # if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER libxsmm_kahan_sum(log(ratio), &perfest->gf_ai_dratio_sumlog, &perfest->gf_ai_dratio_kahan); @@ -363,8 +365,10 @@ int opencl_libsmm_read_smm_params( # endif if (perfest->gf_ai_dratio_max < ratio) perfest->gf_ai_dratio_max = ratio; ++perfest->dcount; - } break; - case dbcsr_type_real_4: { + } + break; + case dbcsr_type_real_4: + if (NULL != perfest) { const double ratio = gflops / OPENCL_LIBSMM_AI(key->m, key->n, key->k, sizeof(float)); # if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER libxsmm_kahan_sum(log(ratio), &perfest->gf_ai_sratio_sumlog, &perfest->gf_ai_sratio_kahan); @@ -373,12 +377,13 @@ int opencl_libsmm_read_smm_params( # endif if (perfest->gf_ai_sratio_max < ratio) perfest->gf_ai_sratio_max = ratio; ++perfest->scount; - } break; - default: result = EXIT_FAILURE; - } + } + break; + default: result = EXIT_FAILURE; } } else result = EXIT_FAILURE; + if (NULL != key_ok && 4 <= consumed) *key_ok = 1; return result; } @@ -406,14 +411,13 @@ int libsmm_acc_init(void) { char* const env_params = getenv("OPENCL_LIBSMM_SMM_PARAMS"); memset(&perfest, 0, sizeof(perfest)); if (NULL == env_params || '0' != *env_params) { - char buffer[ACC_OPENCL_BUFFERSIZE], bufname[ACC_OPENCL_BUFFERSIZE], control = '0'; + char buffer[ACC_OPENCL_BUFFERSIZE], bufname[ACC_OPENCL_BUFFERSIZE]; # if defined(OPENCL_KERNELS_DEVICES) const int ndevices_params = (int)(sizeof(OPENCL_KERNELS_DEVICES) / sizeof(*OPENCL_KERNELS_DEVICES)); - unsigned int ntuned = 0; # endif opencl_libsmm_smm_t config; - opencl_libsmm_smmkey_t key; - LIBXSMM_MEMZERO127(&key); /* potentially heterogeneous key-data (alignment gaps) */ + opencl_libsmm_smmkey_t key, key_direct; + int key_direct_skip = 0, ntuned = 0; if (NULL != env_params && '\0' != *env_params) { /* filename */ FILE* const file = fopen(env_params, "r"); if (NULL != file) { @@ -422,8 +426,7 @@ int libsmm_acc_init(void) { char* const device = (NULL != LIBXSMM_STRISTR(buffer, "device") ? bufname : NULL); opencl_libsmm_perfest_t* const gflops = (NULL != LIBXSMM_STRISTR(buffer, "gflops") ? &perfest : NULL); while (NULL != fgets(buffer, ACC_OPENCL_BUFFERSIZE, file)) { /* read params from CSV-file */ - memset(&config, 0, sizeof(config)); - if (EXIT_SUCCESS == opencl_libsmm_read_smm_params(buffer, &key, &config, gflops, device)) { + if (EXIT_SUCCESS == opencl_libsmm_read_smm_params(buffer, &key, &config, gflops, device, NULL /*key_ok*/)) { opencl_libsmm_smm_t* config_init; c_dbcsr_acc_opencl_config.devmatch = 0; /* disable device-match */ key.devuid = 0; @@ -433,9 +436,7 @@ int libsmm_acc_init(void) { result = EXIT_FAILURE; break; } -# if defined(OPENCL_KERNELS_DEVICES) else ++ntuned; -# endif } else if (config_init->gflops < config.gflops) { /* update */ memcpy(config_init, &config, sizeof(config)); @@ -453,20 +454,29 @@ int libsmm_acc_init(void) { result = EXIT_FAILURE; } fclose(file); - control = '1'; } - else control = '2'; + else if (EXIT_SUCCESS == opencl_libsmm_read_smm_params( + env_params, &key_direct, &config, NULL /*perfest*/, NULL /*device*/, &key_direct_skip)) + { /* try OPENCL_LIBSMM_SMM_PARAMS as string of kernel parameters (not device-specific) */ + assert(0 == key_direct.devuid && 0 != key_direct_skip); + if (NULL != libxsmm_xregister(&key_direct, sizeof(key_direct), sizeof(config), &config)) { + c_dbcsr_acc_opencl_config.devmatch = 0; /* disable device-match */ + ntuned = 1; + } + else result = EXIT_FAILURE; + } + else if (0 == key_direct_skip && 0 != c_dbcsr_acc_opencl_config.verbosity) { /* soft-error */ + fprintf(stderr, "WARN LIBSMM: failed to open parameter file!\n"); + } } # if defined(OPENCL_KERNELS_PARAMS_SMM) && defined(OPENCL_KERNELS_DEVICES) - if (EXIT_SUCCESS == result && '1' != control) { + if (EXIT_SUCCESS == result && (0 == ntuned || 0 != key_direct_skip)) { const char *line = OPENCL_KERNELS_PARAMS_SMM, *next; # if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER - unsigned int active_uid; int active_match = -1; if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(c_dbcsr_acc_opencl_config.device.id, bufname, ACC_OPENCL_BUFFERSIZE, - NULL /*platform*/, 0 /*platform_maxlen*/, /*cleanup*/ 1) && - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_uid(c_dbcsr_acc_opencl_config.device.id, bufname, &active_uid)) - { + NULL /*platform*/, 0 /*platform_maxlen*/, /*cleanup*/ 1)) + { /* determine best-matching parameters based on name of device */ int i = 0, best = 0; for (; i < ndevices_params; ++i) { const int score = libxsmm_strimatch(bufname, OPENCL_KERNELS_DEVICES[i], NULL); @@ -474,7 +484,7 @@ int libsmm_acc_init(void) { if (best < score || ((best == score) && EXIT_SUCCESS == c_dbcsr_acc_opencl_device_uid(NULL /*device*/, OPENCL_KERNELS_DEVICES[i], &uid) && - uid == active_uid)) + uid == c_dbcsr_acc_opencl_config.device.uid)) { active_match = i; best = score; @@ -488,44 +498,45 @@ int libsmm_acc_init(void) { const int len = next - line; memcpy(buffer, line, len); buffer[len] = '\0'; - memset(&config, 0, sizeof(config)); if (EXIT_SUCCESS == opencl_libsmm_read_smm_params(/* read params from embedded params */ - buffer, &key, &config, &perfest, bufname /*consume name/id*/)) + buffer, &key, &config, &perfest, bufname /*consume name/id*/, NULL /*key_ok*/)) { - opencl_libsmm_smm_t* config_init; - const int i = atoi(bufname); - if (0 >= ndevices_params || 0 == c_dbcsr_acc_opencl_config.devmatch || 0 > i || ndevices_params <= i || - EXIT_SUCCESS != c_dbcsr_acc_opencl_device_uid(NULL /*device*/, OPENCL_KERNELS_DEVICES[i], &key.devuid)) - { - key.devuid = 0; - } - config_init = (opencl_libsmm_smm_t*)libxsmm_xdispatch(&key, sizeof(key)); - if (NULL == config_init) { - if (NULL == libxsmm_xregister(&key, sizeof(key), sizeof(config), &config)) { - result = EXIT_FAILURE; - break; + if (0 == key_direct_skip || 0 != memcmp(&key_direct, &key, (const char*)&key.k - (const char*)&key)) { + opencl_libsmm_smm_t* config_init; + const int i = atoi(bufname); + if (0 >= ndevices_params || 0 == c_dbcsr_acc_opencl_config.devmatch || 0 > i || ndevices_params <= i || + EXIT_SUCCESS != c_dbcsr_acc_opencl_device_uid(NULL /*device*/, OPENCL_KERNELS_DEVICES[i], &key.devuid)) + { + key.devuid = 0; } - else ++ntuned; - } - else if (config_init->gflops < config.gflops) { /* update */ - memcpy(config_init, &config, sizeof(config)); - } -# if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER - if (active_match == i && active_uid != key.devuid) { - key.devuid = active_uid; config_init = (opencl_libsmm_smm_t*)libxsmm_xdispatch(&key, sizeof(key)); - if (NULL == config_init && NULL != libxsmm_xregister(&key, sizeof(key), sizeof(config), &config)) { - static int info = 0; - if (0 == info && 0 != c_dbcsr_acc_opencl_config.verbosity && - EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(c_dbcsr_acc_opencl_config.device.id, bufname, - ACC_OPENCL_BUFFERSIZE, NULL /*platform*/, 0 /*platform_maxlen*/, /*cleanup*/ 0)) - { - fprintf(stderr, "INFO ACC/LIBSMM: PARAMS of \"%s\" used for \"%s\"\n", OPENCL_KERNELS_DEVICES[i], bufname); - info = 1; + if (NULL == config_init) { + if (NULL == libxsmm_xregister(&key, sizeof(key), sizeof(config), &config)) { + result = EXIT_FAILURE; + break; + } + else ++ntuned; + } + else if (config_init->gflops < config.gflops) { /* update */ + memcpy(config_init, &config, sizeof(config)); + } +# if LIBXSMM_VERSION4(1, 17, 0, 0) < LIBXSMM_VERSION_NUMBER + if (active_match == i && c_dbcsr_acc_opencl_config.device.uid != key.devuid) { + key.devuid = c_dbcsr_acc_opencl_config.device.uid; + config_init = (opencl_libsmm_smm_t*)libxsmm_xdispatch(&key, sizeof(key)); + if (NULL == config_init && NULL != libxsmm_xregister(&key, sizeof(key), sizeof(config), &config)) { + static int info = 0; + if (0 == info && 0 != c_dbcsr_acc_opencl_config.verbosity && + EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(c_dbcsr_acc_opencl_config.device.id, bufname, + ACC_OPENCL_BUFFERSIZE, NULL /*platform*/, 0 /*platform_maxlen*/, /*cleanup*/ 0)) + { + fprintf(stderr, "INFO ACC/LIBSMM: PARAMS of \"%s\" used for \"%s\"\n", OPENCL_KERNELS_DEVICES[i], bufname); + info = 1; + } } } - } # endif + } } else { if (0 != c_dbcsr_acc_opencl_config.verbosity) { @@ -538,40 +549,27 @@ int libsmm_acc_init(void) { } while (NULL != next); } # endif - if (EXIT_SUCCESS == result) { - if ('2' == control) { /* try interpreting OPENCL_LIBSMM_SMM_PARAMS as kernel parameters (not device-specific) */ - memset(&config, 0, sizeof(config)); - if (EXIT_SUCCESS == opencl_libsmm_read_smm_params(env_params, &key, &config, NULL /*perfest*/, NULL /*device*/)) { - key.devuid = 0; - if (NULL != libxsmm_xregister(&key, sizeof(key), sizeof(config), &config)) { - c_dbcsr_acc_opencl_config.devmatch = 0; /* disable device-match */ -# if defined(OPENCL_KERNELS_DEVICES) - ntuned = LIBXSMM_MAX(ntuned, 1); /* no destinction of overridden or new */ -# endif - } - else result = EXIT_FAILURE; - } - else if (0 != c_dbcsr_acc_opencl_config.verbosity) { /* soft-error */ - fprintf(stderr, "WARN LIBSMM: failed to open parameter file!\n"); - } - } # if defined(OPENCL_KERNELS_DEVICES) - if (0 != ntuned && (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity)) { - fprintf(stderr, "INFO ACC/LIBSMM: PARAMS in %u set%s loaded targeting ", ntuned, 1 != ntuned ? "s" : ""); - if (0 != c_dbcsr_acc_opencl_config.devmatch) { - fprintf(stderr, "%i device%s\n", ndevices_params, 1 != ndevices_params ? "s" : ""); - if (3 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { - unsigned int i = 0; - for (; i < (unsigned int)ndevices_params; ++i) { - fprintf(stderr, "INFO ACC/LIBSMM: PARAMS -> \"%s\"\n", OPENCL_KERNELS_DEVICES[i]); - } + if (EXIT_SUCCESS == result && 0 != ntuned && + (2 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity)) + { + fprintf(stderr, "INFO ACC/LIBSMM: PARAMS in %i set%s loaded targeting ", ntuned, 1 != ntuned ? "s" : ""); + if (0 != c_dbcsr_acc_opencl_config.devmatch) { + fprintf(stderr, "%i device%s\n", ndevices_params, 1 != ndevices_params ? "s" : ""); + if (3 <= c_dbcsr_acc_opencl_config.verbosity || 0 > c_dbcsr_acc_opencl_config.verbosity) { + unsigned int i = 0; + for (; i < (unsigned int)ndevices_params; ++i) { + fprintf(stderr, "INFO ACC/LIBSMM: PARAMS -> \"%s\"\n", OPENCL_KERNELS_DEVICES[i]); } } - else fprintf(stderr, "any device\n"); } -# endif + else fprintf(stderr, "any device\n"); } +# endif } +# if defined(OPENCL_LIBSMM_VALIDATE) + c_dbcsr_acc_opencl_config.xhints &= ~1; /* disable USM */ +# endif } } ACC_OPENCL_RETURN(result); diff --git a/src/acc/opencl/smm/opencl_libsmm.h b/src/acc/opencl/smm/opencl_libsmm.h index 8e03b2e4565..0195da0a001 100644 --- a/src/acc/opencl/smm/opencl_libsmm.h +++ b/src/acc/opencl/smm/opencl_libsmm.h @@ -99,8 +99,8 @@ int opencl_libsmm_write_smm_params(FILE* stream, int only_key, const opencl_libs const char* delim, const char* begin, const char* close); /** Tokenize parambuf and initialize key/value pair. */ -int opencl_libsmm_read_smm_params( - char* parambuf, opencl_libsmm_smmkey_t* key, opencl_libsmm_smm_t* value, opencl_libsmm_perfest_t* perfest, char* device); +int opencl_libsmm_read_smm_params(char* parambuf, opencl_libsmm_smmkey_t* key, opencl_libsmm_smm_t* value, + opencl_libsmm_perfest_t* perfest, char* device, int* key_ok); #if defined(OPENCL_LIBSMM_VALIDATE) && defined(_DEBUG) void opencl_libsmm_print_matrix(FILE* ostream, const char* label, libsmm_acc_data_t type, const void* mat, int m, int n); diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index a2b81bc6486..0329dbb02bf 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -76,9 +76,13 @@ def __init__(self, args): self.exepath = os.path.join( os.path.dirname(sys.argv[0]), "..", "..", self.exename ) + runcmd = self.launch(["ACC_OPENCL_VERBOSE=2"], 0, nrep=1) self.run_result = ( # verbosity to capture device name and tuned parameters - self.call_program(self.launch(["ACC_OPENCL_VERBOSE=2", "CHECK=0"], nrep=1)) - if (self.args.merge is None or 0 > self.args.merge) + self.call_program(" ".join(runcmd)) + if ( # consider validating parameters during merge + (self.args.merge is None or 0 > self.args.merge) + or (self.args.check is None or 0 != self.args.check) + ) and (self.args.update is None or "" == self.args.update) else None ) @@ -153,10 +157,13 @@ def __init__(self, args): for param in params + paramt: manipulator.add_parameter(param) if ( # consider to update and/or merge JSONS (update first) - (self.args.merge is not None and (0 <= self.args.merge or self.typeid)) - or self.args.update is None - or "" != self.args.update - ): + self.args.merge is not None + and (0 <= self.args.merge or self.typeid) + and ( + (self.args.check is not None and 0 == self.args.check) + or (self.run_result and 0 == self.run_result["returncode"]) + ) + ) or (self.args.update is None or "" != self.args.update): filepattern = "{}-*.json".format(default_basename) filenames = glob.glob( os.path.normpath(os.path.join(self.args.jsondir, filepattern)) @@ -235,21 +242,26 @@ def create_param( if attribute is None: setattr(self, name.lower(), value) - def launch(self, envs, nrep=None, verbose=None): + def launch(self, envs, check, nrep=None, verbose=None): """Launch executable supplying environment and arguments""" - envstrs = " ".join(map(str, envs)) + envlist = envs if isinstance(envs, list) else self.environment(envs) + mnk = (envs["M"], envs["N"], envs["K"]) if "M" in envs else self.mnk + env_exe = " ".join(map(str, envlist)) if verbose is not None and 0 != int(verbose): - print(envstrs.replace("OPENCL_LIBSMM_SMM_", "").replace(" CHECK=0", "")) - env_defaults = "OMP_PROC_BIND=TRUE OPENCL_LIBSMM_SMM_S=0 NEO_CACHE_PERSISTENT=0" - env_exe_args = "{} {} {} {} {} {}".format( # consider device-id + msg = env_exe.replace("OPENCL_LIBSMM_SMM_", "") + print("{}: {}".format("x".join(map(str, mnk)), msg)) + env_std = "OMP_PROC_BIND=TRUE OPENCL_LIBSMM_SMM_S=0 NEO_CACHE_PERSISTENT=0" + env_check = "CHECK={}".format(check if check is not None else 1) + env_intrn = "{} {}".format( # consider device-id "" if self.idevice is None else "ACC_OPENCL_DEVICE={}".format(self.idevice), - "{} {}".format(env_defaults, envstrs), # environment - self.exepath, # executable file + "{} {}".format(env_std, env_check), # environment + ).strip() + arg_exe = "{} {} {}".format( self.args.r if nrep is None else nrep, self.size if self.size else self.args.size, - " ".join(map(str, self.mnk)), - ) - return env_exe_args + " ".join(map(str, mnk)), + ).strip() + return [env_exe, env_intrn, self.exepath, arg_exe] def seed_configurations(self): return [ @@ -286,15 +298,19 @@ def environment(self, config): if 2 == len(key) ] - def run(self, desired_result, input, limit): + def run(self, desired_result, input=None, limit=None): """Run a configuration and return performance""" - config = desired_result.configuration.data - cfgenv = self.environment(config) - runcmd = self.launch( - cfgenv + ["CHECK={}".format(self.args.check)], verbose=self.args.verbose - ) - self.run_result = self.call_program(runcmd) - result = self.run_result["returncode"] + try: + config = desired_result.configuration.data + mnk = self.mnk + nrep = 0 # default + except AttributeError: + config = desired_result + mnk = (config["M"], config["N"], config["K"]) + nrep = 1 # limit + runcmd = self.launch(config, self.args.check, nrep, self.args.verbose) + self.run_result = self.call_program(" ".join(runcmd)) + result = self.run_result["returncode"] if self.run_result else 1 if 0 == result: performance = re.search( "device:\\s+([0-9]+[^ ]*) ms\\s+([0-9]+[^ ]*)", @@ -305,26 +321,31 @@ def run(self, desired_result, input, limit): if performance and performance.group(1) and performance.group(2): mseconds = float(performance.group(1)) gflops = float(performance.group(2)) - if self.gflops < gflops: - # keep best configuration in case of an early exit - self.config = desired_result.configuration - self.gflops = gflops - if 0 == self.gfbase: # seed configuration - self.gfbase = gflops - else: - self.save_final_config(desired_result.configuration, final=False) - kernelreq = round((100.0 * config["BM"] * config["BN"]) / self.wsx) - # gflops are reported as "accuracy" (console output) - return Result(time=mseconds, accuracy=gflops, size=kernelreq) + if config is not desired_result: + kernelreq = round((100.0 * config["BM"] * config["BN"]) / self.wsx) + # gflops are reported as "accuracy" (console output) + result = Result(time=mseconds, accuracy=gflops, size=kernelreq) + if self.gflops < gflops: + # keep best configuration in case of an early exit + self.config = desired_result.configuration + self.gflops = gflops + if 0 == self.gfbase: # seed configuration + self.gfbase = gflops + else: + self.save_final_config( + desired_result.configuration, final=False + ) + elif not self.args.verbose: + print(".", end="", flush=True) else: # return non-competitive/bad result in case of an error - failed = ( - " ".join(map(str, cfgenv)).replace("OPENCL_LIBSMM_SMM_", "") - if not self.args.verbose - else runcmd - ) - mnk = "x".join(map(str, self.mnk)) - print("FAILED[{}] {}: {}".format(result, mnk, failed), flush=True) - return Result(time=float("inf"), accuracy=0.0, size=100.0) + if config is not desired_result: + result = Result(time=float("inf"), accuracy=0.0, size=100.0) + elif not self.args.verbose: + print("") + failed = runcmd[0].replace("OPENCL_LIBSMM_SMM_", "") + msg = "FAILED[{}] {}: {}".format(result, "x".join(map(str, mnk)), failed) + print(msg, flush=True) + return result def update_jsons(self, filenames): """Update device name of all JSONs""" @@ -357,8 +378,8 @@ def merge_jsons(self, filenames): return # early exit merged, worse = dict(), dict() for filename in filenames: + data = dict() try: - data = dict() with open(filename, "r") as file: data = json.load(file) if self.args.merge is not None and ( @@ -394,25 +415,28 @@ def merge_jsons(self, filenames): data["XF"] if "XF" in data else 0, filename, # last entry ) - if key not in merged: - merged[key] = value - else: - filename2 = merged[key][-1] - if merged[key][1] <= value[1]: # GFLOPS - merged[key] = value - else: - filename2 = filename - if key in worse: - worse[key].append(filename2) - else: - worse[key] = [filename2] except (json.JSONDecodeError, KeyError, TypeError): print("Failed to merge {} into CSV-file.".format(filename)) + data = dict() except: # noqa: E722 + data = dict() pass + if bool(data) and key in merged: + filename2 = merged[key][-1] + if value[1] < merged[key][1]: # GFLOPS + filename2, data = filename, dict() + if key in worse: + worse[key].append(filename2) + else: + worse[key] = [filename2] + if bool(data) and ( + (self.args.check is not None and 0 == self.args.check) + or 0 == self.run(data) + ): + merged[key] = value if bool(merged): - with open(self.args.csvfile, "w") as file: - file.write( # CSV header line with termination/newline + with open(self.args.csvfile, "w") as csvfile: + csvfile.write( # CSV header line with termination/newline "{}{}{}{}{}{}{}{}{}\n".format( # key-part self.args.csvsep.join(["DEVICE", "TYPEID", "M", "N", "K"]), self.args.csvsep, # separator for value-part @@ -428,7 +452,7 @@ def merge_jsons(self, filenames): for key, value in sorted(merged.items()): # CSV data lines strkey = self.args.csvsep.join([str(k) for k in key]) strval = self.args.csvsep.join([str(v) for v in value[:-1]]) - file.write("{}{}{}\n".format(strkey, self.args.csvsep, strval)) + csvfile.write("{}{}{}\n".format(strkey, self.args.csvsep, strval)) retsld, delsld = [0, 0, 0], [0, 0, 0] # [min, geo, max] retain, delete = [], [] # lists of filenames retcnt = delcnt = 0 # geo-counter @@ -494,6 +518,10 @@ def merge_jsons(self, filenames): msg = "Merged {} of {} JSONs into {}".format( len(merged), len(filenames), self.args.csvfile ) + if ( + self.args.check is None or 0 != self.args.check + ) and not self.args.verbose: + print("") print(msg) def save_final_config(self, configuration, final=True): @@ -502,10 +530,10 @@ def save_final_config(self, configuration, final=True): return # nothing to save config = configuration.data if configuration else None cfgenv = self.environment(config) if config else None - envchk = os.getenv("CHECK") # conside CHECKing result unless CHECK=0 + envchk = os.getenv("CHECK") # force CHECKing result unless CHECK=0 result = self.run_result["returncode"] if config and self.run_result else 1 if 0 == result and 0 == self.args.check and (envchk is None or "0" != envchk): - self.run_result = self.call_program(self.launch(cfgenv + ["CHECK=1"])) + self.run_result = self.call_program(" ".join(self.launch(cfgenv, 1))) result = self.run_result["returncode"] if self.run_result else 1 # extend result for easier reuse if config: From 2e0cd4c6cf93cf5cf093d374ca450428f2f75484 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 17 Jul 2024 12:34:57 +0200 Subject: [PATCH 64/74] ocl: updated tuned parameters (#826) * Print score of merged parameters (geometric mean of all GFLOPS/s). * Improved handling tuning-script argument. * Re-validated all tuned parameters. --- .../opencl/smm/params/tune_multiply_A100.csv | 6 +- .../opencl/smm/params/tune_multiply_H100.csv | 4 +- .../opencl/smm/params/tune_multiply_PVC.csv | 68 +++++++++---------- src/acc/opencl/smm/tune_multiply.py | 48 +++++++------ 4 files changed, 67 insertions(+), 59 deletions(-) diff --git a/src/acc/opencl/smm/params/tune_multiply_A100.csv b/src/acc/opencl/smm/params/tune_multiply_A100.csv index 8077da6bbf2..20d29a9e207 100644 --- a/src/acc/opencl/smm/params/tune_multiply_A100.csv +++ b/src/acc/opencl/smm/params/tune_multiply_A100.csv @@ -262,7 +262,7 @@ NVIDIA A100 80GB PCIe [0x1f79];3;22;22;32;30000;0;24;22;1;13;1;0;-2;0;0;0;1;0;1; NVIDIA A100 80GB PCIe [0x1f79];3;22;32;9;30000;0;15;22;1;9;0;-1;1;1;1;0;1;0;1;0;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;22;32;22;30000;0;24;22;1;19;0;0;-2;1;0;1;1;1;1;2;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;22;32;32;30000;0;24;22;1;15;1;-2;-2;0;1;1;1;1;1;2;0;0 -NVIDIA A100 80GB PCIe [0x1f79];3;23;23;23;30000;0;24;23;1;13;0;-1;-2;1;0;1;1;1;1;0;0;0 +NVIDIA A100 80GB PCIe [0x1f79];3;23;23;23;30000;0;24;23;1;15;1;0;-2;0;0;0;1;0;1;0;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;24;24;24;30000;0;18;24;1;17;1;-1;2;1;1;0;1;1;1;0;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;25;4;4;30000;0;19;25;1;10;0;1;1;0;0;1;1;0;1;1;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;25;4;5;30000;0;1;25;1;15;0;0;1;0;1;0;0;1;2;0;0;0 @@ -304,7 +304,9 @@ NVIDIA A100 80GB PCIe [0x1f79];3;32;32;9;30000;0;41;32;1;2;0;0;0;1;0;1;1;0;1;2;0 NVIDIA A100 80GB PCIe [0x1f79];3;32;32;13;30000;0;40;32;1;6;1;0;-2;1;0;0;1;0;1;2;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;32;32;17;30000;0;24;32;1;16;1;-2;0;1;0;0;1;0;1;2;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;32;32;22;30000;0;24;32;1;8;1;0;-2;1;0;0;1;0;1;2;0;0 -NVIDIA A100 80GB PCIe [0x1f79];3;32;32;32;30000;0;40;32;1;28;1;-2;-2;1;0;1;1;1;1;2;0;0 +NVIDIA A100 80GB PCIe [0x1f79];3;32;32;32;30000;0;24;32;1;30;1;0;-2;0;0;0;1;0;1;2;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;35;35;35;30000;0;10;35;1;35;1;0;0;1;0;0;1;1;1;2;1;0 NVIDIA A100 80GB PCIe [0x1f79];3;36;36;36;30000;0;41;36;1;9;1;-1;4;1;0;1;1;1;1;0;0;0 NVIDIA A100 80GB PCIe [0x1f79];3;40;40;40;30000;0;13;40;1;40;1;1;0;0;0;0;1;0;1;2;0;0 +NVIDIA A100 80GB PCIe [0x1f79];3;45;45;45;30000;0;35;45;1;39;45;0;-2;0;0;0;1;0;1;2;0;0 +NVIDIA A100 80GB PCIe [0x1f79];3;64;64;64;30000;0;10;64;1;9;64;1;2;0;1;0;1;0;1;0;0;0 diff --git a/src/acc/opencl/smm/params/tune_multiply_H100.csv b/src/acc/opencl/smm/params/tune_multiply_H100.csv index 45789e7c430..6959b153a65 100644 --- a/src/acc/opencl/smm/params/tune_multiply_H100.csv +++ b/src/acc/opencl/smm/params/tune_multiply_H100.csv @@ -64,7 +64,7 @@ NVIDIA H100 PCIe [0xa32d];3;5;4;17;30000;0;11;5;1;2;5;0;3;0;0;0;0;0;2;0;0;0 NVIDIA H100 PCIe [0xa32d];3;5;4;25;30000;0;15;5;1;5;5;0;0;0;1;1;0;1;2;0;0;0 NVIDIA H100 PCIe [0xa32d];3;5;4;32;30000;0;12;5;1;5;5;-1;0;0;0;1;1;0;2;0;0;0 NVIDIA H100 PCIe [0xa32d];3;5;5;4;30000;0;15;5;1;2;1;1;-2;0;1;1;1;0;0;2;0;0 -NVIDIA H100 PCIe [0xa32d];3;5;5;5;30000;0;6;5;1;4;1;0;0;0;1;1;1;1;1;0;0;0 +NVIDIA H100 PCIe [0xa32d];3;5;5;5;30000;0;14;5;1;5;1;1;-2;0;0;0;1;0;0;0;0;0 NVIDIA H100 PCIe [0xa32d];3;5;5;7;30000;0;6;5;1;5;1;0;-2;1;0;1;1;1;1;0;0;0 NVIDIA H100 PCIe [0xa32d];3;5;5;9;30000;0;5;5;1;2;1;0;-2;1;0;0;1;1;1;0;0;0 NVIDIA H100 PCIe [0xa32d];3;5;5;13;30000;0;5;5;1;4;1;1;-2;1;1;1;1;1;1;2;0;0 @@ -112,7 +112,7 @@ NVIDIA H100 PCIe [0xa32d];3;7;4;9;30000;0;11;7;1;3;1;1;2;0;1;0;1;0;2;0;0;0 NVIDIA H100 PCIe [0xa32d];3;7;4;13;30000;0;11;7;1;6;7;0;-2;0;1;0;1;0;2;2;0;0 NVIDIA H100 PCIe [0xa32d];3;7;5;4;30000;0;15;7;1;1;1;-1;-2;0;1;0;1;0;0;0;0;0 NVIDIA H100 PCIe [0xa32d];3;7;5;5;30000;0;11;7;1;1;1;-2;0;0;0;0;1;0;2;0;0;0 -NVIDIA H100 PCIe [0xa32d];3;7;5;7;30000;0;17;7;1;2;1;-2;-2;0;0;1;1;0;0;0;0;0 +NVIDIA H100 PCIe [0xa32d];3;7;5;7;30000;0;14;7;1;4;7;0;0;0;0;0;1;0;0;0;0;0 NVIDIA H100 PCIe [0xa32d];3;7;5;9;30000;0;11;7;1;2;1;1;-1;0;0;1;1;0;0;0;0;0 NVIDIA H100 PCIe [0xa32d];3;7;5;13;30000;0;12;7;1;2;1;1;-2;0;0;1;1;0;2;0;0;0 NVIDIA H100 PCIe [0xa32d];3;7;6;6;30000;0;15;7;1;2;1;-2;0;0;1;1;1;0;0;2;0;0 diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index 6db3f0afca3..9e094636b59 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -298,7 +298,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;25;30000;0;15;7;1;1;32;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;26;30000;0;15;7;1;1;32;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;28;30000;0;15;7;1;1;32;-2;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;32;30000;0;8;7;1;1;32;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;45;30000;0;15;7;1;1;32;1;1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;32;45;30000;0;15;7;1;1;32;-1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;4;30000;0;41;7;1;4;45;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;5;30000;0;43;7;1;7;45;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;45;7;30000;0;41;7;1;1;45;0;1;0;0;0;1;0;2;0;0;0 @@ -405,8 +405,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;13;30000;0;15;9;1;2;28;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;25;30000;0;8;9;1;1;28;0;0;0;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;26;30000;0;10;9;1;1;28;-2;0;0;1;1;1;0;0;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;28;30000;0;12;9;1;1;28;0;0;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;32;30000;0;15;9;1;1;28;-1;-2;0;0;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;45;30000;0;15;9;1;1;28;-2;0;0;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;32;30000;0;15;9;1;5;28;-2;-1;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;45;30000;0;19;9;1;1;28;1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;39;9;1;1;32;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;38;9;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;25;9;1;8;32;0;0;0;0;0;1;0;1;2;0;0 @@ -428,7 +428,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;10;30000;0;8;10;1;2;1;-1;-2;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;18;10;1;1;10;1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;3;15;-2;-1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;13;10;1;9;15;-2;-2;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;15;10;1;1;15;1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;12;12;12;30000;0;8;12;1;12;12;-2;-1;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;4;30000;0;16;13;1;1;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;4;5;30000;0;13;13;1;1;1;-1;-2;0;0;0;1;0;0;0;0;0 @@ -487,7 +487,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;26;30000;0;14;13;1;1;13;-1;-2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;28;30000;0;8;13;1;1;13;-1;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;32;30000;0;8;13;1;1;1;-1;0;1;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;13;45;30000;0;8;13;1;1;13;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;13;30000;0;13;13;1;12;14;-2;0;0;0;0;1;0;1;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;13;30000;0;15;13;1;1;14;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;14;30000;0;15;13;1;1;14;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;25;30000;0;8;13;1;1;14;-2;-1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;14;26;30000;0;9;13;1;1;14;-1;1;0;0;0;1;0;0;0;0;0 @@ -501,8 +501,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;17;32;30000;0;8;13;1;1;1;1;-2;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;5;30000;0;22;13;1;5;1;1;-1;1;1;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;13;30000;0;13;13;1;10;24;-1;0;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;24;30000;0;8;13;1;1;24;1;1;1;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;1;0;0;1;0;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;16;13;1;1;24;1;0;1;0;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;26;30000;0;15;13;1;1;24;-1;0;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;24;32;30000;0;15;13;1;1;24;0;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;4;30000;0;22;13;1;5;25;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;5;30000;0;22;13;1;3;25;0;-1;1;1;1;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;7;30000;0;15;8;1;8;25;1;2;0;0;0;1;0;1;2;0;0 @@ -510,7 +510,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;9;30000;0;15;8;1;11;25;-1;6;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;13;30000;0;8;13;1;7;25;-2;-1;1;1;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;14;30000;0;15;8;1;5;25;0;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;25;30000;0;30;8;1;3;25;0;-2;0;0;0;1;0;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;26;30000;0;15;13;1;1;25;1;-2;1;1;0;1;1;2;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;26;30000;0;15;13;1;1;25;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;28;30000;0;15;8;1;1;25;-1;2;0;1;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;32;30000;0;5;8;1;1;25;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;25;45;30000;0;15;13;1;1;25;0;-2;1;0;1;1;1;2;0;0;1 @@ -522,20 +522,20 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;13;30000;0;11;13;1;13;26;-2;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;14;30000;0;11;13;1;8;26;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;24;30000;0;15;13;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;25;30000;0;15;13;1;1;26;-1;0;1;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;26;30000;0;15;13;1;1;26;-1;0;0;1;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;28;30000;0;16;13;1;1;26;-2;-2;0;0;1;1;1;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;32;30000;0;15;13;1;1;26;1;-2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;45;30000;0;15;13;1;1;26;1;-2;1;0;1;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;26;30000;0;15;13;1;1;26;1;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;28;30000;0;15;13;1;1;26;0;1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;32;30000;0;15;13;1;1;26;-1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;26;45;30000;0;15;13;1;1;26;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;4;30000;0;25;13;1;4;28;-1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;5;30000;0;17;13;1;9;28;0;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;7;30000;0;21;13;1;11;28;1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;9;30000;0;16;13;1;10;28;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;13;30000;0;13;13;1;11;28;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;25;30000;0;15;13;1;1;28;-1;-2;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;26;30000;0;16;13;1;1;28;-1;-2;1;1;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;28;30000;0;15;13;1;1;28;-1;-2;0;1;0;1;1;2;2;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;-2;-2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;45;30000;0;15;13;1;1;28;-1;-2;1;1;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;26;30000;0;15;13;1;4;28;1;-2;0;0;0;1;0;1;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;28;30000;0;16;13;1;1;28;1;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;32;30000;0;15;13;1;1;28;1;-2;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;28;45;30000;0;15;13;1;1;28;0;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;4;30000;0;25;13;1;7;1;-1;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;5;30000;0;25;13;1;11;1;0;-2;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;7;30000;0;25;13;1;4;32;0;0;0;0;0;1;0;0;0;0;0 @@ -545,8 +545,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;13;13;1;12;32;-2;- Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;17;30000;0;8;13;1;1;1;-1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;24;30000;0;16;13;1;1;32;-2;-2;1;1;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;0;-2;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;-1;0;1;1;1;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;15;13;1;1;32;1;-2;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;0;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;15;13;1;4;32;-2;1;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;30;13;1;11;45;1;1;0;0;0;1;0;0;1;0;0 @@ -573,7 +573,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;26;30000;0;18;14;1;1;14;-1;-1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;28;30000;0;8;14;1;1;14;-2;0;1;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;29;30000;0;8;14;1;1;14;-2;-2;1;1;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;14;32;30000;0;12;14;1;1;14;-1;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;17;14;1;8;16;1;-2;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;14;30000;0;15;14;1;8;16;0;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;16;30000;0;17;14;1;4;16;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;16;29;30000;0;8;14;1;1;16;-2;-2;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;25;13;30000;0;8;14;1;1;25;1;1;0;1;0;1;0;0;0;0;0 @@ -588,16 +588,16 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;26;30000;0;8;14;1;1;26;-2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;26;32;30000;0;8;14;1;1;26;-2;1;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;5;30000;0;25;14;1;13;28;-1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;14;30000;0;13;14;1;7;28;-2;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;28;30000;0;15;14;1;1;28;-1;0;0;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;28;28;30000;0;15;14;1;13;28;-2;0;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;14;30000;0;11;14;1;14;29;0;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;16;30000;0;16;14;1;14;29;1;2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;29;30000;0;13;14;1;1;29;1;1;1;0;1;1;1;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;32;30000;0;16;14;1;1;29;1;-1;1;0;1;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;29;32;30000;0;15;14;1;13;29;-2;-1;0;0;0;1;0;0;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;13;30000;0;13;14;1;10;32;1;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;14;30000;0;14;14;1;6;32;-2;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;25;30000;0;8;14;1;1;32;-2;1;1;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;26;30000;0;8;14;1;1;32;-2;1;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;29;30000;0;16;14;1;1;32;1;-2;0;1;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;29;30000;0;15;14;1;6;32;0;0;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;14;32;32;30000;0;16;14;1;1;32;0;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;4;30000;0;16;15;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;4;10;30000;0;10;15;1;6;15;-1;-1;0;0;0;1;0;2;0;0;0 @@ -610,7 +610,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;10;30000;0;24;15;1;1;15;-1;-1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;15;15;15;30000;0;8;15;1;8;1;-1;-2;0;1;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;5;30000;0;16;16;1;3;1;-2;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;13;30000;0;14;8;1;3;1;-1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;7;1;-2;-1;0;1;0;1;0;0;0;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;16;30000;0;8;16;1;1;1;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;24;30000;0;8;16;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;5;26;30000;0;8;16;1;14;1;-1;-2;1;1;0;1;0;0;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;7;3;30000;0;18;16;1;15;1;-1;-1;0;0;0;1;0;0;0;0;0 @@ -625,7 +625,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;5;30000;0;35;16;1;1;1;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;9;30000;0;25;16;1;1;1;-1;-2;1;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;14;30000;0;25;16;1;1;16;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;16;30000;0;8;16;1;3;1;-2;1;0;1;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;22;30000;0;21;16;1;1;1;-2;0;1;0;1;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;22;30000;0;15;16;1;1;1;-1;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;29;30000;0;25;16;1;1;16;1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;16;55;30000;0;8;16;1;1;16;-2;0;1;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;22;9;30000;0;21;16;1;9;1;-2;-1;1;1;1;1;1;0;0;1;0 @@ -636,7 +636,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;26;5;30000;0;20;16;1;15;1;-1;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;14;30000;0;15;8;1;13;29;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;16;30000;0;15;8;1;13;29;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;29;30000;0;16;16;1;1;29;1;0;1;0;1;1;1;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;-1;0;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;29;55;30000;0;15;16;1;1;29;1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;16;30000;0;32;16;1;1;55;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;29;30000;0;30;16;1;1;55;-1;0;1;0;0;1;1;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;16;55;55;30000;0;15;16;1;1;55;1;1;1;1;0;1;0;2;0;0;0 @@ -665,9 +665,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;17;35;30000;0;15;17;1;1;1;-2;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;4;30000;0;25;17;1;7;1;-2;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;5;30000;0;28;17;1;8;1;-2;1;0;0;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;13;30000;0;11;17;1;1;0;-2;1;1;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;17;30000;0;27;17;1;1;1;-1;0;0;0;0;1;1;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;17;30000;0;15;17;1;10;1;-2;-2;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;32;30000;0;15;17;1;1;1;0;-2;0;0;0;1;0;2;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;35;30000;0;15;17;1;1;1;1;0;0;0;0;1;0;2;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;32;35;30000;0;15;17;1;1;1;-1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;17;30000;0;30;17;1;1;1;-2;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;32;30000;0;30;17;1;1;1;1;-2;0;1;0;1;1;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;17;35;35;30000;0;30;17;1;1;1;0;-2;1;1;1;1;1;2;0;0;1 @@ -929,7 +929,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;24;30000;0;15;8;1;23;1;0;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;25;30000;0;8;26;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;5;8;1;9;32;-2;3;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;15;8;1;9;32;-1;2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;28;30000;0;4;8;1;1;32;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 @@ -941,7 +941,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;13;30000;0;17;26;1;12;45;0;1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;25;30000;0;10;8;1;1;45;1;-2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;26;30000;0;5;26;1;1;45;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;28;30000;0;1;26;1;19;45;-2;1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;7;8;1;22;45;-1;-2;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;32;30000;0;17;8;1;5;45;-2;2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;45;45;30000;0;5;26;1;1;45;1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;4;30000;0;16;28;1;7;1;-2;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;4;5;30000;0;10;8;1;26;28;1;1;0;0;0;1;0;0;2;0;0 @@ -992,7 +992,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;25;30000;0;17;16;1;22;28;-2;2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;26;30000;0;17;16;1;19;28;0;2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;28;30000;0;15;8;1;1;28;-2;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;32;30000;0;15;8;1;1;28;1;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;4;8;1;5;28;-2;4;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;13;45;30000;0;30;8;1;14;28;1;-1;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;4;30000;0;30;8;1;22;28;-1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;5;30000;0;30;8;1;21;28;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;25;7;30000;0;30;8;1;5;28;0;4;0;0;0;1;0;1;2;0;0 @@ -1043,7 +1043,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;25;30000;0;7;8;1;1;45;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;26;30000;0;4;8;1;1;45;1;0;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;28;30000;0;5;8;1;1;45;0;4;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;32;30000;0;15;28;1;1;45;-1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;4;8;1;26;45;-1;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;28;45;45;30000;0;19;8;1;28;45;1;-2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;14;30000;0;15;16;1;11;29;0;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;16;30000;0;15;8;1;17;29;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;14;29;30000;0;15;8;1;1;29;-2;4;0;0;0;1;0;2;0;0;0 @@ -1063,7 +1063,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;32;30000;0;30;29;1;1;32;-2;5; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;32;55;30000;0;5;16;1;1;32;1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;16;30000;0;15;29;1;12;55;0;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;29;30000;0;27;8;1;1;55;-2;4;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;32;30000;0;9;8;1;19;55;0;4;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;32;30000;0;14;8;1;23;55;0;3;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;29;55;55;30000;0;3;16;1;1;55;0;2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;30;30000;0;8;30;1;1;1;-2;1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;30;30;76;30000;0;8;30;1;1;30;-1;1;0;0;0;1;0;0;0;0;0 @@ -1208,7 +1208,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;26;30000;0;19;8;1;30;45;1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;28;30000;0;13;8;1;1;45;-2;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;32;30000;0;17;16;1;1;45;1;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;45;30000;0;12;8;1;1;45;-2;-2;0;0;1;1;1;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;12;16;1;19;55;-2;2;0;0;0;1;1;0;2;1;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;21;16;1;1;55;1;4;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;59;16;1;1;55;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;60;16;1;1;55;0;2;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;6;8;1;21;1;0;-1;0;0;0;1;0;1;2;0;0 @@ -1223,7 +1223,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;13;13;30000;0;10;8;1;1;45;1;6;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;32;28;30000;0;16;8;1;7;45;-2;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;45;45;30000;0;30;45;1;1;45;-2;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;50;20;50;30000;0;3;8;1;1;50;0;-2;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;30;30;30000;0;12;16;1;50;76;1;10;0;1;1;1;1;0;0;1;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;30;30;30000;0;10;8;1;59;76;1;8;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;30;76;30000;0;8;76;1;4;76;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;76;30;30000;0;47;16;1;1;76;0;5;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;76;76;76;30000;0;47;16;1;1;76;-2;6;0;1;0;1;0;2;0;0;0 diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 0329dbb02bf..140696310a3 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -49,12 +49,14 @@ def ilog2(n): class SmmTuner(MeasurementInterface): - def __init__(self, args): + def __init__(self, args, argd): """Setup common state and define search space""" super(SmmTuner, self).__init__(args) manipulator = ConfigurationManipulator() - # parse and sanitize kernel shape argument - if not self.args.mnk: + if self.args.jsondir == argd.jsondir and os.path.isdir(self.args.mnk): + self.args.jsondir = self.args.mnk + self.args.mnk = default_mnk + elif not self.args.mnk: # parse and sanitize kernel shape self.args.mnk = default_mnk mnk = tuple(max(int(i), 1) for i in self.args.mnk.split("x")) self.mnk = (mnk + (mnk[0], mnk[0]))[:3] @@ -303,12 +305,10 @@ def run(self, desired_result, input=None, limit=None): try: config = desired_result.configuration.data mnk = self.mnk - nrep = 0 # default except AttributeError: config = desired_result mnk = (config["M"], config["N"], config["K"]) - nrep = 1 # limit - runcmd = self.launch(config, self.args.check, nrep, self.args.verbose) + runcmd = self.launch(config, self.args.check, verbose=self.args.verbose) self.run_result = self.call_program(" ".join(runcmd)) result = self.run_result["returncode"] if self.run_result else 1 if 0 == result: @@ -325,25 +325,22 @@ def run(self, desired_result, input=None, limit=None): kernelreq = round((100.0 * config["BM"] * config["BN"]) / self.wsx) # gflops are reported as "accuracy" (console output) result = Result(time=mseconds, accuracy=gflops, size=kernelreq) - if self.gflops < gflops: - # keep best configuration in case of an early exit + if self.gflops < gflops: # keep best config in case of early exit self.config = desired_result.configuration self.gflops = gflops - if 0 == self.gfbase: # seed configuration + if 0 != self.gfbase: + self.save_final_config(self.config, final=False) + else: # seed configuration self.gfbase = gflops - else: - self.save_final_config( - desired_result.configuration, final=False - ) elif not self.args.verbose: print(".", end="", flush=True) else: # return non-competitive/bad result in case of an error + failed = runcmd[0].replace("OPENCL_LIBSMM_SMM_", "") + msg = "FAILED[{}] {}: {}".format(result, "x".join(map(str, mnk)), failed) if config is not desired_result: result = Result(time=float("inf"), accuracy=0.0, size=100.0) elif not self.args.verbose: print("") - failed = runcmd[0].replace("OPENCL_LIBSMM_SMM_", "") - msg = "FAILED[{}] {}: {}".format(result, "x".join(map(str, mnk)), failed) print(msg, flush=True) return result @@ -449,7 +446,12 @@ def merge_jsons(self, filenames): self.args.csvsep.join(["TB", "TC", "AP", "AA", "AB", "AC"]), ) ) + geosum = geocnt = 0 for key, value in sorted(merged.items()): # CSV data lines + gflops = value[1] + if 0 < gflops: + geosum = geosum + math.log(gflops) + geocnt = geocnt + 1 strkey = self.args.csvsep.join([str(k) for k in key]) strval = self.args.csvsep.join([str(v) for v in value[:-1]]) csvfile.write("{}{}{}\n".format(strkey, self.args.csvsep, strval)) @@ -518,9 +520,13 @@ def merge_jsons(self, filenames): msg = "Merged {} of {} JSONs into {}".format( len(merged), len(filenames), self.args.csvfile ) - if ( + if 0 < geocnt: + msg = "{} (geometric mean of {} GFLOPS/s)".format( + msg, round(math.exp(geosum / geocnt)) + ) + if not self.args.verbose and ( self.args.check is None or 0 != self.args.check - ) and not self.args.verbose: + ): print("") print(msg) @@ -871,7 +877,7 @@ def handle_sigint(self, signum, frame): dest="size", help="Size of batch (a.k.a. stacksize)", ) - args = argparser.parse_args() + args, argd = argparser.parse_args(), argparser.parse_args([]) # OPENCL_LIBSMM_SMM_xx=tune|enabled|on must be given to permit tuning) if os.getenv("OPENCL_LIBSMM_SMM_WS") not in default_enable_tune: os.environ["OPENCL_LIBSMM_SMM_WS"] = "{}".format(args.ws) @@ -894,11 +900,11 @@ def handle_sigint(self, signum, frame): os.environ["OPENCL_LIBSMM_SMM_LU"] = "{}".format(args.lu) if 0 == args.mb: args.mb = 64 - instance = SmmTuner(args) + instance = SmmTuner(args, argd) if not default_dbg: for retry in range(default_retry): try: - TuningRunMain(instance, args).main() + TuningRunMain(instance, args, argd).main() exit(0) except Exception as e: ign = ( @@ -910,4 +916,4 @@ def handle_sigint(self, signum, frame): pass instance.save_final_config(None, True) else: - TuningRunMain(instance, args).main() + TuningRunMain(instance, args, argd).main() From 6137cb40960e828c8d058763e571f785e47aba66 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Wed, 17 Jul 2024 22:07:08 +0200 Subject: [PATCH 65/74] ocl: rely on default parameters more consistently (#827) * Fixed constructing tuner instance. * Simplified hard-coded rules. --- src/acc/opencl/smm/opencl_libsmm.c | 88 ++++++++++++----------------- src/acc/opencl/smm/tune_multiply.py | 24 ++++---- 2 files changed, 49 insertions(+), 63 deletions(-) diff --git a/src/acc/opencl/smm/opencl_libsmm.c b/src/acc/opencl/smm/opencl_libsmm.c index 814c80ce21d..97a0e84a891 100644 --- a/src/acc/opencl/smm/opencl_libsmm.c +++ b/src/acc/opencl/smm/opencl_libsmm.c @@ -697,8 +697,7 @@ int libsmm_acc_transpose(const int* dev_trs_stack, int offset, int stack_size, v const int inplace = ((m == n) && (NULL == env_inplace ? 0 : ('0' != *env_inplace))); # endif const int blockm = ((NULL == env_bm || '\0' == *env_bm) ? 0 : atoi(env_bm)); - const int bm = (0 >= blockm ? (NULL == config ? /*default*/ m : /*LIBXSMM_CLMP(config->bm, 1, m)*/ m) - : LIBXSMM_MIN(blockm, m)); + const int bm = (0 >= blockm ? m : LIBXSMM_MIN(blockm, m)); opencl_libsmm_trans_t new_config; memset(&new_config, 0, sizeof(new_config)); switch (datatype) { @@ -1060,13 +1059,6 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, const char *const env_ab = getenv("OPENCL_LIBSMM_SMM_AB"), *const env_ac = getenv("OPENCL_LIBSMM_SMM_AC"); const char *const env_xf = getenv("OPENCL_LIBSMM_SMM_XF"), *const env_cl = getenv("OPENCL_LIBSMM_SMM_BUILDOPTS"); const char* const intel_xf = "-cl-intel-256-GRF-per-thread"; - const int default_lu = (0 != c_dbcsr_acc_opencl_config.device.intel ? -1 : 0); - const int unroll = LIBXSMM_MAX(-2, (NULL == env_lu || '\0' == *env_lu) - ? (0 == kernel_idx ? (NULL == config ? default_lu : config->lu) : default_lu) - : atoi(env_lu)); /* populate only lower bound */ - const int blockm = ((NULL == env_bm || '\0' == *env_bm || 1 < unroll) /* 1= unroll ? 0 : LIBXSMM_UP(m_max / unroll, OPENCL_LIBSMM_VMIN)) - : atoi(env_bm)); const int blockn = ((NULL == env_bn || '\0' == *env_bn) ? 0 : atoi(env_bn)); const int blockk = ((NULL == env_bk || '\0' == *env_bk) ? 0 : atoi(env_bk)); const int wgmin = ((NULL == env_ws || '\0' == *env_ws) ? 0 : atoi(env_ws)); @@ -1077,7 +1069,8 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, : LIBXSMM_MIN(OPENCL_LIBSMM_VMIN, m_max)) : 1); const int default_wg = (((0x0bd0 > devuid || 0x0bdb < devuid)) ? (0 == kernel_idx ? 0 : -2) : -1); - int nbm, nbn; + const int default_lu = (0 != c_dbcsr_acc_opencl_config.device.intel ? -1 : 0); + int defaults, blockm, nbm, nbn; opencl_libsmm_smm_t new_config; if (NULL == config) { memset(&new_config, 0, sizeof(new_config)); @@ -1086,65 +1079,56 @@ int libsmm_acc_process(const int* host_param_stack, const int* dev_param_stack, memcpy(&new_config, config, sizeof(opencl_libsmm_smm_t)); } if (NULL == env_xf || '\0' == *env_xf) { - if (0 == c_dbcsr_acc_opencl_config.device.intel || CL_DEVICE_TYPE_GPU != c_dbcsr_acc_opencl_config.device.type || - NULL == env_cl || NULL == strstr(env_cl, intel_xf)) + if (0 != c_dbcsr_acc_opencl_config.device.intel && CL_DEVICE_TYPE_GPU == c_dbcsr_acc_opencl_config.device.type && + NULL != env_cl && NULL != strstr(env_cl, intel_xf)) { - new_config.flags = (NULL == config ? /*default*/ 0 : config->flags); + new_config.flags = 1; } - else new_config.flags = 1; } else new_config.flags = atoi(env_xf); - new_config.lu = unroll; + defaults = ((NULL == config || 0 != kernel_idx || (NULL != config && new_config.flags != config->flags)) ? 1 : 0); + new_config.lu = LIBXSMM_MAX(-2, (NULL == env_lu || '\0' == *env_lu) ? (0 != defaults ? default_lu : config->lu) + : atoi(env_lu)); /* populate only lower bound */ + blockm = ((NULL == env_bm || '\0' == *env_bm || 1 < new_config.lu) /* 1= new_config.lu ? 0 : LIBXSMM_UP(m_max / new_config.lu, OPENCL_LIBSMM_VMIN)) + : atoi(env_bm)); /* two defaults for new_config parameters: 1st - regular, 2nd - BS=1 kernel */ - new_config.bm = (0 >= blockm ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max) - : LIBXSMM_CLMP(config->bm, 1, m_max)) + new_config.bm = (0 >= blockm ? (0 == kernel_idx ? (0 != defaults ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max) + : LIBXSMM_CLMP(config->bm, 1, m_max)) : LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BM, m_max)) : LIBXSMM_MIN(blockm, m_max)); - new_config.bn = (0 >= blockn ? (0 == kernel_idx ? (NULL == config ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max) - : LIBXSMM_CLMP(config->bn, 1, n_max)) + new_config.bn = (0 >= blockn ? (0 == kernel_idx ? (0 != defaults ? LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max) + : LIBXSMM_CLMP(config->bn, 1, n_max)) : LIBXSMM_MIN(OPENCL_LIBSMM_DEFAULT_BN, n_max)) : LIBXSMM_MIN(blockn, n_max)); - new_config.bk = (0 >= blockk ? (NULL == config ? default_bk : LIBXSMM_CLMP(config->bk, 1, m_max)) + new_config.bk = (0 >= blockk ? (0 != defaults ? default_bk : LIBXSMM_CLMP(config->bk, 1, m_max)) : LIBXSMM_MIN(blockk, m_max)); - new_config.ws = (0 >= wgmin ? (0 == kernel_idx ? (NULL == config ? /*default*/ LIBXSMM_MAX(m_max, n_max) - : LIBXSMM_CLMP(config->ws, 1, n_max * m_max)) - : /*default*/ LIBXSMM_MAX(m_max, n_max)) + new_config.ws = (0 >= wgmin ? (0 == kernel_idx ? (0 != defaults ? LIBXSMM_MAX(m_max, n_max) + : LIBXSMM_CLMP(config->ws, 1, n_max * m_max)) + : LIBXSMM_MAX(m_max, n_max)) : LIBXSMM_MIN(wgmin, n_max * m_max)); new_config.wg = LIBXSMM_CLMP( - (NULL == env_wg || '\0' == *env_wg) ? (NULL == config ? default_wg : config->wg) : atoi(env_wg), -2, 2); - new_config.nz = LIBXSMM_CLMP((NULL == env_nz || '\0' == *env_nz) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->nz) : /*default*/ 0) - : atoi(env_nz), - 0, 1); + (NULL == env_wg || '\0' == *env_wg) ? (0 != defaults ? default_wg : config->wg) : atoi(env_wg), -2, 2); + new_config.nz = LIBXSMM_CLMP( + (NULL == env_nz || '\0' == *env_nz) ? (0 != defaults ? /*default*/ 0 : config->nz) : atoi(env_nz), 0, 1); new_config.al = LIBXSMM_CLMP(/* bug: AL=1 */ (NULL == env_al || '\0' == *env_al) - ? (0 == (32 & c_dbcsr_acc_opencl_config.wa) ? (0 == kernel_idx ? (NULL == config ? 0 : config->al) : 0) : 0) + ? (0 == (32 & c_dbcsr_acc_opencl_config.wa) ? (0 != defaults ? 0 : config->al) : 0) : atoi(env_al), 0, 1); - new_config.tb = LIBXSMM_CLMP((NULL == env_tb || '\0' == *env_tb) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->tb) : /*default*/ 0) - : atoi(env_tb), - 0, 1); - new_config.tc = LIBXSMM_CLMP((NULL == env_tc || '\0' == *env_tc) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 1 : config->tc) : /*default*/ 1) - : atoi(env_tc), - 0, 1); - new_config.ap = LIBXSMM_CLMP((NULL == env_ap || '\0' == *env_ap) - ? (0 == kernel_idx ? (NULL == config ? /*default*/ 0 : config->ap) : /*default*/ 0) - : atoi(env_ap), - 0, 1); + new_config.tb = LIBXSMM_CLMP( + (NULL == env_tb || '\0' == *env_tb) ? (0 != defaults ? /*default*/ 0 : config->tb) : atoi(env_tb), 0, 1); + new_config.tc = LIBXSMM_CLMP( + (NULL == env_tc || '\0' == *env_tc) ? (0 != defaults ? /*default*/ 1 : config->tc) : atoi(env_tc), 0, 1); + new_config.ap = LIBXSMM_CLMP( + (NULL == env_ap || '\0' == *env_ap) ? (0 != defaults ? /*default*/ 0 : config->ap) : atoi(env_ap), 0, 1); new_config.aa = LIBXSMM_CLMP(/* bug: AA=2 XF=1 */ - (NULL == env_aa || '\0' == *env_aa) ? (0 == kernel_idx ? (NULL == config ? default_aa : config->aa) : default_aa) - : atoi(env_aa), - 0, (0 == (64 & c_dbcsr_acc_opencl_config.wa) || 0 == new_config.flags) ? 2 : 1); - new_config.ab = LIBXSMM_CLMP((NULL == env_ab || '\0' == *env_ab) - ? (0 == kernel_idx ? (NULL == config ? default_ab : config->ab) : default_ab) - : atoi(env_ab), - 0, 2); - new_config.ac = LIBXSMM_CLMP((NULL == env_ac || '\0' == *env_ac) - ? (0 == kernel_idx ? (NULL == config ? default_ac : config->ac) : default_ac) - : atoi(env_ac), - 0, 1); + (NULL == env_aa || '\0' == *env_aa) ? (0 != defaults ? default_aa : config->aa) : atoi(env_aa), 0, + (0 == (64 & c_dbcsr_acc_opencl_config.wa) || 0 == new_config.flags) ? 2 : 1); + new_config.ab = LIBXSMM_CLMP( + (NULL == env_ab || '\0' == *env_ab) ? (0 != defaults ? default_ab : config->ab) : atoi(env_ab), 0, 2); + new_config.ac = LIBXSMM_CLMP( + (NULL == env_ac || '\0' == *env_ac) ? (0 != defaults ? default_ac : config->ac) : atoi(env_ac), 0, 1); if (0 >= new_config.s) new_config.s = stack_size; if (0 == kernel_idx || 1 >= new_config.bs) new_config.bs = bs; nbm = (m_max + new_config.bm - 1) / new_config.bm; diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 140696310a3..465b79fface 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -49,15 +49,10 @@ def ilog2(n): class SmmTuner(MeasurementInterface): - def __init__(self, args, argd): + def __init__(self, args): """Setup common state and define search space""" super(SmmTuner, self).__init__(args) manipulator = ConfigurationManipulator() - if self.args.jsondir == argd.jsondir and os.path.isdir(self.args.mnk): - self.args.jsondir = self.args.mnk - self.args.mnk = default_mnk - elif not self.args.mnk: # parse and sanitize kernel shape - self.args.mnk = default_mnk mnk = tuple(max(int(i), 1) for i in self.args.mnk.split("x")) self.mnk = (mnk + (mnk[0], mnk[0]))[:3] self.wsx = self.mnk[0] * self.mnk[1] @@ -181,7 +176,7 @@ def __init__(self, args, argd): and (self.typeid and 0 < self.ndevices) and (self.size and 0 < self.size) ): # setup database (DB) - if args.database is None: # adjust DB-location + if self.args.database is None: # adjust DB-location envrank = os.getenv("PMI_RANK", os.getenv("OMPI_COMM_WORLD_LOCAL_RANK")) tmpdir = os.path.join(tempfile.gettempdir(), "opentuner") if envrank: @@ -288,7 +283,7 @@ def seed_configurations(self): ] def objective(self): - if 0 == args.tlevel: + if 0 == self.args.tlevel: return opentuner.search.objective.MaximizeAccuracyMinimizeSize() else: return opentuner.search.objective.MaximizeAccuracy() @@ -900,11 +895,18 @@ def handle_sigint(self, signum, frame): os.environ["OPENCL_LIBSMM_SMM_LU"] = "{}".format(args.lu) if 0 == args.mb: args.mb = 64 - instance = SmmTuner(args, argd) + # more flexible handling of positional/first argument + if args.jsondir == argd.jsondir and os.path.isdir(args.mnk): + args.jsondir = args.mnk + args.mnk = default_mnk + elif not args.mnk: # parse and sanitize kernel shape + args.mnk = default_mnk + # construct tuner instance + instance = SmmTuner(args) if not default_dbg: for retry in range(default_retry): try: - TuningRunMain(instance, args, argd).main() + TuningRunMain(instance, args).main() exit(0) except Exception as e: ign = ( @@ -916,4 +918,4 @@ def handle_sigint(self, signum, frame): pass instance.save_final_config(None, True) else: - TuningRunMain(instance, args, argd).main() + TuningRunMain(instance, args).main() From 97038f33d8b9bd205c1890e9f9e07f43d17407bc Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 18 Jul 2024 20:46:24 +0200 Subject: [PATCH 66/74] ocl: tuner script - support reading triplets from file (#828) * Updated tuned parameters. * Normalized FLOPS for DP. * Cleanup. --- .../opencl/smm/params/tune_multiply_PVC.csv | 86 ++++++++--------- src/acc/opencl/smm/tune_multiply.py | 92 ++++++++++++------- 2 files changed, 103 insertions(+), 75 deletions(-) diff --git a/src/acc/opencl/smm/params/tune_multiply_PVC.csv b/src/acc/opencl/smm/params/tune_multiply_PVC.csv index 9e094636b59..34e16e0b964 100644 --- a/src/acc/opencl/smm/params/tune_multiply_PVC.csv +++ b/src/acc/opencl/smm/params/tune_multiply_PVC.csv @@ -10,7 +10,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;10;30000;0;8;4;1;1;1;-2;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;13;30000;0;8;4;1;1;1;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;15;30000;0;8;4;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;17;30000;0;8;4;1;1;1;-1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;25;30000;0;8;4;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;26;30000;0;8;4;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;28;30000;0;8;4;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;4;32;30000;0;8;4;1;1;1;-2;-1;0;0;0;1;0;2;0;0;0 @@ -36,9 +36,9 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;26;30000;0;8;4;1;1;7;-1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;28;30000;0;8;4;1;1;7;-1;-2;0;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;32;30000;0;8;4;1;1;7;-1;-1;0;0;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;7;45;30000;0;8;4;1;1;7;1;1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;12;4;1;1;1;-1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;4;30000;0;13;4;1;2;1;-2;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;2;1;-2;1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;7;30000;0;10;4;1;1;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;9;30000;0;8;4;1;4;1;1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;13;30000;0;8;4;1;1;1;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;9;25;30000;0;8;4;1;1;9;-1;0;0;1;0;1;1;0;0;0;0 @@ -52,7 +52,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;10;15;30000;0;8;4;1;1;10;-1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;4;30000;0;13;4;1;4;1;-1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;5;30000;0;14;4;1;4;1;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;7;30000;0;14;4;1;2;1;-2;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;1;1;1;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;9;30000;0;14;4;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;13;30000;0;8;4;1;1;1;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;17;30000;0;8;4;1;1;1;-1;-2;1;0;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;4;13;25;30000;0;8;4;1;1;13;-1;0;0;0;0;1;1;2;2;0;0 @@ -142,8 +142,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;26;30000;0;8;5;1;1;1;-2;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;28;30000;0;8;5;1;1;5;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;5;32;30000;0;8;5;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;4;30000;0;12;5;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-1;-2;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;5;30000;0;12;5;1;1;1;-1;0;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;7;30000;0;10;5;1;1;1;-2;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;9;30000;0;8;5;1;1;1;-1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;7;13;30000;0;8;5;1;1;1;-2;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;9;4;30000;0;16;5;1;5;1;1;-1;0;0;0;1;0;2;2;0;0 @@ -161,7 +161,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;26;30000;0;8;5;1;1;1;-1;3;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;32;30000;0;8;5;1;1;1;-1;-2;0;0;0;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;13;45;30000;0;8;5;1;1;13;-1;0;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;14;28;30000;0;8;5;1;1;14;-2;-2;0;0;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;5;30000;0;16;5;1;5;1;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;13;30000;0;14;5;1;1;1;-1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;16;30000;0;15;5;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;16;24;30000;0;8;5;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 @@ -211,14 +211,14 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;28;30000;0;8;5;1;1;28;-2;0;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;32;30000;0;8;5;1;1;28;-2;-2;1;1;1;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;28;45;30000;0;8;5;1;1;28;1;-2;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;4;30000;0;18;5;1;5;1;0;-1;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;17;5;1;1;1;1;-1;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;5;30000;0;17;5;1;1;1;1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;7;30000;0;15;5;1;1;32;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;9;30000;0;15;5;1;1;32;1;-1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;18;5;1;1;1;1;-1;0;0;0;1;0;2;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;13;30000;0;15;5;1;1;1;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;17;30000;0;8;5;1;1;1;-1;-2;0;1;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;24;30000;0;8;5;1;1;32;-1;0;0;0;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;25;30000;0;8;5;1;1;32;-1;2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;26;30000;0;8;5;1;1;32;-1;0;0;0;1;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;26;30000;0;8;5;1;1;32;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;28;30000;0;8;5;1;1;32;-1;-1;0;1;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;32;30000;0;8;5;1;1;1;1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;5;32;45;30000;0;8;5;1;1;32;-2;-1;0;0;0;1;0;0;0;0;0 @@ -247,7 +247,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;7;30000;0;11;7;1;1;1;-2;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;9;30000;0;10;7;1;1;1;-1;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;13;30000;0;8;7;1;1;1;-2;1;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;25;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;26;30000;0;8;7;1;1;7;1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;28;30000;0;8;7;1;1;7;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;32;30000;0;8;7;1;1;7;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;4;45;30000;0;8;7;1;1;7;1;0;0;0;1;1;1;2;0;0;0 @@ -261,15 +261,15 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;26;30000;0;8;7;1;1;7;1;0;0;1;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;28;30000;0;8;7;1;1;7;-2;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;32;30000;0;8;7;1;1;7;-1;0;1;1;0;1;1;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;5;45;30000;0;8;7;1;1;7;-2;0;0;0;1;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;13;7;1;1;1;1;1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;6;30000;0;14;7;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;7;30000;0;13;7;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;6;8;30000;0;10;7;1;1;1;1;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;13;7;1;1;1;-1;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;4;30000;0;14;7;1;1;1;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;5;30000;0;16;7;1;1;1;-1;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;6;30000;0;16;7;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;7;30000;0;9;7;1;2;1;1;-2;0;1;0;1;1;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;-2;0;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;11;7;1;1;1;-2;-2;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;8;30000;0;14;7;1;1;1;1;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;9;30000;0;13;7;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;13;30000;0;10;7;1;1;1;-1;-2;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;25;30000;0;10;7;1;1;7;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;7;7;26;30000;0;10;7;1;1;7;-1;-2;0;0;0;1;0;0;0;0;0 @@ -314,15 +314,15 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;7;30000;0;13;8;1;7;1;0;-1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;6;8;30000;0;10;8;1;8;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;6;30000;0;16;8;1;7;1;1;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;7;30000;0;13;8;1;2;1;0;0;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;1;1;1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;7;8;30000;0;14;8;1;1;1;1;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;6;30000;0;16;8;1;1;1;-1;1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;7;30000;0;16;8;1;1;1;1;-1;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;8;8;8;30000;0;4;8;1;2;1;-1;-1;0;1;1;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;4;30000;0;8;1;4;8;1;-2;-1;0;0;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;0;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;5;30000;0;16;9;1;1;1;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;7;30000;0;16;9;1;1;1;-1;0;0;0;1;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;9;30000;0;13;9;1;1;1;1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-2;0;0;0;0;1;0;0;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;13;30000;0;8;9;1;1;1;-2;-2;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;25;30000;0;8;9;1;1;9;-1;-1;0;0;1;1;1;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;26;30000;0;8;9;1;1;9;-2;0;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;4;28;30000;0;8;9;1;1;9;-2;-1;0;0;0;1;0;0;1;0;0 @@ -407,7 +407,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;26;30000;0;10;9;1;1;28;-2;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;28;30000;0;12;9;1;1;28;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;32;30000;0;15;9;1;5;28;-2;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;28;45;30000;0;19;9;1;1;28;1;0;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;39;9;1;1;32;1;-1;0;0;0;1;0;0;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;4;30000;0;39;9;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;5;30000;0;38;9;1;1;32;-1;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;7;30000;0;25;9;1;8;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;9;30000;0;25;9;1;4;1;1;0;0;0;0;1;0;2;0;0;1 @@ -421,12 +421,12 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;32;45;30000;0;15;9;1;1;32;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;32;30000;0;10;9;1;1;45;1;0;1;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;9;45;45;30000;0;9;9;1;1;45;1;-2;1;1;1;1;1;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;4;30000;0;16;10;1;1;1;-2;1;0;0;0;1;0;2;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;10;30000;0;13;10;1;1;1;-2;0;0;0;0;1;0;2;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;10;30000;0;13;10;1;1;1;-2;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;4;15;30000;0;8;10;1;1;10;-2;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;4;30000;0;16;10;1;1;1;-2;0;0;0;0;1;0;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;10;30000;0;8;10;1;2;1;-1;-2;0;1;0;1;1;0;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;10;15;30000;0;18;10;1;1;10;1;-2;0;0;0;1;0;0;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;22;10;1;1;15;-1;1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;4;30000;0;24;10;1;1;15;-1;-2;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;10;30000;0;16;10;1;3;15;-2;-1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;10;15;15;30000;0;15;10;1;1;15;1;-1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;12;12;12;30000;0;8;12;1;12;12;-2;-1;1;1;1;1;1;2;0;0;0 @@ -545,12 +545,12 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;14;30000;0;13;13;1;12;32;-2;- Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;17;30000;0;8;13;1;1;1;-1;1;1;1;0;1;1;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;24;30000;0;16;13;1;1;32;-2;-2;1;1;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;25;30000;0;15;13;1;1;32;0;-2;0;0;0;1;0;0;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;0;-1;0;0;0;1;0;0;0;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;26;30000;0;15;13;1;1;32;0;-2;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;28;30000;0;15;13;1;4;32;-2;1;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;32;30000;0;15;13;1;1;1;-2;0;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;32;45;30000;0;15;13;1;1;32;-1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;4;30000;0;30;13;1;11;45;1;1;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;29;8;1;3;45;-2;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;5;30000;0;30;8;1;6;45;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;7;30000;0;37;13;1;6;45;1;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;9;30000;0;29;13;1;13;45;1;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;13;45;13;30000;0;15;13;1;3;45;-2;0;0;0;0;1;0;1;0;0;0 @@ -691,14 +691,14 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;5;30000;0;17;8;1;21;1;-1;0;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;13;30000;0;18;8;1;4;1;-1;0;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;16;30000;0;8;8;1;7;1;-1;4;1;1;0;1;0;2;2;1;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;24;30000;0;8;8;1;1;24;0;-2;1;1;0;1;1;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;26;30000;0;6;8;1;19;24;0;0;0;0;0;1;0;0;1;1;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;26;30000;0;9;8;1;1;24;-1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;5;32;30000;0;8;8;1;1;24;0;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;5;30000;0;20;24;1;2;1;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;13;30000;0;15;8;1;13;24;-1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;24;30000;0;6;8;1;1;24;-1;4;1;1;1;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;26;30000;0;17;24;1;1;24;-1;-1;0;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;13;32;30000;0;15;8;1;1;24;0;3;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;24;24;1;2;1;-2;-1;0;0;0;1;0;0;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;16;5;30000;0;25;24;1;1;1;-2;-1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;5;30000;0;28;8;1;22;24;-1;-2;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;13;30000;0;28;8;1;20;24;-1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;24;24;30000;0;15;24;1;1;1;-2;-1;0;1;0;1;1;0;0;0;1 @@ -717,7 +717,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;24;32;32;30000;0;15;24;1;1;1;-1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;4;30000;0;16;25;1;1;1;1;0;0;0;0;1;0;0;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;5;30000;0;13;8;1;13;1;-1;3;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;7;30000;0;9;8;1;24;25;-1;3;1;0;1;1;0;0;0;1;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;12;25;-1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;9;30000;0;8;8;1;15;25;-2;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;13;30000;0;8;25;1;9;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;25;30000;0;8;8;1;11;25;1;-1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;4;26;30000;0;8;8;1;16;25;1;-1;0;0;0;1;0;2;1;0;0 @@ -734,8 +734,8 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;26;30000;0;8;8;1;1;25;0;3;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;28;30000;0;8;8;1;1;25;-1;3;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;32;30000;0;13;8;1;23;25;-1;3;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;5;45;30000;0;17;8;1;9;25;-2;4;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;12;8;1;21;25;-1;4;0;0;0;1;0;1;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;15;8;1;15;25;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;4;30000;0;13;8;1;13;25;-1;3;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;5;30000;0;15;8;1;19;25;1;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;7;30000;0;11;8;1;13;25;0;4;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;9;30000;0;8;8;1;1;25;0;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;13;30000;0;17;8;1;22;25;1;3;0;0;0;1;0;1;1;0;0 @@ -744,7 +744,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;26;30000;0;13;8;1;3;25;1;-2;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;28;30000;0;13;8;1;20;25;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;32;30000;0;8;8;1;1;25;0;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;7;45;30000;0;17;8;1;13;25;1;0;0;0;0;1;0;2;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;3;25;1;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;4;30000;0;15;8;1;23;25;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;5;30000;0;15;8;1;19;25;1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;7;30000;0;15;8;1;3;25;0;-1;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;9;9;30000;0;15;8;1;19;25;-2;3;0;0;1;1;0;1;2;0;0 @@ -759,7 +759,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;5;30000;0;15;8;1;19;25;-2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;7;30000;0;15;8;1;14;25;-1;-1;1;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;9;30000;0;15;8;1;4;25;-2;1;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;13;30000;0;15;8;1;18;25;-1;-1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;8;1;13;25;0;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;14;30000;0;15;8;1;14;25;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;25;30000;0;5;8;1;1;25;1;4;1;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;26;30000;0;16;8;1;1;25;0;0;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;13;28;30000;0;8;16;1;1;25;0;3;1;0;0;1;0;2;0;0;0 @@ -782,7 +782,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;28;30000;0;15;25;1;1;25;-2;-2 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;32;30000;0;15;25;1;1;25;-1;-1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;25;45;30000;0;8;25;1;1;25;-1;1;0;1;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;4;30000;0;30;8;1;20;26;-1;3;0;0;0;1;1;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;22;26;-2;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;5;30000;0;30;8;1;23;26;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;7;30000;0;30;8;1;18;26;-1;3;0;1;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;9;30000;0;16;16;1;7;26;-2;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;25;26;13;30000;0;16;25;1;1;26;0;-2;0;0;0;1;0;2;0;0;1 @@ -845,18 +845,18 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;26;30000;0;8;8;1;1;26;0;1;0;0; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;28;30000;0;13;8;1;12;26;-1;-2;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;32;30000;0;13;8;1;14;26;1;1;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;5;45;30000;0;17;8;1;23;26;-2;3;0;0;0;1;0;0;1;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;19;26;-1;-1;0;0;0;1;0;1;1;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;4;30000;0;13;8;1;17;26;-1;-1;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;5;30000;0;13;8;1;13;26;1;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;7;30000;0;10;8;1;9;26;-2;0;0;0;0;1;0;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;9;30000;0;8;8;1;6;26;1;-2;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;1;26;1;-1;0;0;0;1;0;2;0;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;13;30000;0;8;8;1;1;26;1;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;25;30000;0;13;8;1;4;26;1;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;26;30000;0;4;8;1;1;26;0;4;0;0;1;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;28;30000;0;8;26;1;1;26;0;3;0;1;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;32;30000;0;13;8;1;11;26;-2;0;0;0;0;1;0;2;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;7;45;30000;0;8;16;1;1;26;-1;4;0;0;0;1;1;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;4;30000;0;15;8;1;2;26;-1;5;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;15;8;1;10;26;1;1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;5;30000;0;15;8;1;8;26;1;4;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;7;30000;0;15;8;1;10;26;0;3;0;0;1;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;9;30000;0;15;8;1;19;26;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;9;13;30000;0;15;8;1;7;26;-2;3;0;0;0;1;0;1;2;0;0 @@ -877,20 +877,20 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;26;30000;0;15;8;1;1;26;-2;4;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;28;30000;0;15;8;1;1;26;-2;-1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;32;30000;0;15;8;1;1;26;-1;3;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;13;45;30000;0;5;8;1;1;26;1;0;0;1;0;1;0;2;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;5;26;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;13;30000;0;15;8;1;15;26;-1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;14;30000;0;8;26;1;6;26;1;1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;25;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;26;30000;0;15;26;1;1;26;1;-1;0;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;14;32;30000;0;15;26;1;1;26;1;1;0;0;0;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;16;5;30000;0;25;26;1;2;1;-1;-1;0;0;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;24;26;1;4;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;5;30000;0;28;8;1;13;26;1;3;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;13;30000;0;17;26;1;1;26;0;-1;1;0;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;24;30000;0;8;8;1;19;1;1;3;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;26;30000;0;15;26;1;1;1;1;-1;1;1;1;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;24;32;30000;0;12;8;1;1;1;1;1;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;4;30000;0;30;8;1;6;26;0;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;30;8;1;13;26;-1;0;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;30;8;1;2;26;0;-2;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;5;30000;0;30;8;1;12;26;1;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;7;30000;0;30;8;1;10;26;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;9;30000;0;15;26;1;16;26;1;2;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;13;30000;0;15;26;1;1;26;0;-1;1;1;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;25;14;30000;0;15;16;1;6;26;0;-1;0;0;0;1;0;1;2;0;0 @@ -929,7 +929,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;13;30000;0;15;26;1;1;32;1;-1; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;14;30000;0;15;26;1;7;32;0;-1;0;0;0;1;0;2;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;24;30000;0;15;8;1;23;1;0;1;0;0;0;1;0;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;25;30000;0;8;26;1;1;32;-2;1;0;0;0;1;0;1;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;15;8;1;9;32;-1;2;0;0;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;26;30000;0;15;16;1;9;32;-1;2;0;0;0;1;0;1;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;28;30000;0;4;8;1;1;32;-2;-2;0;0;0;1;0;2;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;32;30000;0;8;26;1;1;0;-2;1;0;0;1;1;1;1;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;26;32;45;30000;0;8;26;1;1;32;-2;1;0;1;0;1;0;1;0;0;0 @@ -1187,7 +1187,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;5;30000;0;30;8;1;13;1;1;1;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;7;30000;0;30;8;1;14;32;1;-2;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;9;30000;0;30;8;1;8;1;1;1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;13;30000;0;30;8;1;17;1;1;1;0;0;0;1;0;1;2;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;10;32;0;0;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;14;30000;0;30;8;1;13;32;0;0;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;17;30000;0;11;32;1;1;1;-1;1;0;0;0;1;0;0;0;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;22;30000;0;8;32;1;1;1;1;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;32;24;30000;0;8;32;1;1;1;-2;1;0;0;0;1;0;0;0;0;0 @@ -1211,7 +1211,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;45;45;30000;0;12;8;1;1;45;-2;-2; Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;29;30000;0;21;16;1;1;55;1;4;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;32;30000;0;59;16;1;1;55;0;-2;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;32;55;55;30000;0;60;16;1;1;55;0;2;0;0;0;1;0;1;0;0;1 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;6;8;1;21;1;0;-1;0;0;0;1;0;1;2;0;0 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;17;30000;0;8;8;1;18;1;0;-1;0;0;0;1;0;1;2;0;0 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;17;32;30000;0;6;8;1;6;1;-1;0;0;0;0;1;0;1;1;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;32;35;30000;0;11;8;1;33;35;-1;5;1;1;1;1;0;0;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;35;32;30000;0;9;8;1;21;35;0;0;0;0;0;1;0;0;2;1;1 @@ -1219,7 +1219,7 @@ Intel(R) Data Center GPU Max 1550 [0x0bd5];3;35;35;35;30000;0;9;8;1;34;1;0;4;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;36;36;36;30000;0;6;8;1;23;36;1;5;1;0;0;1;0;2;2;1;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;40;40;40;30000;0;12;8;1;1;1;0;0;1;0;0;1;1;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;4;4;30000;0;3;45;1;36;45;0;2;0;1;0;1;0;0;0;0;0 -Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;13;13;30000;0;10;8;1;1;45;1;6;0;1;0;1;0;1;2;0;1 +Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;13;13;30000;0;17;8;1;4;45;1;1;0;0;0;1;0;2;2;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;32;28;30000;0;16;8;1;7;45;-2;3;0;0;0;1;0;1;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;45;45;45;30000;0;30;45;1;1;45;-2;1;0;0;0;1;0;2;0;0;1 Intel(R) Data Center GPU Max 1550 [0x0bd5];3;50;20;50;30000;0;3;8;1;1;50;0;-2;0;0;0;1;0;0;0;0;0 diff --git a/src/acc/opencl/smm/tune_multiply.py b/src/acc/opencl/smm/tune_multiply.py index 465b79fface..40d68c82f6f 100755 --- a/src/acc/opencl/smm/tune_multiply.py +++ b/src/acc/opencl/smm/tune_multiply.py @@ -32,6 +32,27 @@ default_vlen = 8 +def start(args): + """Construct and start tuner instance""" + instance = SmmTuner(args) + if not default_dbg: + for retry in range(default_retry): + try: + TuningRunMain(instance, args).main() + return + except Exception as e: + ign = ( + "[{}/{}]".format(retry + 1, default_retry) + if 1 < default_retry + else "" + ) + print("IGNORED{} {}: {}".format(ign, type(e).__name__, e)) + pass + instance.save_final_config(None, True) + else: + TuningRunMain(instance, args).main() + + def env_intvalue(env, default, lookup=True): value = os.getenv(env, default) if lookup else env if env is not None else default try: @@ -52,10 +73,10 @@ class SmmTuner(MeasurementInterface): def __init__(self, args): """Setup common state and define search space""" super(SmmTuner, self).__init__(args) - manipulator = ConfigurationManipulator() mnk = tuple(max(int(i), 1) for i in self.args.mnk.split("x")) self.mnk = (mnk + (mnk[0], mnk[0]))[:3] self.wsx = self.mnk[0] * self.mnk[1] + self.manip = ConfigurationManipulator() # sanitize input arguments self.args.mb = max(self.args.mb, 1) self.args.bs = max(min(self.args.bs, self.args.mb), 1) @@ -152,7 +173,7 @@ def __init__(self, args): "All parameters are fixed with environment variables!" ) for param in params + paramt: - manipulator.add_parameter(param) + self.manip.add_parameter(param) if ( # consider to update and/or merge JSONS (update first) self.args.merge is not None and (0 <= self.args.merge or self.typeid) @@ -201,7 +222,6 @@ def __init__(self, args): # register signal handler (CTRL-C) signal(SIGINT, self.handle_sigint) self.handle_sigint_counter = 0 - self.manip = manipulator def manipulator(self): return self.manip @@ -441,12 +461,15 @@ def merge_jsons(self, filenames): self.args.csvsep.join(["TB", "TC", "AP", "AA", "AB", "AC"]), ) ) - geosum = geocnt = 0 + typeid = geosum = geocnt = 0 for key, value in sorted(merged.items()): # CSV data lines - gflops = value[1] + typeid = key[1] if 0 == typeid or typeid == key[1] else None + # FLOPS are normalized for double-precision + gflops = value[1] if 1 != key[1] else value[1] * 0.5 if 0 < gflops: geosum = geosum + math.log(gflops) geocnt = geocnt + 1 + strkey = self.args.csvsep.join([str(k) for k in key]) strval = self.args.csvsep.join([str(v) for v in value[:-1]]) csvfile.write("{}{}{}\n".format(strkey, self.args.csvsep, strval)) @@ -455,8 +478,8 @@ def merge_jsons(self, filenames): retcnt = delcnt = 0 # geo-counter retbad = None for key, value in worse.items(): - gflops = round(merged[key][1]) - mtime = os.path.getmtime(merged[key][-1]) + gflops_raw = merged[key][1] if 1 != key[1] else merged[key][1] * 0.5 + gflops, mtime = round(gflops_raw), os.path.getmtime(merged[key][-1]) for filename in value: s = 0 if 0 < gflops: @@ -516,8 +539,14 @@ def merge_jsons(self, filenames): len(merged), len(filenames), self.args.csvfile ) if 0 < geocnt: - msg = "{} (geometric mean of {} GFLOPS/s)".format( - msg, round(math.exp(geosum / geocnt)) + precfac, precstr = 1, "" + if 1 == typeid: + precstr = "SP-" + precfac = 2 + elif typeid is not None: + precstr = "DP-" + msg = "{} (geometric mean of {} {}GFLOPS/s)".format( + msg, round(math.exp(geosum / geocnt) * precfac), precstr ) if not self.args.verbose and ( self.args.check is None or 0 != self.args.check @@ -895,27 +924,26 @@ def handle_sigint(self, signum, frame): os.environ["OPENCL_LIBSMM_SMM_LU"] = "{}".format(args.lu) if 0 == args.mb: args.mb = 64 - # more flexible handling of positional/first argument - if args.jsondir == argd.jsondir and os.path.isdir(args.mnk): - args.jsondir = args.mnk - args.mnk = default_mnk - elif not args.mnk: # parse and sanitize kernel shape - args.mnk = default_mnk - # construct tuner instance - instance = SmmTuner(args) - if not default_dbg: - for retry in range(default_retry): - try: - TuningRunMain(instance, args).main() - exit(0) - except Exception as e: - ign = ( - "[{}/{}]".format(retry + 1, default_retry) - if 1 < default_retry - else "" - ) - print("IGNORED{} {}: {}".format(ign, type(e).__name__, e)) - pass - instance.save_final_config(None, True) + # construct and start tuner instance + if args.jsondir == argd.jsondir: # flexible first argument + if os.path.isfile(args.mnk): + with open(args.mnk, "r") as file: + while True: + line = file.readline() + if not line: + break + args.mnk = line.strip() + if args.mnk: + start(args) + print("") + else: + if os.path.isdir(args.mnk): + args.jsondir = args.mnk + args.mnk = default_mnk + if args.merge is None: + args.merge = -1 + start(args) else: - TuningRunMain(instance, args).main() + if not args.mnk: # parse and sanitize kernel shape + args.mnk = default_mnk + start(args) From b0afecc18ce98aea92534203c5110aaa35a01120 Mon Sep 17 00:00:00 2001 From: alazzaro Date: Mon, 22 Jul 2024 06:54:56 -0500 Subject: [PATCH 67/74] Use FTN for linking --- examples/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 3bd5901e1fc..66abc56e959 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -32,9 +32,11 @@ if (WITH_C_API) set(dbcsr_program_name ${dbcsr_program_name}_cpp) add_executable(${dbcsr_program_name} ${dbcsr_program_src}) target_link_libraries(${dbcsr_program_name} dbcsr_c MPI::MPI_CXX) - set_target_properties(${dbcsr_program_name} PROPERTIES LINKER_LANGUAGE CXX) + set_target_properties(${dbcsr_program_name} PROPERTIES LINKER_LANGUAGE + Fortran) if (OpenMP_FOUND) - target_link_libraries(${dbcsr_program_name} OpenMP::OpenMP_CXX) + target_compile_options(${dbcsr_program_name} PRIVATE ${OpenMP_CXX_FLAGS}) + target_link_libraries(${dbcsr_program_name} OpenMP::OpenMP_Fortran) endif () if (CMAKE_CXX_COMPILER_ID STREQUAL "Cray") From f114dcee5d10160b737d89c490c28b1292e2ad02 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:46:31 +0200 Subject: [PATCH 68/74] [pre-commit.ci] pre-commit autoupdate (#830) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.5.2 → v0.5.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.2...v0.5.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4a50fdd8564..c0c79251adc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ fail_fast: false minimum_pre_commit_version: 3.2.0 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.5.2' + rev: 'v0.5.4' hooks: - id: ruff args: [ --fix, --exit-non-zero-on-fix ] From 085732b3bd099b5d2db5adaf92ca2a5e35491788 Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Thu, 25 Jul 2024 17:09:13 +0200 Subject: [PATCH 69/74] ocl: revised creating sub-devices (#831) * Handle ACC_OPENCL_DEVSPLIT=1 like ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE. * Correctly handle ACC_OPENCL_DEVSPLIT<0. * Code cleanup. --- src/acc/opencl/acc_opencl.c | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/src/acc/opencl/acc_opencl.c b/src/acc/opencl/acc_opencl.c index aa412852bcf..6ea4f1d1f83 100644 --- a/src/acc/opencl/acc_opencl.c +++ b/src/acc/opencl/acc_opencl.c @@ -236,6 +236,10 @@ int c_dbcsr_acc_init(void) { const char* const env_async = NULL; const int async_default = 0; # endif + const char* const env_devsplit = getenv("ACC_OPENCL_DEVSPLIT"); + /*const char* const env_nranks = getenv("MPI_LOCALNRANKS"); + const cl_uint nranks = LIBXSMM_MAX(NULL != env_nranks ? atoi(env_nranks) : 1, 1);*/ + const cl_int devsplit = (NULL == env_devsplit ? /*(1 < nranks ? -1 : 0)*/ 0 : atoi(env_devsplit)); char* const env_devids = getenv("ACC_OPENCL_DEVIDS"); int device_id = (NULL == env_device ? 0 : atoi(env_device)); const int nlocks = (NULL == env_nlocks ? 1 /*default*/ : atoi(env_nlocks)); @@ -274,7 +278,7 @@ int c_dbcsr_acc_init(void) { c_dbcsr_acc_opencl_config.async = (NULL == env_async ? async_default : atoi(env_async)); c_dbcsr_acc_opencl_config.dump = (NULL == env_dump ? /*default*/ 0 : atoi(env_dump)); c_dbcsr_acc_opencl_config.debug = (NULL == env_debug ? c_dbcsr_acc_opencl_config.dump : atoi(env_debug)); - c_dbcsr_acc_opencl_config.wa = neo * (NULL == env_wa ? ((8 + 16) + (32 + 64)) : atoi(env_wa)); + c_dbcsr_acc_opencl_config.wa = neo * (NULL == env_wa ? ((1 != devsplit ? 0 : 4) + (8 + 16) + (32 + 64)) : atoi(env_wa)); assert(EXIT_SUCCESS == result); if (EXIT_SUCCESS != c_dbcsr_acc_opencl_device_uid(NULL /*device*/, env_devmatch, &c_dbcsr_acc_opencl_config.devmatch)) { c_dbcsr_acc_opencl_config.devmatch = 1; @@ -409,41 +413,28 @@ int c_dbcsr_acc_init(void) { ACC_OPENCL_CHECK(clGetDeviceIDs(platforms[i], type, ndevices, devices, NULL), "retrieve device ids", result); if (EXIT_SUCCESS == result) { cl_uint j = 0; -# if defined(CL_VERSION_1_2) - /* TODO: introduce more advanced syntax (partitioning a device) */ - const char* const env_devsplit = getenv("ACC_OPENCL_DEVSPLIT"); - const cl_uint devsplit = (NULL == env_devsplit ? 0 : atoi(env_devsplit)); - cl_uint n = 0; -# endif for (; j < ndevices; ++j) { # if defined(CL_VERSION_1_2) cl_device_partition_property properties[] = { CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN, CL_DEVICE_AFFINITY_DOMAIN_NUMA, /*terminator*/ 0}; - cl_uint nunits = 0; - if (0 != devsplit && + cl_uint nunits = 0, n = 0; + if ((1 < devsplit || 0 > devsplit) && /* Intel CPU (e.g., out of two sockets) yields thread-count of both sockets */ EXIT_SUCCESS == clGetDeviceInfo(devices[j], CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(cl_uint), &nunits, NULL) && 1 < nunits) { - if (1 < devsplit) { - properties[0] = CL_DEVICE_PARTITION_EQUALLY; - properties[1] = (nunits + devsplit - 1) / devsplit; - } + n = LIBXSMM_MIN(1 < devsplit ? (cl_uint)devsplit : nunits, ACC_OPENCL_MAXNDEVS); + properties[0] = CL_DEVICE_PARTITION_EQUALLY; + properties[1] = (nunits + n - 1) / n; } - if ((NULL != env_devsplit && '0' == *env_devsplit) || - (c_dbcsr_acc_opencl_config.ndevices + 1) == ACC_OPENCL_MAXNDEVS || - (EXIT_SUCCESS != clCreateSubDevices(devices[j], properties, 0, NULL, &n))) + if (0 == devsplit || 1 == devsplit || (c_dbcsr_acc_opencl_config.ndevices + 1) == ACC_OPENCL_MAXNDEVS || + EXIT_SUCCESS != clCreateSubDevices(devices[j], properties, 0, NULL, &n)) # endif { c_dbcsr_acc_opencl_config.devices[c_dbcsr_acc_opencl_config.ndevices] = devices[j]; ++c_dbcsr_acc_opencl_config.ndevices; } # if defined(CL_VERSION_1_2) - else if (1 < n || 1 < nunits) { /* create subdevices */ - if (1 < nunits) { - properties[0] = CL_DEVICE_PARTITION_EQUALLY; - properties[1] = 1; - n = nunits; - } + else if (1 < n) { /* create subdevices */ if (ACC_OPENCL_MAXNDEVS < (c_dbcsr_acc_opencl_config.ndevices + n)) { n = (cl_uint)ACC_OPENCL_MAXNDEVS - c_dbcsr_acc_opencl_config.ndevices; } @@ -661,7 +652,7 @@ int c_dbcsr_acc_init(void) { if (EXIT_SUCCESS == c_dbcsr_acc_opencl_device_name(c_dbcsr_acc_opencl_config.devices[i], buffer, ACC_OPENCL_BUFFERSIZE, platform_name, ACC_OPENCL_BUFFERSIZE, /*cleanup*/ 0)) { - fprintf(stderr, "INFO ACC/OpenCL: DEVICE -> \"%s : %s\"\n", platform_name, buffer); + fprintf(stderr, "INFO ACC/OpenCL: DEVICE -> \"%s : %s\" (%u)\n", platform_name, buffer, i); } } } From 000d038863f68cd1e941fc8018b9fef19436c069 Mon Sep 17 00:00:00 2001 From: Augustin Bussy Date: Mon, 1 Jul 2024 11:17:25 +0200 Subject: [PATCH 70/74] Tuned H100 kernels --- CMakeLists.txt | 3 +- .../libsmm_acc/kernels/gpu_properties.json | 22 + .../parameters/parameters_H100.json | 3052 +++++++++++++++++ 3 files changed, 3076 insertions(+), 1 deletion(-) create mode 100644 src/acc/libsmm_acc/parameters/parameters_H100.json diff --git a/CMakeLists.txt b/CMakeLists.txt index f2cfc725446..8f6b68d1f29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,7 +99,7 @@ set(USE_ACCEL CACHE STRING "Build with acceleration support (default: none)") set_property(CACHE USE_ACCEL PROPERTY STRINGS "" opencl cuda hip) -set(SUPPORTED_CUDA_ARCHITECTURES K20X K40 K80 P100 V100 A100) +set(SUPPORTED_CUDA_ARCHITECTURES K20X K40 K80 P100 V100 A100 H100) set(SUPPORTED_HIP_ARCHITECTURES Mi50 Mi100 Mi250) set(WITH_GPU $,"","P100"> @@ -238,6 +238,7 @@ if (USE_ACCEL MATCHES "cuda|hip") set(GPU_ARCH_NUMBER_P100 60) set(GPU_ARCH_NUMBER_V100 70) set(GPU_ARCH_NUMBER_A100 80) + set(GPU_ARCH_NUMBER_H100 90) set(GPU_ARCH_NUMBER_Mi50 gfx906) set(GPU_ARCH_NUMBER_Mi100 gfx908) set(GPU_ARCH_NUMBER_Mi250 gfx90a) diff --git a/src/acc/libsmm_acc/kernels/gpu_properties.json b/src/acc/libsmm_acc/kernels/gpu_properties.json index 54501358554..88ee34c28d4 100644 --- a/src/acc/libsmm_acc/kernels/gpu_properties.json +++ b/src/acc/libsmm_acc/kernels/gpu_properties.json @@ -120,6 +120,28 @@ "Shared_memory_access_latency": 4, "Global_memory_access_latency": 500 }, + "sm_90": { + "Compute_Capability": 9.0, + "SM_Version": "sm_90", + "Threads_/_Warp" : 32, + "Warps_/_Multiprocessor": 64, + "Threads_/_Multiprocessor": 2048, + "Thread_Blocks_/_Multiprocessor": 32, + "Max_Thread_Block_Size": 1024, + "Shared_Memory_/_Multiprocessor_(bytes)": 65536, + "Max_Shared_Memory_/_Block_(bytes)": 65536, + "Register_File_Size_/_Multiprocessor_(32-bit_registers)": 65536, + "Max_Registers_/_Block": 65536, + "Register_Allocation_Unit_Size": 256, + "Register_Allocation_Granularity": "warp", + "Max_Registers_/_Thread": 255, + "Shared_Memory_Allocation_Unit_Size": 128, + "Warp_Allocation_Granularity": 4, + "Shared_Memory_Size_Configurations_(bytes)": 114688, + "Warp_register_allocation_granularities": 256, + "Shared_memory_access_latency": 4, + "Global_memory_access_latency": 500 + }, "nvidia_lingo_to_amd" : { "Reference": "https://rocm-documentation.readthedocs.io/en/latest/Programming_Guides/HIP-terminology.html?highlight=wavefront%20size#hip-terminology-comparison-with-opencl-cuda-c-amp-and-hcc", "Thread": "Work_Item, (a single element of work: one element from the dispatch grid)", diff --git a/src/acc/libsmm_acc/parameters/parameters_H100.json b/src/acc/libsmm_acc/parameters/parameters_H100.json new file mode 100644 index 00000000000..7920d5e928f --- /dev/null +++ b/src/acc/libsmm_acc/parameters/parameters_H100.json @@ -0,0 +1,3052 @@ +[ +{"m": 4, "n": 4, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 13, "algorithm": "medium", "perf": 374.319, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 450.325, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 551.093, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 1, "algorithm": "medium", "perf": 607.815, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 8, "threads": 32, "grouping": 6, "minblocks": 1, "algorithm": "tiny", "perf": 662.818, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 10, "algorithm": "medium", "perf": 669.072, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 10, "threads": 64, "grouping": 7, "minblocks": 1, "algorithm": "tiny", "perf": 720.571, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 4, "minblocks": 27, "algorithm": "medium", "perf": 873.794, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 15, "threads": 32, "grouping": 4, "minblocks": 1, "algorithm": "tiny", "perf": 978.746, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 16, "threads": 32, "grouping": 4, "minblocks": 1, "algorithm": "tiny", "perf": 1018.3, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 1, "algorithm": "small", "perf": 1210.71, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 23, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 13, "algorithm": "small", "perf": 1261.58, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 25, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "small", "perf": 1143.85, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 2, "minblocks": 1, "algorithm": "small", "perf": 1169.45, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 28, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 1, "algorithm": "small", "perf": 1239.73, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 6, "algorithm": "small", "perf": 1452.59, "source": "autotuned"}, +{"m": 4, "n": 4, "k": 45, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 12, "algorithm": "medium", "perf": 1414.16, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 460.134, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 564.995, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 665.169, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 11, "algorithm": "medium", "perf": 685.809, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 758.531, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 8, "algorithm": "medium", "perf": 821.685, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 27, "algorithm": "medium", "perf": 885.359, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1013.14, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1132.32, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 16, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1196.81, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1317.35, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 23, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1345.3, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 25, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1386.4, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1280.93, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 28, "tile_m": 2, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 1349.23, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 32, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 1432.38, "source": "autotuned"}, +{"m": 4, "n": 5, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 1565.29, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 16, "algorithm": "medium", "perf": 549.322, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 673.458, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 729.041, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 27, "algorithm": "medium", "perf": 813.281, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 910.635, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 973.739, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 25, "algorithm": "medium", "perf": 1053.32, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1195.43, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1340.32, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1411.88, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 26, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1534.4, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 32, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1654.58, "source": "autotuned"}, +{"m": 4, "n": 6, "k": 45, "tile_m": 2, "tile_n": 1, "w": 16, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 1936.72, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 20, "algorithm": "medium", "perf": 645.517, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 752.878, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 851.831, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 966.272, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 27, "algorithm": "medium", "perf": 1051.7, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 1151.26, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1164.05, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1369.76, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1397.07, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1650.44, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 25, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1671.4, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 26, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 1726.14, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 28, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1744.58, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 32, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 1877.78, "source": "autotuned"}, +{"m": 4, "n": 7, "k": 45, "tile_m": 2, "tile_n": 1, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2127.85, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 16, "algorithm": "medium", "perf": 591.198, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 835.546, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 971.585, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 6, "minblocks": 16, "algorithm": "medium", "perf": 1100.84, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 6, "minblocks": 8, "algorithm": "small", "perf": 1029.21, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1234.34, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1330.48, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1461.13, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1593.96, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 6, "minblocks": 18, "algorithm": "medium", "perf": 1830.82, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 26, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 1921.19, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 32, "tile_m": 2, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2194.19, "source": "autotuned"}, +{"m": 4, "n": 8, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2284.62, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 744.777, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 876.774, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1032.0, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 12, "algorithm": "medium", "perf": 1158.38, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 1189.54, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1289.21, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1407.5, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1529.7, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1596.49, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 16, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1645.56, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1853.64, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 23, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1910.78, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 25, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1934.81, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 26, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1963.83, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 28, "tile_m": 2, "tile_n": 1, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2064.46, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 32, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2211.4, "source": "autotuned"}, +{"m": 4, "n": 9, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2282.4, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 829.44, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 4, "algorithm": "medium", "perf": 992.151, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 1159.14, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1208.58, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 1326.38, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1425.19, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1423.61, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1603.58, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 1756.73, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2062.22, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 26, "tile_m": 2, "tile_n": 1, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2206.03, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 32, "tile_m": 2, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2448.7, "source": "autotuned"}, +{"m": 4, "n": 10, "k": 45, "tile_m": 2, "tile_n": 1, "w": 22, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2448.08, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 1070.38, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1175.73, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1378.07, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1536.92, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1546.38, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 1675.4, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 24, "algorithm": "medium", "perf": 1682.24, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 2008.88, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2094.97, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 16, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2184.41, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2589.63, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 23, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2538.99, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 25, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2587.59, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 26, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2650.08, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 28, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2729.36, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 32, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2848.12, "source": "autotuned"}, +{"m": 4, "n": 13, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3044.66, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 1230.67, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1345.56, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1572.75, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 1639.15, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1776.81, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1793.29, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 1937.34, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2200.58, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 2423.12, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 16, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2458.43, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2751.5, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 25, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2883.44, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 26, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2891.13, "source": "autotuned"}, +{"m": 4, "n": 15, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3282.7, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 1, "algorithm": "medium", "perf": 1102.31, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1466.62, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 1953.78, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 2398.44, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 2588.95, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 16, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2665.19, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 22, "tile_m": 2, "tile_n": 1, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3063.49, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 25, "tile_m": 2, "tile_n": 1, "w": 12, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3021.44, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 26, "tile_m": 2, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3130.48, "source": "autotuned"}, +{"m": 4, "n": 16, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3473.06, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 4, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1504.19, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 17, "algorithm": "medium", "perf": 1694.47, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 6, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 10, "algorithm": "medium", "perf": 1905.24, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2149.26, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2214.12, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2203.54, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2349.64, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2692.61, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2858.04, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 16, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3039.53, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3188.7, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 23, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 3230.8, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 25, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 3221.15, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 26, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3009.88, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 32, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 3510.13, "source": "autotuned"}, +{"m": 4, "n": 22, "k": 45, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 3543.15, "source": "autotuned"}, +{"m": 4, "n": 23, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1567.86, "source": "autotuned"}, +{"m": 4, "n": 23, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 9, "algorithm": "medium", "perf": 1737.36, "source": "autotuned"}, +{"m": 4, "n": 23, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2696.97, "source": "autotuned"}, +{"m": 4, "n": 23, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3083.2, "source": "autotuned"}, +{"m": 4, "n": 23, "k": 23, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 3081.02, "source": "autotuned"}, +{"m": 4, "n": 23, "k": 26, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3348.37, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 4, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1508.44, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1781.44, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2197.88, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2360.08, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2740.9, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2933.47, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 16, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3040.3, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 3165.55, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 25, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 3291.37, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 26, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3300.52, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 28, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3354.34, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 32, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 5, "algorithm": "medium", "perf": 3460.54, "source": "autotuned"}, +{"m": 4, "n": 25, "k": 45, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 3438.81, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 6, "algorithm": "medium", "perf": 1589.7, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 1861.6, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2167.34, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2375.26, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 2378.79, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 2557.1, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2649.38, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2945.74, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 3133.51, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 16, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3366.55, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3463.55, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 23, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3772.86, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 25, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 3502.78, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 26, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 3515.07, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 28, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 5, "algorithm": "medium", "perf": 3619.65, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 32, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 3694.83, "source": "autotuned"}, +{"m": 4, "n": 26, "k": 45, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 3591.91, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 1683.8, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2010.42, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2466.7, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2730.71, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 3119.58, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 25, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 3629.25, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 26, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 3679.08, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 28, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 1, "algorithm": "medium", "perf": 3721.21, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 32, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 3884.2, "source": "autotuned"}, +{"m": 4, "n": 28, "k": 45, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 16, "minblocks": 5, "algorithm": "medium", "perf": 3705.22, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 5, "algorithm": "small", "perf": 1956.68, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2255.48, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 2560.8, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2776.84, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2816.0, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 2912.94, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3059.09, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 3465.69, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 3850.83, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 25, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 3889.43, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 26, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 3941.25, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 28, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 3980.52, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 32, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 4094.55, "source": "autotuned"}, +{"m": 4, "n": 32, "k": 45, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 3790.66, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 4, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2427.89, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 5, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 2694.21, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 6, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 3129.76, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 7, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 3431.2, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 8, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3177.17, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 9, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3346.18, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 10, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3483.84, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 13, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 6, "algorithm": "medium", "perf": 3836.01, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 15, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 3866.63, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 16, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 10, "algorithm": "medium", "perf": 3960.0, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 22, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 4103.49, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 25, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 4055.32, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 26, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 3849.89, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 28, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 3, "algorithm": "medium", "perf": 3838.76, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 32, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 3898.38, "source": "autotuned"}, +{"m": 4, "n": 45, "k": 45, "tile_m": 1, "tile_n": 6, "w": 16, "v": 42, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3792.73, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 456.734, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 547.936, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 27, "algorithm": "medium", "perf": 627.773, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 648.722, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 712.755, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 12, "algorithm": "medium", "perf": 770.569, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 4, "minblocks": 6, "algorithm": "medium", "perf": 820.199, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 889.483, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 987.785, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 16, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1025.03, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 3, "minblocks": 16, "algorithm": "medium", "perf": 1126.7, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 23, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 4, "minblocks": 14, "algorithm": "medium", "perf": 1135.53, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 25, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 3, "minblocks": 16, "algorithm": "medium", "perf": 1184.31, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 1142.17, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 28, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 11, "minblocks": 10, "algorithm": "medium", "perf": 1196.49, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 23, "algorithm": "medium", "perf": 1245.14, "source": "autotuned"}, +{"m": 5, "n": 4, "k": 45, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 3, "minblocks": 17, "algorithm": "medium", "perf": 1310.16, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 557.737, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 695.086, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 811.011, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 803.107, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 876.847, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 4, "minblocks": 26, "algorithm": "medium", "perf": 967.401, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 4, "minblocks": 9, "algorithm": "medium", "perf": 1002.24, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 12, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 4, "minblocks": 6, "algorithm": "medium", "perf": 1130.87, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 22, "algorithm": "small", "perf": 1148.66, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 14, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 29, "algorithm": "small", "perf": 1201.59, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 3, "minblocks": 6, "algorithm": "small", "perf": 1244.73, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 16, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 1, "algorithm": "small", "perf": 1321.81, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 4, "minblocks": 14, "algorithm": "medium", "perf": 1408.73, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 23, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 18, "minblocks": 2, "algorithm": "medium", "perf": 1399.14, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 24, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 2, "minblocks": 1, "algorithm": "small", "perf": 1434.65, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 25, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 4, "minblocks": 15, "algorithm": "medium", "perf": 1468.63, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 23, "algorithm": "medium", "perf": 1465.29, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 28, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 25, "algorithm": "medium", "perf": 1513.7, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 24, "algorithm": "medium", "perf": 1589.06, "source": "autotuned"}, +{"m": 5, "n": 5, "k": 45, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 6, "algorithm": "medium", "perf": 1655.15, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 673.023, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 820.523, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 881.939, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 985.439, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 25, "algorithm": "medium", "perf": 1076.66, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 1159.81, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 4, "minblocks": 27, "algorithm": "medium", "perf": 1216.16, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 1320.49, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 14, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1387.99, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1450.68, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1562.21, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 1683.83, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 19, "algorithm": "medium", "perf": 1746.98, "source": "autotuned"}, +{"m": 5, "n": 6, "k": 45, "tile_m": 1, "tile_n": 1, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 1909.47, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 4, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 739.478, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 26, "algorithm": "medium", "perf": 788.035, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 899.345, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 977.24, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1079.15, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1156.27, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1200.41, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 27, "algorithm": "small", "perf": 1424.46, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1430.12, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 3, "minblocks": 26, "algorithm": "medium", "perf": 1649.56, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 25, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 3, "minblocks": 25, "algorithm": "medium", "perf": 1714.78, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 26, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 3, "minblocks": 25, "algorithm": "medium", "perf": 1699.51, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 28, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1736.34, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 17, "algorithm": "medium", "perf": 1855.44, "source": "autotuned"}, +{"m": 5, "n": 7, "k": 45, "tile_m": 3, "tile_n": 1, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2007.73, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 778.444, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 900.267, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 1055.54, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1134.58, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 31, "algorithm": "small", "perf": 1140.6, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1299.36, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1390.57, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1485.47, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1637.4, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 1839.11, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 26, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1911.78, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 18, "algorithm": "medium", "perf": 2109.0, "source": "autotuned"}, +{"m": 5, "n": 8, "k": 45, "tile_m": 3, "tile_n": 1, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2277.75, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 15, "algorithm": "medium", "perf": 860.916, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 1000.64, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 26, "algorithm": "medium", "perf": 1113.25, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 13, "minblocks": 1, "algorithm": "medium", "perf": 1222.28, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 8, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1340.32, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1427.34, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1540.8, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1640.26, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 14, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1742.4, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 21, "algorithm": "medium", "perf": 1697.46, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 16, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 1769.59, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 2000.29, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 23, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2029.71, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 25, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 2060.4, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 26, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2083.24, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 28, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2144.74, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2284.62, "source": "autotuned"}, +{"m": 5, "n": 9, "k": 45, "tile_m": 3, "tile_n": 1, "w": 20, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2423.49, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 954.952, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1107.13, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1242.56, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 16, "algorithm": "medium", "perf": 1330.78, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 8, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1480.0, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1593.52, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1559.48, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 1737.53, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 14, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 1806.06, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 1, "algorithm": "medium", "perf": 1845.88, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 2184.8, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 26, "tile_m": 3, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2347.77, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2481.4, "source": "autotuned"}, +{"m": 5, "n": 10, "k": 45, "tile_m": 3, "tile_n": 1, "w": 18, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2622.59, "source": "autotuned"}, +{"m": 5, "n": 12, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 11, "minblocks": 23, "algorithm": "medium", "perf": 1295.41, "source": "autotuned"}, +{"m": 5, "n": 12, "k": 12, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1996.38, "source": "autotuned"}, +{"m": 5, "n": 12, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 11, "algorithm": "medium", "perf": 2033.87, "source": "autotuned"}, +{"m": 5, "n": 12, "k": 26, "tile_m": 3, "tile_n": 1, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2666.36, "source": "autotuned"}, +{"m": 5, "n": 12, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2847.44, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 4, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 1173.74, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1325.52, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1546.38, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1682.94, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 8, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1726.92, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1868.74, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 1894.76, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 12, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 2091.46, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2113.54, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 14, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2202.03, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2234.8, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 16, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2351.02, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2702.78, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 23, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2732.69, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 24, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 2779.76, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 25, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 2765.14, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 26, "tile_m": 3, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2827.65, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 28, "tile_m": 3, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2871.56, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 2958.27, "source": "autotuned"}, +{"m": 5, "n": 13, "k": 45, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 3093.75, "source": "autotuned"}, +{"m": 5, "n": 14, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1419.58, "source": "autotuned"}, +{"m": 5, "n": 14, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1669.01, "source": "autotuned"}, +{"m": 5, "n": 14, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2003.97, "source": "autotuned"}, +{"m": 5, "n": 14, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2039.36, "source": "autotuned"}, +{"m": 5, "n": 14, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 25, "algorithm": "medium", "perf": 2259.2, "source": "autotuned"}, +{"m": 5, "n": 14, "k": 14, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 25, "algorithm": "medium", "perf": 2302.99, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 4, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1348.37, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1546.97, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 14, "algorithm": "medium", "perf": 1772.98, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1785.74, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 8, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1943.93, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2022.26, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2142.76, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2344.95, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2529.91, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 16, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2666.91, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2972.37, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 25, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3045.61, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 26, "tile_m": 3, "tile_n": 1, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3115.16, "source": "autotuned"}, +{"m": 5, "n": 15, "k": 45, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 3398.71, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 4, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1415.25, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1641.81, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2142.4, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 25, "algorithm": "medium", "perf": 2511.85, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2709.65, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 16, "tile_m": 3, "tile_n": 1, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3030.93, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 22, "tile_m": 3, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3309.3, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 23, "tile_m": 3, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3282.83, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 25, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3262.78, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 26, "tile_m": 3, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3332.59, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3344.17, "source": "autotuned"}, +{"m": 5, "n": 16, "k": 45, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 6, "algorithm": "medium", "perf": 3556.08, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 96, "grouping": 12, "minblocks": 12, "algorithm": "medium", "perf": 1689.82, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 6, "minblocks": 26, "algorithm": "medium", "perf": 1894.77, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 6, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 2190.95, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2114.96, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2377.29, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2318.77, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 10, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2632.97, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2902.99, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 15, "tile_m": 3, "tile_n": 2, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3007.19, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 16, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3294.27, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 22, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3450.34, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 23, "tile_m": 3, "tile_n": 2, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3273.99, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 25, "tile_m": 3, "tile_n": 2, "w": 12, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3338.42, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 26, "tile_m": 3, "tile_n": 2, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3331.46, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 9, "algorithm": "medium", "perf": 3655.12, "source": "autotuned"}, +{"m": 5, "n": 22, "k": 45, "tile_m": 3, "tile_n": 2, "w": 18, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3859.35, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 4, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1770.04, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 1989.26, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2467.99, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 13, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2951.09, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 16, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3260.54, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 22, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3265.54, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 23, "tile_m": 3, "tile_n": 2, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3216.81, "source": "autotuned"}, +{"m": 5, "n": 23, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 4, "algorithm": "medium", "perf": 3441.81, "source": "autotuned"}, +{"m": 5, "n": 24, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2052.98, "source": "autotuned"}, +{"m": 5, "n": 24, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3145.35, "source": "autotuned"}, +{"m": 5, "n": 24, "k": 24, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3659.45, "source": "autotuned"}, +{"m": 5, "n": 24, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 1, "algorithm": "medium", "perf": 3659.89, "source": "autotuned"}, +{"m": 5, "n": 24, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 4, "algorithm": "medium", "perf": 3829.71, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 25, "algorithm": "medium", "perf": 1806.14, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 25, "algorithm": "medium", "perf": 2146.59, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 2383.09, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 2649.02, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 13, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3136.32, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 15, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 3317.66, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 16, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3450.34, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 22, "tile_m": 3, "tile_n": 2, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3397.17, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 25, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 12, "minblocks": 10, "algorithm": "medium", "perf": 3582.78, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 1, "algorithm": "medium", "perf": 3620.28, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 28, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3653.32, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 4, "algorithm": "medium", "perf": 3783.09, "source": "autotuned"}, +{"m": 5, "n": 25, "k": 45, "tile_m": 3, "tile_n": 2, "w": 16, "v": 18, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3982.14, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 1936.69, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2215.14, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 6, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2628.19, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 2449.03, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2731.11, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2733.86, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 10, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 2953.23, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 12, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3298.26, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3426.08, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 15, "tile_m": 3, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3505.14, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 16, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3773.85, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 22, "tile_m": 3, "tile_n": 2, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3498.49, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 23, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 6, "algorithm": "medium", "perf": 3659.75, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 24, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3824.72, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 25, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 3646.0, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 3892.24, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 28, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3902.61, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 4079.71, "source": "autotuned"}, +{"m": 5, "n": 26, "k": 45, "tile_m": 3, "tile_n": 2, "w": 18, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4143.38, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2079.27, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 2380.74, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 2483.36, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2910.84, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 28, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3567.41, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 25, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 3836.11, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 4045.71, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 28, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 4046.67, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 4257.19, "source": "autotuned"}, +{"m": 5, "n": 28, "k": 45, "tile_m": 3, "tile_n": 2, "w": 18, "v": 28, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4221.01, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 4, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2238.05, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 2594.84, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 6, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3050.81, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2894.96, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 3110.28, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 9, "tile_m": 3, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3350.86, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 10, "tile_m": 3, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3610.54, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 12, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3872.18, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4036.18, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 16, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4097.28, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 22, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 4290.54, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 24, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 4360.05, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 25, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 4234.13, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 4422.21, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 28, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 5, "algorithm": "medium", "perf": 4403.6, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 1, "algorithm": "medium", "perf": 4629.35, "source": "autotuned"}, +{"m": 5, "n": 32, "k": 45, "tile_m": 3, "tile_n": 2, "w": 22, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4466.05, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2610.09, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 3051.24, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 6, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3459.66, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 3238.9, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 8, "tile_m": 3, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3460.4, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 9, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3675.17, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 10, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3810.88, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 13, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 4175.4, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 15, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 4264.49, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 16, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 4372.07, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 22, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 4155.14, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 25, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 3, "algorithm": "medium", "perf": 4316.1, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 26, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 4345.42, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 28, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 5, "algorithm": "medium", "perf": 4423.47, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 32, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 4573.83, "source": "autotuned"}, +{"m": 5, "n": 45, "k": 45, "tile_m": 5, "tile_n": 2, "w": 16, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4510.09, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 541.907, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 11, "algorithm": "medium", "perf": 668.983, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 728.613, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 823.187, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 5, "algorithm": "medium", "perf": 897.477, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 976.286, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 8, "algorithm": "medium", "perf": 1048.1, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1159.89, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1285.31, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1414.01, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1517.43, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 3, "minblocks": 4, "algorithm": "medium", "perf": 1609.93, "source": "autotuned"}, +{"m": 6, "n": 4, "k": 45, "tile_m": 1, "tile_n": 1, "w": 20, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 1810.71, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 688.008, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 843.302, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 912.045, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 1022.77, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 1169.34, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 26, "algorithm": "medium", "perf": 1222.46, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 6, "algorithm": "medium", "perf": 1295.96, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1427.22, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 14, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 1494.58, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1584.38, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1715.32, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 160, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1877.0, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 2, "minblocks": 19, "algorithm": "medium", "perf": 1967.52, "source": "autotuned"}, +{"m": 6, "n": 5, "k": 45, "tile_m": 1, "tile_n": 1, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2144.28, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 10, "minblocks": 16, "algorithm": "medium", "perf": 772.552, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 930.07, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 11, "algorithm": "medium", "perf": 1011.15, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 1126.38, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1237.8, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1299.28, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1414.98, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 4, "minblocks": 7, "algorithm": "small", "perf": 1572.58, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 14, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 11, "algorithm": "small", "perf": 1611.16, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 4, "minblocks": 8, "algorithm": "small", "perf": 1680.72, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 27, "algorithm": "medium", "perf": 1852.2, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 1974.34, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 32, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 2114.42, "source": "autotuned"}, +{"m": 6, "n": 6, "k": 45, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 2364.22, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 9, "minblocks": 9, "algorithm": "medium", "perf": 895.441, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 999.909, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1154.27, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1275.36, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1390.57, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1509.73, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 1497.15, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1754.64, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1807.63, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 160, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2030.03, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2099.56, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 32, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 4, "minblocks": 3, "algorithm": "medium", "perf": 2239.87, "source": "autotuned"}, +{"m": 6, "n": 7, "k": 45, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2402.28, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 994.971, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1200.84, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1352.39, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 13, "minblocks": 13, "algorithm": "medium", "perf": 1501.74, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 30, "algorithm": "small", "perf": 1446.78, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1627.41, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1740.4, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1900.43, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2086.19, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2232.4, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2388.81, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2678.54, "source": "autotuned"}, +{"m": 6, "n": 8, "k": 45, "tile_m": 1, "tile_n": 2, "w": 20, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2727.44, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 1071.69, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 4, "algorithm": "medium", "perf": 1275.03, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1465.47, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1637.3, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1684.27, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1758.87, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1902.88, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2077.93, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 14, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2200.36, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2109.3, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 2381.98, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2548.89, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 32, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2781.56, "source": "autotuned"}, +{"m": 6, "n": 9, "k": 45, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2878.68, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 3, "algorithm": "medium", "perf": 1206.76, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1428.35, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 1655.24, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1682.38, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1880.39, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1950.99, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1991.33, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2190.54, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 14, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2309.77, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2353.44, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2666.9, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 26, "tile_m": 1, "tile_n": 2, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2897.84, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 32, "tile_m": 1, "tile_n": 2, "w": 14, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3061.53, "source": "autotuned"}, +{"m": 6, "n": 10, "k": 45, "tile_m": 1, "tile_n": 2, "w": 16, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3128.69, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 4, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1404.74, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1614.78, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1840.31, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2049.42, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 8, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2066.87, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2216.03, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2264.45, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2521.09, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 14, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2623.53, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 27, "algorithm": "medium", "perf": 2683.09, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 22, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3134.82, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 26, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3299.49, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 32, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3433.42, "source": "autotuned"}, +{"m": 6, "n": 13, "k": 45, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 3658.66, "source": "autotuned"}, +{"m": 6, "n": 14, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1717.72, "source": "autotuned"}, +{"m": 6, "n": 14, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1992.06, "source": "autotuned"}, +{"m": 6, "n": 14, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2358.63, "source": "autotuned"}, +{"m": 6, "n": 14, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 2427.5, "source": "autotuned"}, +{"m": 6, "n": 14, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2707.47, "source": "autotuned"}, +{"m": 6, "n": 14, "k": 14, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2749.16, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 4, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 1612.3, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1828.19, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2117.95, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2123.38, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 8, "tile_m": 3, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2357.3, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 9, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 23, "algorithm": "medium", "perf": 2384.5, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 10, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 2569.41, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 13, "tile_m": 3, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2779.97, "source": "autotuned"}, +{"m": 6, "n": 15, "k": 15, "tile_m": 3, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3003.16, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 96, "grouping": 16, "minblocks": 3, "algorithm": "medium", "perf": 2007.57, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 2369.16, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 22, "algorithm": "medium", "perf": 2291.06, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 7, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2556.54, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2736.61, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2909.11, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 10, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 3167.3, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 13, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3630.14, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 22, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4004.01, "source": "autotuned"}, +{"m": 6, "n": 22, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 4, "algorithm": "medium", "perf": 4298.39, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2265.68, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2665.22, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 2667.5, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 2917.86, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 3131.94, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3288.12, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 10, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3522.55, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 13, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 4005.2, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 26, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 4508.07, "source": "autotuned"}, +{"m": 6, "n": 26, "k": 45, "tile_m": 3, "tile_n": 2, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4822.94, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 27, "algorithm": "medium", "perf": 2691.45, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 26, "algorithm": "medium", "perf": 3178.99, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 3142.51, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 7, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3420.92, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3677.99, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 9, "tile_m": 3, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3993.33, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 10, "tile_m": 3, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4327.3, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4710.91, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 22, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 4990.54, "source": "autotuned"}, +{"m": 6, "n": 32, "k": 32, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 3, "algorithm": "medium", "perf": 5361.37, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3216.16, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3700.91, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 6, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 17, "algorithm": "medium", "perf": 3598.84, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 7, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3938.73, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 8, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4223.37, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 9, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4447.05, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 10, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4571.89, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 13, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 5008.7, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 26, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 6, "algorithm": "medium", "perf": 5144.46, "source": "autotuned"}, +{"m": 6, "n": 45, "k": 45, "tile_m": 3, "tile_n": 3, "w": 16, "v": 42, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5337.64, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 639.311, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 717.429, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 804.703, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 890.352, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 995.786, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 1048.9, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1076.51, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1241.59, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 4, "minblocks": 16, "algorithm": "medium", "perf": 1270.47, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 23, "algorithm": "medium", "perf": 1476.09, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 25, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1475.06, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1505.15, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 28, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 1562.24, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 32, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 2, "algorithm": "medium", "perf": 1616.71, "source": "autotuned"}, +{"m": 7, "n": 4, "k": 45, "tile_m": 1, "tile_n": 1, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 1834.34, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 731.578, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 820.064, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 936.871, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 1040.45, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1144.06, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1212.28, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1242.03, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1444.39, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1486.25, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 1639.9, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 25, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 1681.6, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 26, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 1704.16, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 28, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1732.76, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 32, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 1835.27, "source": "autotuned"}, +{"m": 7, "n": 5, "k": 45, "tile_m": 2, "tile_n": 1, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 1987.11, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 875.089, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 987.245, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1120.96, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1239.28, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1373.83, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1444.54, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1484.92, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1722.19, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1763.18, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 22, "tile_m": 2, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 1946.5, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 26, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 2018.44, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 32, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2151.45, "source": "autotuned"}, +{"m": 7, "n": 6, "k": 45, "tile_m": 2, "tile_n": 1, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2360.78, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 32, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1006.18, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 11, "algorithm": "medium", "perf": 1105.8, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 1266.47, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1369.54, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1512.1, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 26, "algorithm": "medium", "perf": 1631.69, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 30, "algorithm": "small", "perf": 1709.52, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "small", "perf": 1989.94, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1958.46, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2319.0, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 25, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 2381.7, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 26, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 2395.99, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 28, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2376.27, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 32, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2559.9, "source": "autotuned"}, +{"m": 7, "n": 7, "k": 45, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2800.52, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 9, "algorithm": "medium", "perf": 1089.74, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 1287.76, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1487.55, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 1585.88, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 8, "algorithm": "small", "perf": 1598.17, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1808.1, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1903.0, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2083.1, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2212.88, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2449.1, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 26, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2570.4, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 32, "tile_m": 4, "tile_n": 1, "w": 14, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2822.93, "source": "autotuned"}, +{"m": 7, "n": 8, "k": 45, "tile_m": 4, "tile_n": 1, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2875.97, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 1130.19, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 1308.44, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1481.58, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1608.52, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1765.1, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1903.57, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2035.66, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2149.9, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2157.07, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2508.62, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 25, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2565.35, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 26, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2592.0, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 28, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2668.36, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 32, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2793.76, "source": "autotuned"}, +{"m": 7, "n": 9, "k": 45, "tile_m": 4, "tile_n": 1, "w": 18, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2950.97, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 1255.1, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 1434.2, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 1643.13, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1770.27, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1948.43, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2114.01, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2051.3, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2232.77, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2371.43, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2759.48, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 26, "tile_m": 4, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2973.98, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 32, "tile_m": 4, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3112.95, "source": "autotuned"}, +{"m": 7, "n": 10, "k": 45, "tile_m": 4, "tile_n": 1, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3243.98, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 1605.48, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1786.43, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2027.98, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2291.22, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2248.43, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2461.21, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2453.09, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2740.55, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2923.83, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3423.29, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 25, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 3481.81, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 26, "tile_m": 4, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3549.4, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 28, "tile_m": 4, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3594.92, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 32, "tile_m": 4, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3588.43, "source": "autotuned"}, +{"m": 7, "n": 13, "k": 45, "tile_m": 4, "tile_n": 1, "w": 18, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3868.06, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 5, "algorithm": "medium", "perf": 1846.87, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2064.75, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2361.22, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2341.06, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2592.26, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2631.44, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2722.98, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3035.03, "source": "autotuned"}, +{"m": 7, "n": 15, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 3232.25, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 4, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2287.7, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2388.81, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2580.15, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 7, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 23, "algorithm": "medium", "perf": 2816.84, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 3045.93, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 9, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 3161.36, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 10, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3378.25, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 13, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3846.27, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 22, "tile_m": 2, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4197.84, "source": "autotuned"}, +{"m": 7, "n": 22, "k": 32, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 7, "algorithm": "medium", "perf": 4651.97, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 4, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2394.63, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 5, "tile_m": 4, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2616.1, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 3010.77, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 9, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3451.78, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 13, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4078.33, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 25, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 4555.55, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 26, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 6, "algorithm": "medium", "perf": 4647.47, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 28, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 4619.73, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 32, "tile_m": 4, "tile_n": 2, "w": 14, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4760.69, "source": "autotuned"}, +{"m": 7, "n": 25, "k": 45, "tile_m": 4, "tile_n": 2, "w": 16, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5154.28, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 4, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 25, "algorithm": "medium", "perf": 2529.6, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2587.17, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2904.46, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3125.23, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 8, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3453.36, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 9, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3477.74, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 10, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3892.88, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 13, "tile_m": 4, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4407.34, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 25, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 4589.67, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 26, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 4841.61, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 28, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 4928.38, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 32, "tile_m": 4, "tile_n": 2, "w": 14, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5020.82, "source": "autotuned"}, +{"m": 7, "n": 26, "k": 45, "tile_m": 4, "tile_n": 2, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5378.05, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 4, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2701.81, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2742.75, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 7, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 3192.52, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 9, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3726.05, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 13, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4285.49, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 25, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 4853.0, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 26, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 4, "algorithm": "medium", "perf": 5084.03, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 28, "tile_m": 4, "tile_n": 2, "w": 12, "v": 28, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4938.27, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 32, "tile_m": 4, "tile_n": 2, "w": 12, "v": 28, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5228.3, "source": "autotuned"}, +{"m": 7, "n": 28, "k": 45, "tile_m": 4, "tile_n": 2, "w": 16, "v": 28, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5567.58, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 4, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2989.9, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 3142.24, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 3474.95, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 7, "tile_m": 7, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 3672.05, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 8, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4061.69, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 9, "tile_m": 4, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4344.62, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 10, "tile_m": 4, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4725.22, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 13, "tile_m": 4, "tile_n": 2, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5153.31, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 22, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 5540.88, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 25, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 5394.94, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 26, "tile_m": 4, "tile_n": 2, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5234.34, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 28, "tile_m": 4, "tile_n": 2, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5399.28, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 32, "tile_m": 4, "tile_n": 2, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5587.2, "source": "autotuned"}, +{"m": 7, "n": 32, "k": 45, "tile_m": 4, "tile_n": 2, "w": 22, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5835.16, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 4, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3576.15, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 5, "tile_m": 4, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 3740.99, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 6, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 4004.07, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 7, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4371.16, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 8, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4727.22, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 9, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5003.77, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 10, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4975.24, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 13, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 5373.34, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 25, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 6, "algorithm": "medium", "perf": 5636.15, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 26, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 5722.39, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 28, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 5819.76, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 32, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 3, "algorithm": "medium", "perf": 6005.45, "source": "autotuned"}, +{"m": 7, "n": 45, "k": 45, "tile_m": 4, "tile_n": 3, "w": 16, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5993.84, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 16, "algorithm": "medium", "perf": 606.914, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 6, "algorithm": "medium", "perf": 837.958, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 9, "algorithm": "medium", "perf": 974.924, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 1093.12, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 6, "minblocks": 2, "algorithm": "small", "perf": 1028.78, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 1200.49, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 1321.75, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 13, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 15, "algorithm": "medium", "perf": 1430.33, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 15, "tile_m": 1, "tile_n": 1, "threads": 128, "grouping": 4, "minblocks": 13, "algorithm": "medium", "perf": 1565.38, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 22, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 6, "minblocks": 21, "algorithm": "medium", "perf": 1828.03, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 26, "tile_m": 1, "tile_n": 1, "threads": 32, "grouping": 3, "minblocks": 24, "algorithm": "medium", "perf": 1869.97, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 32, "tile_m": 1, "tile_n": 1, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2147.05, "source": "autotuned"}, +{"m": 8, "n": 4, "k": 45, "tile_m": 1, "tile_n": 1, "w": 20, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2268.87, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 802.926, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 957.532, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 10, "algorithm": "medium", "perf": 1105.16, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 7, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 1228.09, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 5, "minblocks": 27, "algorithm": "small", "perf": 1184.43, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1360.12, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1456.54, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1570.5, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 1737.16, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 25, "algorithm": "medium", "perf": 1900.07, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 1981.89, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 32, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 4, "minblocks": 2, "algorithm": "medium", "perf": 2171.81, "source": "autotuned"}, +{"m": 8, "n": 5, "k": 45, "tile_m": 1, "tile_n": 2, "w": 20, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2334.35, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 996.4, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1167.16, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1356.68, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 13, "minblocks": 13, "algorithm": "medium", "perf": 1493.62, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 29, "algorithm": "small", "perf": 1440.17, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 1632.02, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 1762.52, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1926.53, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2084.41, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2248.38, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2375.17, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2677.96, "source": "autotuned"}, +{"m": 8, "n": 6, "k": 45, "tile_m": 1, "tile_n": 2, "w": 20, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2709.65, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 1123.52, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 3, "algorithm": "medium", "perf": 1337.95, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 1543.68, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 26, "algorithm": "medium", "perf": 1689.95, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 25, "algorithm": "small", "perf": 1611.58, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 1887.35, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2016.67, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 2213.85, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2399.77, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 2554.17, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 2694.02, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2937.82, "source": "autotuned"}, +{"m": 8, "n": 7, "k": 45, "tile_m": 1, "tile_n": 2, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2994.7, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 13, "minblocks": 26, "algorithm": "medium", "perf": 1247.02, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 7, "minblocks": 26, "algorithm": "medium", "perf": 1492.22, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 1789.47, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 6, "algorithm": "medium", "perf": 1932.25, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "small", "perf": 2043.87, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2153.75, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 4, "minblocks": 16, "algorithm": "small", "perf": 2366.04, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2496.78, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 2720.99, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 3046.92, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3179.17, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 32, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3675.79, "source": "autotuned"}, +{"m": 8, "n": 8, "k": 45, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3688.73, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 8, "algorithm": "medium", "perf": 1311.16, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 1537.98, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1728.05, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 1924.27, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2022.7, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2186.37, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2313.65, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2461.93, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2499.73, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2828.01, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 26, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2935.09, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 32, "tile_m": 4, "tile_n": 1, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3233.33, "source": "autotuned"}, +{"m": 8, "n": 9, "k": 45, "tile_m": 4, "tile_n": 1, "w": 16, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3378.4, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 1488.84, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1727.8, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 6, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1957.64, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 7, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2028.95, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2264.3, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2414.0, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2387.38, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2571.88, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 15, "tile_m": 1, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2792.22, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3155.92, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 26, "tile_m": 4, "tile_n": 1, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3378.59, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 32, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3501.95, "source": "autotuned"}, +{"m": 8, "n": 10, "k": 45, "tile_m": 1, "tile_n": 3, "w": 18, "v": 10, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3626.51, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1872.49, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2048.56, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 12, "minblocks": 11, "algorithm": "medium", "perf": 2355.9, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2139.99, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2656.15, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2826.71, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2789.08, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 3094.79, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3306.99, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 22, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3840.13, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 26, "tile_m": 4, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4040.1, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 32, "tile_m": 4, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4088.06, "source": "autotuned"}, +{"m": 8, "n": 13, "k": 45, "tile_m": 4, "tile_n": 1, "w": 18, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4308.09, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 2147.21, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2368.54, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 96, "grouping": 12, "minblocks": 11, "algorithm": "medium", "perf": 2656.5, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2716.78, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 8, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2993.02, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 9, "tile_m": 4, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2934.25, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 10, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 3128.42, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 13, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3431.53, "source": "autotuned"}, +{"m": 8, "n": 15, "k": 15, "tile_m": 4, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 3684.64, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 4, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2637.53, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 5, "tile_m": 2, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2760.72, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 3010.27, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 3294.27, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 8, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 3435.22, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 9, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 21, "algorithm": "medium", "perf": 3584.83, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 10, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3869.34, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 13, "tile_m": 2, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4382.83, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 22, "tile_m": 2, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4719.59, "source": "autotuned"}, +{"m": 8, "n": 22, "k": 32, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 5291.57, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2623.22, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2891.13, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 3285.24, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3569.74, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 3659.43, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 9, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3863.66, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 10, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4164.08, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 13, "tile_m": 4, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4739.11, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 26, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 9, "algorithm": "medium", "perf": 5379.21, "source": "autotuned"}, +{"m": 8, "n": 26, "k": 45, "tile_m": 4, "tile_n": 2, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5975.06, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 4, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 3168.0, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 5, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 3540.28, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 6, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 3940.96, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 7, "tile_m": 4, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 4168.74, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4502.51, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 9, "tile_m": 4, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4715.06, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 10, "tile_m": 4, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5126.73, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 13, "tile_m": 4, "tile_n": 2, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5481.4, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 22, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 12, "minblocks": 5, "algorithm": "medium", "perf": 5991.24, "source": "autotuned"}, +{"m": 8, "n": 32, "k": 32, "tile_m": 4, "tile_n": 2, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 6345.81, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 4, "tile_m": 2, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 3646.71, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 5, "tile_m": 2, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 4011.65, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 6, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4422.18, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 7, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4843.01, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 8, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5142.17, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 9, "tile_m": 4, "tile_n": 3, "w": 4, "v": 36, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5410.71, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 10, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5617.98, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 13, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 5983.97, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 26, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "medium", "perf": 6482.52, "source": "autotuned"}, +{"m": 8, "n": 45, "k": 45, "tile_m": 4, "tile_n": 3, "w": 16, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6756.8, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 710.844, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 815.376, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 942.804, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 4, "algorithm": "medium", "perf": 1010.96, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 1071.43, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 9, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1149.08, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 10, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1243.28, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1324.03, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 15, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 1370.84, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 16, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1378.11, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 1531.01, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 23, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 1560.59, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 25, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 1539.14, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1619.45, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 28, "tile_m": 1, "tile_n": 4, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 1755.88, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 1762.29, "source": "autotuned"}, +{"m": 9, "n": 4, "k": 45, "tile_m": 1, "tile_n": 4, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 1888.7, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 873.445, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 1009.45, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 25, "algorithm": "medium", "perf": 1137.93, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 6, "minblocks": 12, "algorithm": "medium", "perf": 1247.22, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 8, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 6, "minblocks": 11, "algorithm": "medium", "perf": 1283.29, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 9, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 6, "minblocks": 7, "algorithm": "medium", "perf": 1361.01, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 10, "tile_m": 1, "tile_n": 1, "threads": 96, "grouping": 6, "minblocks": 9, "algorithm": "medium", "perf": 1426.84, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1562.27, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 14, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 1629.97, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1589.56, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 16, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1667.41, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1797.57, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 23, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1819.02, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 25, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1891.64, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 4, "minblocks": 11, "algorithm": "medium", "perf": 1804.17, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 1989.57, "source": "autotuned"}, +{"m": 9, "n": 5, "k": 45, "tile_m": 2, "tile_n": 1, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2101.64, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 11, "minblocks": 23, "algorithm": "medium", "perf": 1007.51, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 11, "minblocks": 21, "algorithm": "medium", "perf": 1194.95, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1336.79, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 5, "algorithm": "medium", "perf": 1468.33, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1517.02, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 1593.94, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1729.62, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1863.81, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 14, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 1932.56, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1895.48, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 2054.94, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 26, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2156.11, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 32, "tile_m": 2, "tile_n": 1, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2342.65, "source": "autotuned"}, +{"m": 9, "n": 6, "k": 45, "tile_m": 1, "tile_n": 2, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2470.28, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 4, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 21, "algorithm": "medium", "perf": 1134.66, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 5, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 3, "algorithm": "medium", "perf": 1295.2, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 6, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 11, "algorithm": "medium", "perf": 1459.74, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 7, "tile_m": 1, "tile_n": 1, "threads": 64, "grouping": 7, "minblocks": 15, "algorithm": "medium", "perf": 1584.18, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1622.82, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 9, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 31, "algorithm": "small", "perf": 1762.91, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 10, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 29, "algorithm": "small", "perf": 1863.04, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 13, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 30, "algorithm": "small", "perf": 2034.91, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 15, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2006.67, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 22, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2304.32, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 25, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2359.03, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 26, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2396.49, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 28, "tile_m": 6, "tile_n": 1, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2465.44, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 32, "tile_m": 6, "tile_n": 1, "w": 14, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2553.77, "source": "autotuned"}, +{"m": 9, "n": 7, "k": 45, "tile_m": 6, "tile_n": 1, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2676.63, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1251.3, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1424.2, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 1624.13, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1736.48, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1860.93, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1972.75, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 10, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 4, "minblocks": 31, "algorithm": "small", "perf": 1778.85, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2198.66, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 15, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2259.69, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 22, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2578.21, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 26, "tile_m": 6, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2671.94, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 32, "tile_m": 6, "tile_n": 1, "w": 14, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2951.74, "source": "autotuned"}, +{"m": 9, "n": 8, "k": 45, "tile_m": 6, "tile_n": 1, "w": 20, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3020.51, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 4, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1372.24, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1609.35, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 5, "minblocks": 31, "algorithm": "small", "perf": 1791.8, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1952.42, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "small", "perf": 2109.24, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "small", "perf": 2232.46, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "small", "perf": 2374.72, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 12, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "small", "perf": 2403.22, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "small", "perf": 2477.89, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 14, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "small", "perf": 2600.65, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2598.63, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 16, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2703.35, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 17, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 25, "algorithm": "medium", "perf": 2756.7, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 22, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2869.8, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 23, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2899.76, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 25, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2919.48, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 26, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2934.88, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 28, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 3029.79, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 32, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 3366.19, "source": "autotuned"}, +{"m": 9, "n": 9, "k": 45, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 3328.79, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1529.71, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 5, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 1764.23, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 6, "tile_m": 3, "tile_n": 1, "threads": 64, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 1926.48, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2089.29, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2279.19, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2413.86, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2336.06, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2536.0, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 14, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 2649.12, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 2735.49, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 22, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2991.87, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 26, "tile_m": 5, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3253.73, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 32, "tile_m": 5, "tile_n": 1, "w": 14, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3374.41, "source": "autotuned"}, +{"m": 9, "n": 10, "k": 45, "tile_m": 5, "tile_n": 1, "w": 16, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3531.03, "source": "autotuned"}, +{"m": 9, "n": 12, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2650.53, "source": "autotuned"}, +{"m": 9, "n": 12, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2810.72, "source": "autotuned"}, +{"m": 9, "n": 12, "k": 32, "tile_m": 5, "tile_n": 1, "w": 14, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3851.18, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 4, "tile_m": 6, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1821.04, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2125.73, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2418.01, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2632.01, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2611.41, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2830.15, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2799.25, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 3114.59, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 14, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 3284.53, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 3291.07, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 16, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3396.47, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 22, "tile_m": 5, "tile_n": 1, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3724.85, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 23, "tile_m": 5, "tile_n": 1, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3721.87, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 25, "tile_m": 5, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3842.3, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 26, "tile_m": 5, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3864.06, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 32, "tile_m": 5, "tile_n": 1, "w": 14, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4001.25, "source": "autotuned"}, +{"m": 9, "n": 13, "k": 45, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 4308.68, "source": "autotuned"}, +{"m": 9, "n": 14, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2291.19, "source": "autotuned"}, +{"m": 9, "n": 14, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2585.42, "source": "autotuned"}, +{"m": 9, "n": 14, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3080.2, "source": "autotuned"}, +{"m": 9, "n": 14, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3033.03, "source": "autotuned"}, +{"m": 9, "n": 14, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3312.04, "source": "autotuned"}, +{"m": 9, "n": 14, "k": 14, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 3428.22, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 4, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2082.8, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2443.96, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2709.27, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2764.02, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2975.39, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2999.46, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3220.4, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 3542.47, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3671.84, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 16, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3848.73, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 22, "tile_m": 5, "tile_n": 1, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4191.79, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 25, "tile_m": 5, "tile_n": 1, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4139.01, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 26, "tile_m": 5, "tile_n": 1, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4294.04, "source": "autotuned"}, +{"m": 9, "n": 15, "k": 45, "tile_m": 5, "tile_n": 1, "w": 16, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4758.73, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 4, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2243.19, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2631.95, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 25, "algorithm": "medium", "perf": 3236.52, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 3753.93, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3941.4, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 16, "tile_m": 5, "tile_n": 1, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4296.64, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 17, "tile_m": 5, "tile_n": 1, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4327.97, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 22, "tile_m": 5, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4564.08, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 23, "tile_m": 5, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4635.78, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 25, "tile_m": 5, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4554.54, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 26, "tile_m": 5, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4584.05, "source": "autotuned"}, +{"m": 9, "n": 16, "k": 45, "tile_m": 5, "tile_n": 1, "w": 16, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5128.18, "source": "autotuned"}, +{"m": 9, "n": 17, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 3055.67, "source": "autotuned"}, +{"m": 9, "n": 17, "k": 16, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3928.08, "source": "autotuned"}, +{"m": 9, "n": 17, "k": 17, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3805.21, "source": "autotuned"}, +{"m": 9, "n": 17, "k": 22, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3983.11, "source": "autotuned"}, +{"m": 9, "n": 17, "k": 23, "tile_m": 5, "tile_n": 2, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4001.63, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2663.32, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 5, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2717.52, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2995.64, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 3260.49, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3491.18, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3612.59, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 10, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4031.11, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 13, "tile_m": 5, "tile_n": 2, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4298.5, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 15, "tile_m": 5, "tile_n": 2, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4511.66, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 16, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4701.77, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 17, "tile_m": 5, "tile_n": 2, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4495.4, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 22, "tile_m": 5, "tile_n": 2, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4712.36, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 23, "tile_m": 5, "tile_n": 2, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4839.33, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 25, "tile_m": 5, "tile_n": 2, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4979.77, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 26, "tile_m": 5, "tile_n": 2, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4993.16, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 32, "tile_m": 5, "tile_n": 2, "w": 14, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5296.36, "source": "autotuned"}, +{"m": 9, "n": 22, "k": 45, "tile_m": 5, "tile_n": 2, "w": 16, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5710.88, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2762.09, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 5, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2855.41, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3842.44, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 13, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4545.11, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 16, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4785.32, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 17, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4720.74, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 22, "tile_m": 5, "tile_n": 2, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4775.08, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 23, "tile_m": 5, "tile_n": 2, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4804.12, "source": "autotuned"}, +{"m": 9, "n": 23, "k": 26, "tile_m": 5, "tile_n": 2, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5020.53, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2631.81, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 5, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3069.39, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 4011.15, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 13, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4700.26, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 15, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4822.94, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 16, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4026.6, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 22, "tile_m": 5, "tile_n": 2, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5138.24, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 25, "tile_m": 5, "tile_n": 2, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5203.54, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 26, "tile_m": 5, "tile_n": 2, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5297.37, "source": "autotuned"}, +{"m": 9, "n": 25, "k": 45, "tile_m": 5, "tile_n": 2, "w": 16, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6026.28, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2787.22, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2980.3, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 3361.91, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 3650.41, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3934.0, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4043.49, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 10, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4546.87, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 13, "tile_m": 5, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4892.2, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 15, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4764.04, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 16, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5287.3, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 22, "tile_m": 5, "tile_n": 2, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5173.75, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 23, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 7, "algorithm": "medium", "perf": 5309.35, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 25, "tile_m": 5, "tile_n": 2, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5393.39, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 26, "tile_m": 5, "tile_n": 2, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5494.34, "source": "autotuned"}, +{"m": 9, "n": 26, "k": 45, "tile_m": 5, "tile_n": 2, "w": 16, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6214.33, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 4, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 3284.95, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 3622.63, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 4045.4, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 4383.98, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4856.13, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5049.29, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 10, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5503.15, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 13, "tile_m": 5, "tile_n": 2, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5860.99, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 22, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 6197.5, "source": "autotuned"}, +{"m": 9, "n": 32, "k": 32, "tile_m": 5, "tile_n": 2, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6675.51, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 3868.88, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 5, "tile_m": 5, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 4228.88, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 4508.08, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 7, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 5039.34, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 8, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5267.08, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 9, "tile_m": 5, "tile_n": 3, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5455.57, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 10, "tile_m": 5, "tile_n": 3, "w": 4, "v": 44, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5618.95, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 13, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 6179.09, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 15, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 6286.45, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 16, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 6428.45, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 22, "tile_m": 5, "tile_n": 3, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6611.86, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 25, "tile_m": 5, "tile_n": 3, "w": 12, "v": 44, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6788.31, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 26, "tile_m": 5, "tile_n": 3, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6887.5, "source": "autotuned"}, +{"m": 9, "n": 45, "k": 45, "tile_m": 5, "tile_n": 3, "w": 16, "v": 38, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7267.09, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 5, "algorithm": "medium", "perf": 818.08, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 23, "algorithm": "medium", "perf": 958.494, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 1114.04, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1144.91, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1274.91, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1358.16, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1368.63, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1531.02, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 1669.97, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1911.27, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 26, "tile_m": 1, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2044.86, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2166.9, "source": "autotuned"}, +{"m": 10, "n": 4, "k": 45, "tile_m": 1, "tile_n": 2, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2262.96, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1029.37, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1214.56, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1364.06, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 1393.91, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1545.46, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 1662.4, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1657.68, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1819.42, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 14, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1922.12, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1982.78, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 2259.01, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 26, "tile_m": 1, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2381.21, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 32, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2563.14, "source": "autotuned"}, +{"m": 10, "n": 5, "k": 45, "tile_m": 1, "tile_n": 2, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2674.95, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1208.74, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 11, "algorithm": "medium", "perf": 1428.52, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 6, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 21, "algorithm": "medium", "perf": 1645.23, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 7, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 12, "minblocks": 12, "algorithm": "medium", "perf": 1673.6, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 8, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1884.36, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 1976.12, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 10, "tile_m": 1, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2012.36, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2192.47, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 14, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2298.49, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2369.16, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 22, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 2654.98, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 26, "tile_m": 1, "tile_n": 2, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2910.0, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 32, "tile_m": 1, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3065.6, "source": "autotuned"}, +{"m": 10, "n": 6, "k": 45, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3117.86, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 4, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1244.33, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 4, "algorithm": "medium", "perf": 1460.35, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 6, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 1664.23, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 7, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1773.35, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 8, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1947.82, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2106.57, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 10, "tile_m": 1, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2033.78, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 26, "algorithm": "medium", "perf": 2247.62, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 15, "tile_m": 1, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2395.03, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 22, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 2747.18, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 26, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2839.46, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 32, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 3009.27, "source": "autotuned"}, +{"m": 10, "n": 7, "k": 45, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3117.73, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1494.72, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 1717.99, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 6, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 1952.75, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 7, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 14, "algorithm": "medium", "perf": 2008.78, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 8, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2248.81, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2347.81, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 10, "tile_m": 1, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2323.16, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 25, "algorithm": "medium", "perf": 2524.04, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 15, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 27, "algorithm": "medium", "perf": 2738.08, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 22, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 3087.14, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 26, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 3206.76, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 32, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3426.97, "source": "autotuned"}, +{"m": 10, "n": 8, "k": 45, "tile_m": 1, "tile_n": 3, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3377.11, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 4, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 1603.01, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 1888.7, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 6, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 9, "minblocks": 12, "algorithm": "medium", "perf": 2110.75, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 7, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 14, "algorithm": "medium", "perf": 2338.62, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 8, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 14, "algorithm": "medium", "perf": 2474.5, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 14, "algorithm": "medium", "perf": 2624.44, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 10, "tile_m": 1, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2607.19, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2822.2, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 14, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 27, "algorithm": "medium", "perf": 2944.85, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 15, "tile_m": 1, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3033.14, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 22, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 3342.82, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 26, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 3509.34, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 32, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 3778.23, "source": "autotuned"}, +{"m": 10, "n": 9, "k": 45, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 3768.62, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 1781.14, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2041.45, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 6, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2308.41, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1979.33, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 8, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2642.83, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 9, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2783.27, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 10, "tile_m": 1, "tile_n": 4, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2787.03, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 13, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3038.33, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 14, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 3166.62, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 15, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 3249.53, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 22, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3623.13, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 26, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 3867.38, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 32, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 4149.96, "source": "autotuned"}, +{"m": 10, "n": 10, "k": 45, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 4138.59, "source": "autotuned"}, +{"m": 10, "n": 12, "k": 10, "tile_m": 1, "tile_n": 4, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3283.3, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 4, "tile_m": 6, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2048.89, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2361.66, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2681.25, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2939.32, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2927.74, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3165.72, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3101.95, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 3462.17, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 14, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 3599.15, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3681.55, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 22, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4084.07, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 26, "tile_m": 5, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4214.03, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 32, "tile_m": 5, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4352.82, "source": "autotuned"}, +{"m": 10, "n": 13, "k": 45, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 4612.58, "source": "autotuned"}, +{"m": 10, "n": 14, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2526.26, "source": "autotuned"}, +{"m": 10, "n": 14, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2875.5, "source": "autotuned"}, +{"m": 10, "n": 14, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3371.04, "source": "autotuned"}, +{"m": 10, "n": 14, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3301.95, "source": "autotuned"}, +{"m": 10, "n": 14, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3680.4, "source": "autotuned"}, +{"m": 10, "n": 14, "k": 14, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 3833.06, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 4, "tile_m": 6, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 2377.92, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2697.47, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3054.19, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 7, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3090.03, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 8, "tile_m": 5, "tile_n": 1, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3379.43, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 9, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 3332.55, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 10, "tile_m": 5, "tile_n": 1, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3509.87, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 13, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3880.52, "source": "autotuned"}, +{"m": 10, "n": 15, "k": 15, "tile_m": 5, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4058.25, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 4, "tile_m": 1, "tile_n": 8, "threads": 96, "grouping": 12, "minblocks": 12, "algorithm": "medium", "perf": 2930.06, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 5, "tile_m": 1, "tile_n": 8, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3135.69, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3273.75, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 3596.1, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3821.35, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 4117.71, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 10, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4408.43, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 13, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4960.37, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 22, "tile_m": 5, "tile_n": 2, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5254.9, "source": "autotuned"}, +{"m": 10, "n": 22, "k": 32, "tile_m": 5, "tile_n": 2, "w": 12, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5831.24, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2999.5, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 3355.41, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 6, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 3693.46, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4026.32, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4428.49, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 4726.84, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 10, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4994.36, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 13, "tile_m": 5, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5488.73, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 26, "tile_m": 5, "tile_n": 2, "w": 10, "v": 18, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5985.94, "source": "autotuned"}, +{"m": 10, "n": 26, "k": 45, "tile_m": 5, "tile_n": 2, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6841.58, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 4, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 3618.08, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 5, "tile_m": 5, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 4050.43, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 4445.83, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 4739.21, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5250.23, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 9, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5615.79, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 10, "tile_m": 5, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6235.71, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 13, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6260.73, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 22, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 6717.52, "source": "autotuned"}, +{"m": 10, "n": 32, "k": 32, "tile_m": 5, "tile_n": 2, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7287.08, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 4, "tile_m": 5, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 4121.85, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 5, "tile_m": 6, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 4608.32, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 6, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4935.3, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 7, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 5454.68, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 8, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5746.48, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 9, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5949.0, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 10, "tile_m": 5, "tile_n": 3, "w": 4, "v": 30, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5818.28, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 13, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 6741.74, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 26, "tile_m": 5, "tile_n": 3, "w": 12, "v": 42, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7492.74, "source": "autotuned"}, +{"m": 10, "n": 45, "k": 45, "tile_m": 5, "tile_n": 3, "w": 16, "v": 42, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7902.34, "source": "autotuned"}, +{"m": 11, "n": 11, "k": 11, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "small", "perf": 3233.34, "source": "autotuned"}, +{"m": 12, "n": 12, "k": 12, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 4018.53, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 11, "minblocks": 22, "algorithm": "medium", "perf": 977.366, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1076.48, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 6, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1239.71, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1394.29, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 8, "tile_m": 1, "tile_n": 4, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 1374.27, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 1459.1, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 10, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1515.22, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 22, "algorithm": "medium", "perf": 1727.97, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 15, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1812.41, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 16, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1871.37, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2169.81, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 23, "tile_m": 1, "tile_n": 4, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2194.78, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 25, "tile_m": 1, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2214.5, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 26, "tile_m": 1, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2264.94, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 32, "tile_m": 1, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2379.83, "source": "autotuned"}, +{"m": 13, "n": 4, "k": 45, "tile_m": 1, "tile_n": 4, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2413.62, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 1107.91, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 1235.14, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 1431.48, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1526.0, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1547.34, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1631.33, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 10, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1663.82, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1880.45, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 14, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 1929.2, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 15, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 1963.04, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 16, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2026.94, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 22, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2299.29, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 23, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2322.15, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 25, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 2339.34, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2325.35, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 32, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2407.23, "source": "autotuned"}, +{"m": 13, "n": 5, "k": 45, "tile_m": 2, "tile_n": 2, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2484.85, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 1348.44, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 5, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1463.01, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1674.71, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 7, "tile_m": 1, "tile_n": 6, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 1770.93, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 8, "tile_m": 1, "tile_n": 6, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1847.55, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 64, "grouping": 6, "minblocks": 21, "algorithm": "medium", "perf": 1928.55, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 10, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2017.44, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 13, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2208.24, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 14, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2269.26, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 15, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2300.7, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2639.66, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 26, "tile_m": 2, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2738.31, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 32, "tile_m": 2, "tile_n": 2, "w": 14, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2898.51, "source": "autotuned"}, +{"m": 13, "n": 6, "k": 45, "tile_m": 2, "tile_n": 2, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2403.76, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 1514.17, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 15, "algorithm": "medium", "perf": 1618.23, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1850.0, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2006.43, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2040.19, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2182.35, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 25, "algorithm": "medium", "perf": 2150.8, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2488.16, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 2477.59, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 22, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2829.9, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 26, "tile_m": 2, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2929.86, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 32, "tile_m": 2, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2995.28, "source": "autotuned"}, +{"m": 13, "n": 7, "k": 45, "tile_m": 2, "tile_n": 2, "w": 16, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3184.46, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 1711.3, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 16, "algorithm": "medium", "perf": 1874.46, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 15, "algorithm": "medium", "perf": 2122.39, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 2253.34, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2293.15, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 2440.71, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2460.85, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 7, "minblocks": 18, "algorithm": "medium", "perf": 2677.48, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 2773.58, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 22, "tile_m": 8, "tile_n": 1, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3251.02, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 26, "tile_m": 8, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3372.62, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 32, "tile_m": 8, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3446.21, "source": "autotuned"}, +{"m": 13, "n": 8, "k": 45, "tile_m": 2, "tile_n": 2, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3566.38, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 1750.83, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1966.84, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2168.13, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 7, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2416.68, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 8, "tile_m": 2, "tile_n": 3, "threads": 128, "grouping": 13, "minblocks": 10, "algorithm": "medium", "perf": 2344.79, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2478.95, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2506.67, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 2801.98, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 14, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2917.73, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 15, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2908.6, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 16, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3023.55, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 22, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3268.56, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 23, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3262.84, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 25, "tile_m": 7, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3353.48, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 26, "tile_m": 7, "tile_n": 1, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3350.34, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 32, "tile_m": 7, "tile_n": 1, "w": 14, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3514.39, "source": "autotuned"}, +{"m": 13, "n": 9, "k": 45, "tile_m": 7, "tile_n": 1, "w": 18, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3667.58, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 64, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 1918.24, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2115.02, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2394.76, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 7, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2652.11, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2595.41, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 9, "tile_m": 7, "tile_n": 1, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2769.44, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 22, "algorithm": "medium", "perf": 2814.73, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3080.09, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 14, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3225.1, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 15, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3212.64, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 22, "tile_m": 7, "tile_n": 1, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3689.1, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 26, "tile_m": 7, "tile_n": 1, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3840.65, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 32, "tile_m": 7, "tile_n": 1, "w": 14, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3893.92, "source": "autotuned"}, +{"m": 13, "n": 10, "k": 45, "tile_m": 7, "tile_n": 1, "w": 18, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4168.96, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 4, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2456.47, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2691.31, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3070.59, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 7, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3353.27, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 8, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3354.04, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 9, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3530.11, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 3727.15, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4038.38, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 14, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 17, "algorithm": "medium", "perf": 4097.54, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 15, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 4096.59, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 16, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 4281.51, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 17, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4339.6, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 22, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4803.05, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 23, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4749.45, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 25, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 4800.82, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 26, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 16, "minblocks": 10, "algorithm": "medium", "perf": 4824.78, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 32, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 5001.25, "source": "autotuned"}, +{"m": 13, "n": 13, "k": 45, "tile_m": 7, "tile_n": 1, "w": 18, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5085.14, "source": "autotuned"}, +{"m": 13, "n": 14, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2928.41, "source": "autotuned"}, +{"m": 13, "n": 14, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3302.85, "source": "autotuned"}, +{"m": 13, "n": 14, "k": 9, "tile_m": 7, "tile_n": 1, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3760.52, "source": "autotuned"}, +{"m": 13, "n": 14, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3728.13, "source": "autotuned"}, +{"m": 13, "n": 14, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 4079.18, "source": "autotuned"}, +{"m": 13, "n": 14, "k": 14, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4188.65, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 4, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2732.9, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3117.65, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3548.71, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 7, "tile_m": 8, "tile_n": 1, "threads": 128, "grouping": 13, "minblocks": 10, "algorithm": "medium", "perf": 3498.1, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 8, "tile_m": 8, "tile_n": 1, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3760.21, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 9, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 3795.19, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3956.61, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4279.82, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 15, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4381.75, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 16, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4552.84, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 22, "tile_m": 7, "tile_n": 1, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4942.04, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 25, "tile_m": 7, "tile_n": 1, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4976.04, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 26, "tile_m": 7, "tile_n": 1, "w": 12, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5066.52, "source": "autotuned"}, +{"m": 13, "n": 15, "k": 45, "tile_m": 7, "tile_n": 1, "w": 18, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5642.43, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 4, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2951.97, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3389.6, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 9, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4105.05, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4586.43, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 15, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4752.15, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 16, "tile_m": 8, "tile_n": 1, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5207.05, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 22, "tile_m": 7, "tile_n": 1, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5421.35, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 23, "tile_m": 7, "tile_n": 1, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5360.9, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 25, "tile_m": 7, "tile_n": 1, "w": 12, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5384.71, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 26, "tile_m": 7, "tile_n": 1, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5508.85, "source": "autotuned"}, +{"m": 13, "n": 16, "k": 45, "tile_m": 7, "tile_n": 1, "w": 18, "v": 14, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6087.73, "source": "autotuned"}, +{"m": 13, "n": 17, "k": 13, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4423.08, "source": "autotuned"}, +{"m": 13, "n": 17, "k": 17, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4739.19, "source": "autotuned"}, +{"m": 13, "n": 17, "k": 23, "tile_m": 4, "tile_n": 3, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4970.27, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 4, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3466.7, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 5, "tile_m": 4, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3665.46, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 6, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 3765.51, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 7, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 4216.05, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 8, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4517.8, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 9, "tile_m": 4, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4683.59, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 10, "tile_m": 4, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4943.23, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 13, "tile_m": 4, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5509.87, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 15, "tile_m": 4, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5450.47, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 16, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5589.05, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 22, "tile_m": 4, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5930.24, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 23, "tile_m": 4, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5963.8, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 25, "tile_m": 4, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6032.25, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 26, "tile_m": 4, "tile_n": 3, "w": 12, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6137.23, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 32, "tile_m": 4, "tile_n": 3, "w": 12, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6495.88, "source": "autotuned"}, +{"m": 13, "n": 22, "k": 45, "tile_m": 4, "tile_n": 3, "w": 16, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6822.48, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 4, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3541.66, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 5, "tile_m": 4, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3856.78, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 9, "tile_m": 4, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4863.31, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 13, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4470.93, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 16, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5831.23, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 17, "tile_m": 4, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5760.49, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 22, "tile_m": 4, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5947.63, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 23, "tile_m": 4, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6059.14, "source": "autotuned"}, +{"m": 13, "n": 23, "k": 26, "tile_m": 4, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 6273.0, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3420.12, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3880.82, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 9, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 5090.76, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 13, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5620.11, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 15, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5755.14, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 16, "tile_m": 7, "tile_n": 2, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5835.78, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 22, "tile_m": 7, "tile_n": 2, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6255.6, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 25, "tile_m": 7, "tile_n": 2, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6457.26, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 26, "tile_m": 7, "tile_n": 2, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6533.86, "source": "autotuned"}, +{"m": 13, "n": 25, "k": 45, "tile_m": 7, "tile_n": 2, "w": 16, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7223.29, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3569.44, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 3742.47, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 6, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4314.71, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 7, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4722.15, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 8, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 5117.97, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 9, "tile_m": 8, "tile_n": 2, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5359.67, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 10, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5524.6, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 13, "tile_m": 7, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6023.81, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 15, "tile_m": 7, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6061.65, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 16, "tile_m": 7, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6161.38, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 22, "tile_m": 7, "tile_n": 2, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6492.57, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 23, "tile_m": 7, "tile_n": 2, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6518.38, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 25, "tile_m": 7, "tile_n": 2, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6674.89, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 26, "tile_m": 7, "tile_n": 2, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6788.22, "source": "autotuned"}, +{"m": 13, "n": 26, "k": 45, "tile_m": 7, "tile_n": 2, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7634.1, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 4, "tile_m": 7, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 4044.3, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 19, "algorithm": "medium", "perf": 4497.08, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 6, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5072.69, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 7, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 5519.49, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 8, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 6180.15, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 9, "tile_m": 7, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6772.46, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 10, "tile_m": 7, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6923.96, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 13, "tile_m": 8, "tile_n": 2, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6914.81, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 22, "tile_m": 7, "tile_n": 2, "w": 8, "v": 32, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7631.17, "source": "autotuned"}, +{"m": 13, "n": 32, "k": 32, "tile_m": 7, "tile_n": 2, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8494.25, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 13, "algorithm": "medium", "perf": 4659.1, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 5, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 4834.22, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 6, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 5338.72, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 7, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 5473.87, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 8, "tile_m": 4, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5602.07, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 9, "tile_m": 7, "tile_n": 3, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6714.8, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 10, "tile_m": 7, "tile_n": 3, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6762.51, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 13, "tile_m": 7, "tile_n": 3, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7217.62, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 15, "tile_m": 7, "tile_n": 3, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7549.66, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 16, "tile_m": 7, "tile_n": 3, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7759.33, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 22, "tile_m": 7, "tile_n": 3, "w": 8, "v": 44, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8503.32, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 25, "tile_m": 7, "tile_n": 3, "w": 10, "v": 34, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8656.55, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 26, "tile_m": 7, "tile_n": 3, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8825.26, "source": "autotuned"}, +{"m": 13, "n": 45, "k": 45, "tile_m": 7, "tile_n": 3, "w": 16, "v": 42, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9449.72, "source": "autotuned"}, +{"m": 14, "n": 5, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1416.79, "source": "autotuned"}, +{"m": 14, "n": 5, "k": 6, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1621.26, "source": "autotuned"}, +{"m": 14, "n": 5, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 1897.88, "source": "autotuned"}, +{"m": 14, "n": 5, "k": 10, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 21, "algorithm": "medium", "perf": 1941.25, "source": "autotuned"}, +{"m": 14, "n": 5, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2162.99, "source": "autotuned"}, +{"m": 14, "n": 5, "k": 14, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2253.58, "source": "autotuned"}, +{"m": 14, "n": 6, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1686.34, "source": "autotuned"}, +{"m": 14, "n": 6, "k": 6, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1871.58, "source": "autotuned"}, +{"m": 14, "n": 6, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2250.28, "source": "autotuned"}, +{"m": 14, "n": 6, "k": 10, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 25, "algorithm": "medium", "perf": 2337.77, "source": "autotuned"}, +{"m": 14, "n": 6, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2600.81, "source": "autotuned"}, +{"m": 14, "n": 6, "k": 14, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2671.13, "source": "autotuned"}, +{"m": 14, "n": 9, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2239.34, "source": "autotuned"}, +{"m": 14, "n": 9, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2474.9, "source": "autotuned"}, +{"m": 14, "n": 9, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2942.9, "source": "autotuned"}, +{"m": 14, "n": 9, "k": 10, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 7, "minblocks": 27, "algorithm": "medium", "perf": 2904.13, "source": "autotuned"}, +{"m": 14, "n": 9, "k": 13, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 3256.55, "source": "autotuned"}, +{"m": 14, "n": 9, "k": 14, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 3357.4, "source": "autotuned"}, +{"m": 14, "n": 10, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2469.14, "source": "autotuned"}, +{"m": 14, "n": 10, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2753.02, "source": "autotuned"}, +{"m": 14, "n": 10, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3261.51, "source": "autotuned"}, +{"m": 14, "n": 10, "k": 10, "tile_m": 1, "tile_n": 5, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3223.1, "source": "autotuned"}, +{"m": 14, "n": 10, "k": 13, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 3568.58, "source": "autotuned"}, +{"m": 14, "n": 10, "k": 14, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 3671.56, "source": "autotuned"}, +{"m": 14, "n": 13, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2986.05, "source": "autotuned"}, +{"m": 14, "n": 13, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3318.35, "source": "autotuned"}, +{"m": 14, "n": 13, "k": 9, "tile_m": 1, "tile_n": 7, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3744.56, "source": "autotuned"}, +{"m": 14, "n": 13, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3775.81, "source": "autotuned"}, +{"m": 14, "n": 13, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 4160.93, "source": "autotuned"}, +{"m": 14, "n": 13, "k": 14, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4173.22, "source": "autotuned"}, +{"m": 14, "n": 14, "k": 5, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3153.8, "source": "autotuned"}, +{"m": 14, "n": 14, "k": 6, "tile_m": 7, "tile_n": 1, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3511.54, "source": "autotuned"}, +{"m": 14, "n": 14, "k": 9, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 26, "algorithm": "medium", "perf": 4096.8, "source": "autotuned"}, +{"m": 14, "n": 14, "k": 10, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 4271.49, "source": "autotuned"}, +{"m": 14, "n": 14, "k": 13, "tile_m": 7, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 4580.05, "source": "autotuned"}, +{"m": 14, "n": 14, "k": 14, "tile_m": 8, "tile_n": 1, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 4652.3, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 4, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 1165.09, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 5, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 9, "minblocks": 16, "algorithm": "medium", "perf": 1264.66, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 6, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 1428.85, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 1568.26, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 8, "tile_m": 2, "tile_n": 1, "threads": 128, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1636.37, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 9, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 9, "minblocks": 12, "algorithm": "medium", "perf": 1661.17, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 10, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 1780.71, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 13, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 1970.62, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 15, "tile_m": 2, "tile_n": 1, "threads": 64, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 2158.95, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 16, "tile_m": 2, "tile_n": 1, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2178.69, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 22, "tile_m": 2, "tile_n": 2, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2516.14, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 25, "tile_m": 2, "tile_n": 2, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2565.45, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 26, "tile_m": 2, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2570.29, "source": "autotuned"}, +{"m": 15, "n": 4, "k": 45, "tile_m": 2, "tile_n": 2, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2719.88, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 2, "algorithm": "medium", "perf": 1332.45, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1485.7, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 1673.62, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1702.43, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1886.49, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1935.63, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2004.97, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2217.02, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2428.66, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 16, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2494.54, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 22, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2730.06, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 25, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 2817.61, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 26, "tile_m": 2, "tile_n": 2, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 2833.82, "source": "autotuned"}, +{"m": 15, "n": 5, "k": 45, "tile_m": 2, "tile_n": 2, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3095.4, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 8, "algorithm": "medium", "perf": 1617.63, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1732.79, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2006.76, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2025.33, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2263.6, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2239.92, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2444.37, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2630.63, "source": "autotuned"}, +{"m": 15, "n": 6, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2865.11, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 8, "algorithm": "medium", "perf": 1851.64, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 1678.54, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2286.81, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2342.37, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2558.99, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 2550.08, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2675.07, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2984.9, "source": "autotuned"}, +{"m": 15, "n": 7, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3041.49, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 2114.12, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 5, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2266.57, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 6, "tile_m": 2, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2597.88, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 7, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2166.42, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 8, "tile_m": 2, "tile_n": 2, "threads": 128, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2903.91, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 9, "tile_m": 2, "tile_n": 2, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2824.75, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 10, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 3042.78, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 13, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 3290.43, "source": "autotuned"}, +{"m": 15, "n": 8, "k": 15, "tile_m": 2, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 3451.56, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 2073.07, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 5, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2360.88, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 6, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2704.45, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 7, "tile_m": 2, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2686.67, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 8, "tile_m": 2, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2921.98, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 9, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2972.32, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 10, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 3147.84, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 13, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3507.09, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 15, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 3685.2, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 16, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 3826.91, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 22, "tile_m": 2, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4107.75, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 25, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4176.56, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 26, "tile_m": 2, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4143.7, "source": "autotuned"}, +{"m": 15, "n": 9, "k": 45, "tile_m": 2, "tile_n": 3, "w": 18, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4674.54, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 4, "tile_m": 2, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 24, "algorithm": "medium", "perf": 2315.09, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 5, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2620.33, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 6, "tile_m": 2, "tile_n": 3, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2965.2, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 7, "tile_m": 2, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2975.43, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 8, "tile_m": 2, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3246.01, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 9, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 3278.61, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 10, "tile_m": 2, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3415.01, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 13, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3765.66, "source": "autotuned"}, +{"m": 15, "n": 10, "k": 15, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3922.45, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2746.13, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3218.83, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 6, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3604.45, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3619.69, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3891.49, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 9, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3863.2, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 10, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4080.77, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 13, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4411.99, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 15, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4596.88, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 16, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4684.39, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 22, "tile_m": 2, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5056.57, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 25, "tile_m": 2, "tile_n": 4, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5138.59, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 26, "tile_m": 2, "tile_n": 4, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5185.67, "source": "autotuned"}, +{"m": 15, "n": 13, "k": 45, "tile_m": 2, "tile_n": 4, "w": 18, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5934.92, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3225.04, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 13, "minblocks": 10, "algorithm": "medium", "perf": 3558.17, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 6, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3970.53, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 13, "minblocks": 10, "algorithm": "medium", "perf": 4039.72, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4414.95, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 9, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 4563.95, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 10, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 22, "algorithm": "medium", "perf": 4836.06, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 13, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 5151.26, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 15, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5264.12, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 16, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5520.38, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 22, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 6031.12, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 25, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 6089.56, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 26, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 6170.64, "source": "autotuned"}, +{"m": 15, "n": 15, "k": 45, "tile_m": 2, "tile_n": 4, "w": 16, "v": 14, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6653.05, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 12, "minblocks": 12, "algorithm": "medium", "perf": 3374.94, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3916.39, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 9, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4591.32, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 13, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 5240.93, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 15, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 5393.6, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 16, "tile_m": 2, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5820.0, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 22, "tile_m": 2, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6010.98, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 25, "tile_m": 2, "tile_n": 4, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6080.93, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 26, "tile_m": 2, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6105.59, "source": "autotuned"}, +{"m": 15, "n": 16, "k": 45, "tile_m": 2, "tile_n": 4, "w": 18, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7056.42, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 4, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3862.11, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 5, "tile_m": 4, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 4198.26, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 9, "tile_m": 4, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5409.06, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 13, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6408.17, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 15, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6450.13, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 16, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6467.33, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 22, "tile_m": 2, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6749.32, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 25, "tile_m": 2, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7019.49, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 26, "tile_m": 2, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7063.94, "source": "autotuned"}, +{"m": 15, "n": 22, "k": 45, "tile_m": 2, "tile_n": 6, "w": 16, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8013.65, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3836.29, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4319.97, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 9, "tile_m": 8, "tile_n": 2, "w": 4, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5468.77, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 13, "tile_m": 8, "tile_n": 2, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6259.98, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 15, "tile_m": 8, "tile_n": 2, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6355.52, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 16, "tile_m": 8, "tile_n": 2, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6472.19, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 22, "tile_m": 8, "tile_n": 2, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6938.83, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 25, "tile_m": 2, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7210.09, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 26, "tile_m": 2, "tile_n": 7, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7312.96, "source": "autotuned"}, +{"m": 15, "n": 25, "k": 45, "tile_m": 2, "tile_n": 7, "w": 20, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7949.89, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3989.74, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4125.36, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 9, "tile_m": 8, "tile_n": 2, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5998.46, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 13, "tile_m": 8, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6449.66, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 15, "tile_m": 8, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6692.9, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 16, "tile_m": 8, "tile_n": 2, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6765.12, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 22, "tile_m": 8, "tile_n": 2, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7234.63, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 25, "tile_m": 2, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7407.38, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 26, "tile_m": 2, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7541.39, "source": "autotuned"}, +{"m": 15, "n": 26, "k": 45, "tile_m": 2, "tile_n": 7, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8432.03, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 4, "tile_m": 8, "tile_n": 2, "threads": 64, "grouping": 13, "minblocks": 10, "algorithm": "medium", "perf": 5127.37, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 5, "tile_m": 4, "tile_n": 3, "threads": 96, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5375.88, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 9, "tile_m": 8, "tile_n": 3, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7269.02, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 13, "tile_m": 4, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7853.63, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 15, "tile_m": 4, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8326.8, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 16, "tile_m": 4, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8656.55, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 22, "tile_m": 4, "tile_n": 6, "w": 8, "v": 36, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9261.0, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 25, "tile_m": 4, "tile_n": 6, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9440.87, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 26, "tile_m": 4, "tile_n": 6, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9518.61, "source": "autotuned"}, +{"m": 15, "n": 45, "k": 45, "tile_m": 4, "tile_n": 6, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10255.8, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 4, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 1090.57, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 5, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 1389.73, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 9, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 1, "algorithm": "medium", "perf": 1894.14, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 13, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2271.45, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 15, "tile_m": 1, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 19, "algorithm": "medium", "perf": 2471.08, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 16, "tile_m": 1, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2529.19, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 22, "tile_m": 1, "tile_n": 2, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2850.37, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 25, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 2811.42, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 26, "tile_m": 1, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2376.43, "source": "autotuned"}, +{"m": 16, "n": 4, "k": 45, "tile_m": 1, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 3048.57, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 4, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 1376.55, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 5, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1645.29, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 9, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2077.69, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 13, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 2451.67, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 15, "tile_m": 1, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2637.61, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 16, "tile_m": 1, "tile_n": 3, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2768.76, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 22, "tile_m": 1, "tile_n": 3, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2437.47, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 23, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2983.1, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 25, "tile_m": 1, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 3030.48, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 26, "tile_m": 1, "tile_n": 3, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3055.29, "source": "autotuned"}, +{"m": 16, "n": 5, "k": 45, "tile_m": 1, "tile_n": 3, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3376.05, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2228.73, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2601.75, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 3175.73, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 13, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3839.89, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 15, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3966.0, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 16, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4221.1, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 17, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 4224.92, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 22, "tile_m": 2, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4486.54, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 23, "tile_m": 2, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4511.62, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 25, "tile_m": 2, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4480.87, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 26, "tile_m": 2, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4501.41, "source": "autotuned"}, +{"m": 16, "n": 9, "k": 45, "tile_m": 2, "tile_n": 3, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5026.12, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2968.82, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 3398.83, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 9, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 4138.31, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 13, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4718.44, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 15, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4825.63, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 16, "tile_m": 2, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5248.09, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 22, "tile_m": 2, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5385.21, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 23, "tile_m": 2, "tile_n": 4, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5372.94, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 25, "tile_m": 2, "tile_n": 4, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5450.53, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 26, "tile_m": 2, "tile_n": 4, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5484.65, "source": "autotuned"}, +{"m": 16, "n": 13, "k": 45, "tile_m": 2, "tile_n": 4, "w": 16, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6306.42, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3339.73, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 3903.66, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 9, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4640.62, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 13, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 5332.72, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 15, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 5390.91, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 16, "tile_m": 2, "tile_n": 4, "w": 6, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5820.0, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 22, "tile_m": 2, "tile_n": 4, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5961.23, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 25, "tile_m": 2, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6052.31, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 26, "tile_m": 2, "tile_n": 4, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6129.57, "source": "autotuned"}, +{"m": 16, "n": 15, "k": 45, "tile_m": 2, "tile_n": 4, "w": 18, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7047.21, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 4, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 12, "minblocks": 11, "algorithm": "medium", "perf": 3675.79, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 96, "grouping": 12, "minblocks": 11, "algorithm": "medium", "perf": 4142.2, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 9, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 5402.53, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 13, "tile_m": 2, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6045.47, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 15, "tile_m": 2, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6225.61, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 16, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6791.07, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 17, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6770.39, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 22, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 3, "algorithm": "medium", "perf": 7039.27, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 23, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 6816.94, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 25, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 12, "minblocks": 5, "algorithm": "medium", "perf": 6844.62, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 26, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 7131.11, "source": "autotuned"}, +{"m": 16, "n": 16, "k": 45, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 5, "algorithm": "medium", "perf": 7500.72, "source": "autotuned"}, +{"m": 16, "n": 17, "k": 9, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 1, "algorithm": "medium", "perf": 4937.03, "source": "autotuned"}, +{"m": 16, "n": 17, "k": 16, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5990.86, "source": "autotuned"}, +{"m": 16, "n": 17, "k": 17, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5981.18, "source": "autotuned"}, +{"m": 16, "n": 17, "k": 22, "tile_m": 2, "tile_n": 5, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6168.88, "source": "autotuned"}, +{"m": 16, "n": 17, "k": 23, "tile_m": 2, "tile_n": 5, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6185.79, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 4, "tile_m": 2, "tile_n": 6, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 4387.66, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 5, "tile_m": 2, "tile_n": 6, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4567.77, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 9, "tile_m": 4, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5818.22, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 13, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5385.21, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 15, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6895.1, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 16, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7039.27, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 17, "tile_m": 2, "tile_n": 6, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6861.91, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 22, "tile_m": 2, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7282.75, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 23, "tile_m": 2, "tile_n": 6, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7285.03, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 25, "tile_m": 2, "tile_n": 6, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7504.48, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 26, "tile_m": 2, "tile_n": 6, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7626.93, "source": "autotuned"}, +{"m": 16, "n": 22, "k": 45, "tile_m": 2, "tile_n": 6, "w": 16, "v": 20, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8471.73, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 5, "tile_m": 2, "tile_n": 6, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4685.38, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 9, "tile_m": 2, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4841.26, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 13, "tile_m": 2, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 6649.6, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 16, "tile_m": 2, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6975.73, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 17, "tile_m": 2, "tile_n": 6, "w": 6, "v": 18, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6824.38, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 22, "tile_m": 2, "tile_n": 6, "w": 10, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7380.19, "source": "autotuned"}, +{"m": 16, "n": 23, "k": 23, "tile_m": 2, "tile_n": 6, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7501.46, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 4, "tile_m": 2, "tile_n": 7, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4123.48, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 5, "tile_m": 2, "tile_n": 7, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4742.69, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 9, "tile_m": 2, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5919.66, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 13, "tile_m": 2, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 6584.34, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 15, "tile_m": 8, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6634.35, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 16, "tile_m": 3, "tile_n": 5, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6827.59, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 22, "tile_m": 2, "tile_n": 7, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7532.3, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 25, "tile_m": 2, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7726.41, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 26, "tile_m": 2, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7843.62, "source": "autotuned"}, +{"m": 16, "n": 25, "k": 45, "tile_m": 2, "tile_n": 7, "w": 16, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8664.88, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 4, "tile_m": 2, "tile_n": 7, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4357.38, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4567.84, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 9, "tile_m": 2, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 6197.19, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 13, "tile_m": 2, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6885.48, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 15, "tile_m": 8, "tile_n": 2, "w": 6, "v": 18, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7031.86, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 16, "tile_m": 8, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7078.04, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 22, "tile_m": 2, "tile_n": 7, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7806.87, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 25, "tile_m": 2, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7982.03, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 26, "tile_m": 2, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8128.76, "source": "autotuned"}, +{"m": 16, "n": 26, "k": 45, "tile_m": 2, "tile_n": 7, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9007.14, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 4, "tile_m": 2, "tile_n": 6, "threads": 96, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 5259.52, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 5, "tile_m": 2, "tile_n": 6, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 5909.94, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 9, "tile_m": 8, "tile_n": 3, "w": 4, "v": 28, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7619.94, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 13, "tile_m": 4, "tile_n": 6, "w": 6, "v": 40, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8412.33, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 15, "tile_m": 4, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8874.62, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 16, "tile_m": 4, "tile_n": 6, "w": 6, "v": 34, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9293.23, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 22, "tile_m": 4, "tile_n": 6, "w": 8, "v": 42, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9994.71, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 25, "tile_m": 4, "tile_n": 6, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10121.2, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 26, "tile_m": 4, "tile_n": 6, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10277.6, "source": "autotuned"}, +{"m": 16, "n": 45, "k": 45, "tile_m": 8, "tile_n": 3, "w": 16, "v": 42, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10872.2, "source": "autotuned"}, +{"m": 17, "n": 9, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3190.14, "source": "autotuned"}, +{"m": 17, "n": 9, "k": 16, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4011.74, "source": "autotuned"}, +{"m": 17, "n": 9, "k": 17, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3952.62, "source": "autotuned"}, +{"m": 17, "n": 9, "k": 22, "tile_m": 3, "tile_n": 2, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4212.32, "source": "autotuned"}, +{"m": 17, "n": 9, "k": 23, "tile_m": 3, "tile_n": 2, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4217.37, "source": "autotuned"}, +{"m": 17, "n": 13, "k": 13, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4543.71, "source": "autotuned"}, +{"m": 17, "n": 13, "k": 17, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4929.83, "source": "autotuned"}, +{"m": 17, "n": 13, "k": 23, "tile_m": 3, "tile_n": 3, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5200.74, "source": "autotuned"}, +{"m": 17, "n": 16, "k": 9, "tile_m": 10, "tile_n": 1, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4801.5, "source": "autotuned"}, +{"m": 17, "n": 16, "k": 16, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5771.14, "source": "autotuned"}, +{"m": 17, "n": 16, "k": 17, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5772.19, "source": "autotuned"}, +{"m": 17, "n": 16, "k": 22, "tile_m": 9, "tile_n": 1, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6022.0, "source": "autotuned"}, +{"m": 17, "n": 16, "k": 23, "tile_m": 9, "tile_n": 1, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6083.56, "source": "autotuned"}, +{"m": 17, "n": 17, "k": 9, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4721.98, "source": "autotuned"}, +{"m": 17, "n": 17, "k": 13, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5303.16, "source": "autotuned"}, +{"m": 17, "n": 17, "k": 16, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6189.27, "source": "autotuned"}, +{"m": 17, "n": 17, "k": 17, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 5822.91, "source": "autotuned"}, +{"m": 17, "n": 17, "k": 22, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 6345.18, "source": "autotuned"}, +{"m": 17, "n": 17, "k": 23, "tile_m": 3, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6000.97, "source": "autotuned"}, +{"m": 17, "n": 22, "k": 9, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5407.47, "source": "autotuned"}, +{"m": 17, "n": 22, "k": 16, "tile_m": 3, "tile_n": 5, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6487.58, "source": "autotuned"}, +{"m": 17, "n": 22, "k": 17, "tile_m": 3, "tile_n": 5, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6570.23, "source": "autotuned"}, +{"m": 17, "n": 22, "k": 22, "tile_m": 3, "tile_n": 5, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7002.75, "source": "autotuned"}, +{"m": 17, "n": 22, "k": 23, "tile_m": 3, "tile_n": 5, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7113.27, "source": "autotuned"}, +{"m": 17, "n": 23, "k": 9, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5695.95, "source": "autotuned"}, +{"m": 17, "n": 23, "k": 13, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 6422.64, "source": "autotuned"}, +{"m": 17, "n": 23, "k": 16, "tile_m": 3, "tile_n": 5, "w": 6, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6568.88, "source": "autotuned"}, +{"m": 17, "n": 23, "k": 17, "tile_m": 3, "tile_n": 5, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6635.81, "source": "autotuned"}, +{"m": 17, "n": 23, "k": 22, "tile_m": 3, "tile_n": 5, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7174.56, "source": "autotuned"}, +{"m": 17, "n": 23, "k": 23, "tile_m": 3, "tile_n": 5, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7284.06, "source": "autotuned"}, +{"m": 18, "n": 18, "k": 18, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 16, "minblocks": 11, "algorithm": "medium", "perf": 6874.1, "source": "autotuned"}, +{"m": 19, "n": 19, "k": 19, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 6618.47, "source": "autotuned"}, +{"m": 20, "n": 11, "k": 11, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4279.98, "source": "autotuned"}, +{"m": 20, "n": 11, "k": 12, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4350.62, "source": "autotuned"}, +{"m": 20, "n": 11, "k": 20, "tile_m": 2, "tile_n": 4, "w": 8, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4980.81, "source": "autotuned"}, +{"m": 20, "n": 11, "k": 25, "tile_m": 2, "tile_n": 4, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5089.47, "source": "autotuned"}, +{"m": 20, "n": 11, "k": 32, "tile_m": 2, "tile_n": 4, "w": 14, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5450.62, "source": "autotuned"}, +{"m": 20, "n": 12, "k": 11, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4557.08, "source": "autotuned"}, +{"m": 20, "n": 12, "k": 12, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4656.0, "source": "autotuned"}, +{"m": 20, "n": 12, "k": 20, "tile_m": 2, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5376.82, "source": "autotuned"}, +{"m": 20, "n": 12, "k": 25, "tile_m": 2, "tile_n": 4, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5467.85, "source": "autotuned"}, +{"m": 20, "n": 12, "k": 32, "tile_m": 2, "tile_n": 4, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5921.69, "source": "autotuned"}, +{"m": 20, "n": 20, "k": 11, "tile_m": 5, "tile_n": 3, "w": 4, "v": 20, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6510.91, "source": "autotuned"}, +{"m": 20, "n": 20, "k": 20, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 11, "minblocks": 6, "algorithm": "medium", "perf": 7437.27, "source": "autotuned"}, +{"m": 20, "n": 20, "k": 25, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 7624.33, "source": "autotuned"}, +{"m": 20, "n": 20, "k": 32, "tile_m": 5, "tile_n": 3, "w": 12, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8020.88, "source": "autotuned"}, +{"m": 20, "n": 25, "k": 11, "tile_m": 10, "tile_n": 2, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6891.51, "source": "autotuned"}, +{"m": 20, "n": 25, "k": 12, "tile_m": 10, "tile_n": 2, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6661.35, "source": "autotuned"}, +{"m": 20, "n": 25, "k": 20, "tile_m": 10, "tile_n": 2, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7998.23, "source": "autotuned"}, +{"m": 20, "n": 25, "k": 25, "tile_m": 5, "tile_n": 4, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8126.46, "source": "autotuned"}, +{"m": 20, "n": 25, "k": 32, "tile_m": 10, "tile_n": 2, "w": 12, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8832.78, "source": "autotuned"}, +{"m": 20, "n": 32, "k": 12, "tile_m": 10, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8635.14, "source": "autotuned"}, +{"m": 20, "n": 32, "k": 20, "tile_m": 10, "tile_n": 2, "w": 8, "v": 32, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 9826.55, "source": "autotuned"}, +{"m": 20, "n": 32, "k": 25, "tile_m": 10, "tile_n": 2, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10297.0, "source": "autotuned"}, +{"m": 20, "n": 32, "k": 32, "tile_m": 10, "tile_n": 2, "w": 12, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11041.9, "source": "autotuned"}, +{"m": 21, "n": 21, "k": 21, "tile_m": 6, "tile_n": 3, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7084.29, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 1463.29, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 1648.9, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 6, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 5, "algorithm": "medium", "perf": 1835.01, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2024.95, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 8, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2041.22, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 9, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2091.83, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 10, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 2217.32, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2514.52, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 15, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2621.6, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 16, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2705.94, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2790.5, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 23, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2831.65, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 25, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2869.21, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 26, "tile_m": 1, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 2781.62, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 32, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 7, "algorithm": "medium", "perf": 2925.11, "source": "autotuned"}, +{"m": 22, "n": 4, "k": 45, "tile_m": 3, "tile_n": 2, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3097.94, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1684.97, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 1897.14, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2100.71, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 7, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 6, "minblocks": 26, "algorithm": "medium", "perf": 2074.72, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 8, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2218.12, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2290.17, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 10, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 2458.62, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 13, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2779.59, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 15, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2876.89, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 16, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2981.82, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 22, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 2511.16, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 23, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3140.91, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 25, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 3071.01, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 3126.66, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 32, "tile_m": 3, "tile_n": 2, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3257.26, "source": "autotuned"}, +{"m": 22, "n": 5, "k": 45, "tile_m": 3, "tile_n": 2, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3444.95, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 4, "tile_m": 1, "tile_n": 6, "threads": 96, "grouping": 13, "minblocks": 12, "algorithm": "medium", "perf": 1941.16, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 5, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2258.4, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 6, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2201.1, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 7, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2413.77, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 8, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2636.63, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 9, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2222.92, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 10, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2873.24, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 13, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3251.02, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 22, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3558.85, "source": "autotuned"}, +{"m": 22, "n": 6, "k": 32, "tile_m": 3, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3891.91, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2266.66, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 2419.29, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 6, "tile_m": 3, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 2494.97, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 7, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 6, "minblocks": 26, "algorithm": "medium", "perf": 2803.52, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 6, "minblocks": 26, "algorithm": "medium", "perf": 2992.68, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 22, "algorithm": "medium", "perf": 3151.78, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 10, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 24, "algorithm": "medium", "perf": 3256.83, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 13, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3718.9, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 22, "tile_m": 3, "tile_n": 2, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4023.42, "source": "autotuned"}, +{"m": 22, "n": 7, "k": 32, "tile_m": 3, "tile_n": 2, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4417.15, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 4, "tile_m": 3, "tile_n": 2, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2607.65, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 5, "tile_m": 3, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2725.31, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 6, "tile_m": 3, "tile_n": 2, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2841.68, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 7, "tile_m": 3, "tile_n": 2, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 3133.45, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 8, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 22, "algorithm": "medium", "perf": 3383.64, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 9, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 7, "minblocks": 23, "algorithm": "medium", "perf": 3534.57, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 10, "tile_m": 3, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 3763.01, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 13, "tile_m": 3, "tile_n": 2, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4249.38, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 22, "tile_m": 3, "tile_n": 2, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4614.63, "source": "autotuned"}, +{"m": 22, "n": 8, "k": 32, "tile_m": 3, "tile_n": 2, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5057.24, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 13, "algorithm": "medium", "perf": 2541.43, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2664.51, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 6, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 23, "algorithm": "medium", "perf": 2891.41, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 7, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 21, "algorithm": "medium", "perf": 3245.23, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 8, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 18, "algorithm": "medium", "perf": 3418.02, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 9, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 17, "algorithm": "medium", "perf": 3594.9, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 10, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3838.41, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 13, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4217.53, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 15, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4364.2, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 16, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4428.03, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 17, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4527.64, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 22, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4622.38, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 23, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4702.78, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 25, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4781.02, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 26, "tile_m": 3, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4808.22, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 32, "tile_m": 3, "tile_n": 3, "w": 14, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5152.83, "source": "autotuned"}, +{"m": 22, "n": 9, "k": 45, "tile_m": 3, "tile_n": 3, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5475.8, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2897.68, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2958.64, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 6, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 22, "algorithm": "medium", "perf": 3152.18, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 7, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 6, "minblocks": 23, "algorithm": "medium", "perf": 3486.24, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 8, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 17, "algorithm": "medium", "perf": 3787.29, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 9, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 20, "algorithm": "medium", "perf": 3954.65, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 10, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4172.71, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 13, "tile_m": 3, "tile_n": 3, "w": 6, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4794.12, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 22, "tile_m": 3, "tile_n": 3, "w": 8, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5209.66, "source": "autotuned"}, +{"m": 22, "n": 10, "k": 32, "tile_m": 3, "tile_n": 3, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5702.19, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3582.83, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3771.78, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 6, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 7, "minblocks": 18, "algorithm": "medium", "perf": 3866.07, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 2, "algorithm": "medium", "perf": 4388.52, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 8, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4619.93, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 9, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 4869.61, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 10, "tile_m": 3, "tile_n": 4, "w": 4, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5129.35, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 13, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5493.59, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 15, "tile_m": 3, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5651.46, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 16, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5623.38, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 22, "tile_m": 3, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5956.44, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 23, "tile_m": 3, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6098.29, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 25, "tile_m": 3, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5042.7, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 26, "tile_m": 3, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6301.88, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 32, "tile_m": 3, "tile_n": 4, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6640.37, "source": "autotuned"}, +{"m": 22, "n": 13, "k": 45, "tile_m": 3, "tile_n": 4, "w": 16, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7131.11, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 10, "algorithm": "medium", "perf": 3961.24, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4275.95, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 9, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 5471.32, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 13, "tile_m": 3, "tile_n": 4, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6222.34, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 15, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6400.1, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 16, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6483.2, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 22, "tile_m": 3, "tile_n": 4, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6776.61, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 25, "tile_m": 3, "tile_n": 4, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7053.49, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 26, "tile_m": 3, "tile_n": 4, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7048.47, "source": "autotuned"}, +{"m": 22, "n": 15, "k": 45, "tile_m": 3, "tile_n": 4, "w": 16, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8005.02, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 12, "minblocks": 11, "algorithm": "medium", "perf": 4397.94, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4610.49, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 9, "tile_m": 3, "tile_n": 4, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6109.88, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 13, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6960.11, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 15, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6803.33, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 16, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7012.98, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 17, "tile_m": 3, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6880.31, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 22, "tile_m": 3, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7273.63, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 23, "tile_m": 3, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7344.5, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 25, "tile_m": 3, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7636.86, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 26, "tile_m": 3, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7719.11, "source": "autotuned"}, +{"m": 22, "n": 16, "k": 45, "tile_m": 3, "tile_n": 4, "w": 16, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8552.51, "source": "autotuned"}, +{"m": 22, "n": 17, "k": 9, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 5308.02, "source": "autotuned"}, +{"m": 22, "n": 17, "k": 16, "tile_m": 3, "tile_n": 5, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6450.29, "source": "autotuned"}, +{"m": 22, "n": 17, "k": 17, "tile_m": 3, "tile_n": 5, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6507.49, "source": "autotuned"}, +{"m": 22, "n": 17, "k": 22, "tile_m": 3, "tile_n": 5, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6963.26, "source": "autotuned"}, +{"m": 22, "n": 17, "k": 23, "tile_m": 3, "tile_n": 5, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7093.72, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 12, "algorithm": "medium", "perf": 4727.27, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4934.28, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 6, "tile_m": 3, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5112.02, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 7, "tile_m": 3, "tile_n": 3, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5445.73, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 8, "tile_m": 3, "tile_n": 3, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5704.29, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 9, "tile_m": 6, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6379.74, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 10, "tile_m": 6, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6677.95, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 13, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7206.83, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 15, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7418.05, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 16, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7654.57, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 17, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7733.08, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 22, "tile_m": 3, "tile_n": 6, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8482.61, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 23, "tile_m": 3, "tile_n": 6, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8465.9, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 25, "tile_m": 3, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8739.19, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 26, "tile_m": 3, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8790.46, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 32, "tile_m": 3, "tile_n": 6, "w": 12, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9221.93, "source": "autotuned"}, +{"m": 22, "n": 22, "k": 45, "tile_m": 3, "tile_n": 6, "w": 16, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9846.4, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 10, "algorithm": "medium", "perf": 4908.2, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5151.74, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 9, "tile_m": 6, "tile_n": 3, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5299.06, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 13, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7254.75, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 16, "tile_m": 3, "tile_n": 6, "w": 6, "v": 20, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7784.55, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 17, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7834.31, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 22, "tile_m": 3, "tile_n": 6, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8583.36, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 23, "tile_m": 3, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8664.08, "source": "autotuned"}, +{"m": 22, "n": 23, "k": 26, "tile_m": 3, "tile_n": 6, "w": 10, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8916.06, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4821.84, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5479.8, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 9, "tile_m": 11, "tile_n": 2, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6340.01, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 13, "tile_m": 11, "tile_n": 2, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7009.7, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 15, "tile_m": 11, "tile_n": 2, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7213.79, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 16, "tile_m": 6, "tile_n": 4, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7386.92, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 22, "tile_m": 3, "tile_n": 7, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8557.94, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 25, "tile_m": 3, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8894.78, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 26, "tile_m": 3, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8977.7, "source": "autotuned"}, +{"m": 22, "n": 25, "k": 45, "tile_m": 3, "tile_n": 7, "w": 16, "v": 18, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9766.36, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 5079.26, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5117.88, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 9, "tile_m": 11, "tile_n": 2, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6826.7, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7416.08, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 15, "tile_m": 6, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7595.29, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 16, "tile_m": 6, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7871.76, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 22, "tile_m": 3, "tile_n": 7, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9002.1, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 23, "tile_m": 3, "tile_n": 7, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9101.05, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 25, "tile_m": 3, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9175.41, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 26, "tile_m": 3, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9282.43, "source": "autotuned"}, +{"m": 22, "n": 26, "k": 45, "tile_m": 3, "tile_n": 7, "w": 16, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10111.8, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5636.58, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 6257.88, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 6, "tile_m": 3, "tile_n": 4, "threads": 224, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6132.54, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 64, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 6584.43, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 8, "tile_m": 3, "tile_n": 4, "threads": 64, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 7015.89, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 9, "tile_m": 11, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8416.97, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 10, "tile_m": 11, "tile_n": 2, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8324.11, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8680.33, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 22, "tile_m": 3, "tile_n": 8, "w": 8, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10463.4, "source": "autotuned"}, +{"m": 22, "n": 32, "k": 32, "tile_m": 3, "tile_n": 8, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11246.9, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 6144.63, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 6546.78, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 9, "tile_m": 11, "tile_n": 3, "w": 4, "v": 44, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8564.49, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 13, "tile_m": 11, "tile_n": 3, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9636.24, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 15, "tile_m": 11, "tile_n": 3, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10089.2, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 16, "tile_m": 11, "tile_n": 3, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10403.8, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 22, "tile_m": 11, "tile_n": 3, "w": 8, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10959.2, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 25, "tile_m": 11, "tile_n": 3, "w": 10, "v": 36, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11388.1, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 26, "tile_m": 11, "tile_n": 3, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11659.5, "source": "autotuned"}, +{"m": 22, "n": 45, "k": 45, "tile_m": 11, "tile_n": 3, "w": 10, "v": 36, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 12160.4, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 1509.42, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 7, "minblocks": 5, "algorithm": "medium", "perf": 1689.17, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 9, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2174.29, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2559.64, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2859.65, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 23, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 4, "minblocks": 13, "algorithm": "medium", "perf": 2784.35, "source": "autotuned"}, +{"m": 23, "n": 4, "k": 26, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 2915.14, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 1744.93, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 24, "algorithm": "medium", "perf": 1965.63, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2422.28, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 13, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 2793.31, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 16, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 3070.18, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 22, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3156.58, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 23, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 3117.32, "source": "autotuned"}, +{"m": 23, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 3, "algorithm": "medium", "perf": 3310.39, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 2664.93, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2790.63, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 9, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 7, "minblocks": 17, "algorithm": "medium", "perf": 3717.25, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 13, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4339.93, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 16, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4609.97, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 17, "tile_m": 3, "tile_n": 3, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4545.97, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 22, "tile_m": 3, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4761.77, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 23, "tile_m": 3, "tile_n": 3, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4788.02, "source": "autotuned"}, +{"m": 23, "n": 9, "k": 26, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4903.17, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 3659.75, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3148.35, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 9, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 4, "algorithm": "medium", "perf": 4989.51, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 13, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 5567.85, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 16, "tile_m": 3, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5984.36, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 17, "tile_m": 3, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5760.49, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 22, "tile_m": 3, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6242.94, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 23, "tile_m": 3, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6240.53, "source": "autotuned"}, +{"m": 23, "n": 13, "k": 26, "tile_m": 3, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6451.68, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4735.61, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 9, "tile_m": 3, "tile_n": 4, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6247.08, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 13, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6972.55, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 16, "tile_m": 3, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7133.44, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 17, "tile_m": 3, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7076.47, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 22, "tile_m": 3, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7461.79, "source": "autotuned"}, +{"m": 23, "n": 16, "k": 23, "tile_m": 3, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7519.22, "source": "autotuned"}, +{"m": 23, "n": 17, "k": 9, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 5720.64, "source": "autotuned"}, +{"m": 23, "n": 17, "k": 13, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 6409.15, "source": "autotuned"}, +{"m": 23, "n": 17, "k": 16, "tile_m": 3, "tile_n": 5, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6638.57, "source": "autotuned"}, +{"m": 23, "n": 17, "k": 17, "tile_m": 3, "tile_n": 5, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6704.95, "source": "autotuned"}, +{"m": 23, "n": 17, "k": 22, "tile_m": 3, "tile_n": 5, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7134.9, "source": "autotuned"}, +{"m": 23, "n": 17, "k": 23, "tile_m": 3, "tile_n": 5, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7258.59, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 4952.22, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 128, "grouping": 11, "minblocks": 12, "algorithm": "medium", "perf": 5133.45, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 9, "tile_m": 6, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6614.85, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 13, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7396.09, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 16, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7844.88, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 17, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7977.15, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 22, "tile_m": 3, "tile_n": 6, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8777.31, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 23, "tile_m": 3, "tile_n": 6, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8742.16, "source": "autotuned"}, +{"m": 23, "n": 22, "k": 26, "tile_m": 3, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9086.38, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 96, "grouping": 16, "minblocks": 12, "algorithm": "medium", "perf": 5102.85, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 5421.78, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 9, "tile_m": 6, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6832.84, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 13, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7669.06, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 16, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7999.98, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 17, "tile_m": 3, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8072.82, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 22, "tile_m": 3, "tile_n": 6, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8882.23, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 23, "tile_m": 3, "tile_n": 6, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8935.98, "source": "autotuned"}, +{"m": 23, "n": 23, "k": 26, "tile_m": 3, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 9233.76, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5194.85, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5310.14, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7074.48, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7643.93, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 22, "tile_m": 3, "tile_n": 7, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 9368.85, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 23, "tile_m": 3, "tile_n": 7, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9397.74, "source": "autotuned"}, +{"m": 23, "n": 26, "k": 26, "tile_m": 3, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9600.53, "source": "autotuned"}, +{"m": 24, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 12, "algorithm": "medium", "perf": 2037.99, "source": "autotuned"}, +{"m": 24, "n": 5, "k": 13, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2979.45, "source": "autotuned"}, +{"m": 24, "n": 5, "k": 24, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 3373.42, "source": "autotuned"}, +{"m": 24, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 3405.32, "source": "autotuned"}, +{"m": 24, "n": 5, "k": 32, "tile_m": 2, "tile_n": 3, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3556.67, "source": "autotuned"}, +{"m": 24, "n": 13, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4047.96, "source": "autotuned"}, +{"m": 24, "n": 13, "k": 13, "tile_m": 3, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6073.75, "source": "autotuned"}, +{"m": 24, "n": 13, "k": 24, "tile_m": 3, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6733.9, "source": "autotuned"}, +{"m": 24, "n": 13, "k": 26, "tile_m": 3, "tile_n": 4, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6797.99, "source": "autotuned"}, +{"m": 24, "n": 13, "k": 32, "tile_m": 3, "tile_n": 4, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7279.24, "source": "autotuned"}, +{"m": 24, "n": 24, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 5976.97, "source": "autotuned"}, +{"m": 24, "n": 24, "k": 13, "tile_m": 3, "tile_n": 6, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8237.18, "source": "autotuned"}, +{"m": 24, "n": 24, "k": 24, "tile_m": 3, "tile_n": 6, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10238.1, "source": "autotuned"}, +{"m": 24, "n": 24, "k": 26, "tile_m": 3, "tile_n": 6, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8609.59, "source": "autotuned"}, +{"m": 24, "n": 24, "k": 32, "tile_m": 3, "tile_n": 6, "w": 12, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10761.3, "source": "autotuned"}, +{"m": 24, "n": 26, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 9, "minblocks": 7, "algorithm": "medium", "perf": 5413.66, "source": "autotuned"}, +{"m": 24, "n": 26, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7782.48, "source": "autotuned"}, +{"m": 24, "n": 26, "k": 24, "tile_m": 3, "tile_n": 7, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9973.82, "source": "autotuned"}, +{"m": 24, "n": 26, "k": 26, "tile_m": 3, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10155.9, "source": "autotuned"}, +{"m": 24, "n": 26, "k": 32, "tile_m": 3, "tile_n": 7, "w": 12, "v": 18, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 10592.7, "source": "autotuned"}, +{"m": 24, "n": 32, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 6742.89, "source": "autotuned"}, +{"m": 24, "n": 32, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9310.55, "source": "autotuned"}, +{"m": 24, "n": 32, "k": 24, "tile_m": 3, "tile_n": 8, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11435.5, "source": "autotuned"}, +{"m": 24, "n": 32, "k": 26, "tile_m": 3, "tile_n": 8, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11561.4, "source": "autotuned"}, +{"m": 24, "n": 32, "k": 32, "tile_m": 3, "tile_n": 8, "w": 12, "v": 30, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 12080.4, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 7, "minblocks": 10, "algorithm": "medium", "perf": 1523.63, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 7, "minblocks": 8, "algorithm": "medium", "perf": 1787.04, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 25, "algorithm": "medium", "perf": 2176.98, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 9, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2344.95, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2668.41, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 15, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 2834.42, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 16, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 10, "algorithm": "medium", "perf": 2907.73, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 12, "minblocks": 12, "algorithm": "medium", "perf": 2899.46, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 25, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 9, "algorithm": "medium", "perf": 3146.43, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 26, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 12, "minblocks": 9, "algorithm": "medium", "perf": 3007.59, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 28, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 12, "minblocks": 8, "algorithm": "medium", "perf": 3007.65, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 32, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 12, "minblocks": 7, "algorithm": "medium", "perf": 3140.29, "source": "autotuned"}, +{"m": 25, "n": 4, "k": 45, "tile_m": 1, "tile_n": 4, "w": 22, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3309.86, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 7, "minblocks": 14, "algorithm": "medium", "perf": 1805.36, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2115.0, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 7, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 6, "minblocks": 25, "algorithm": "medium", "perf": 2263.78, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2599.51, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 13, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 2991.21, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 15, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3117.32, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 16, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3230.29, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 22, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 3260.28, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 25, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 3401.5, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 3426.93, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 28, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 3438.06, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 32, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 3472.3, "source": "autotuned"}, +{"m": 25, "n": 5, "k": 45, "tile_m": 1, "tile_n": 5, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3535.88, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 4, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 23, "algorithm": "medium", "perf": 2348.8, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 5, "tile_m": 1, "tile_n": 7, "threads": 128, "grouping": 13, "minblocks": 10, "algorithm": "medium", "perf": 2538.08, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 7, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2898.94, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 9, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3252.27, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 13, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3792.85, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 25, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 11, "minblocks": 6, "algorithm": "medium", "perf": 4071.04, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 26, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 4093.01, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 28, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 11, "minblocks": 6, "algorithm": "medium", "perf": 4124.71, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 32, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 11, "minblocks": 5, "algorithm": "medium", "perf": 4228.8, "source": "autotuned"}, +{"m": 25, "n": 7, "k": 45, "tile_m": 1, "tile_n": 7, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4486.88, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 4, "tile_m": 1, "tile_n": 9, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2597.93, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 5, "tile_m": 1, "tile_n": 9, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2948.75, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 7, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3344.99, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 9, "tile_m": 3, "tile_n": 3, "threads": 96, "grouping": 11, "minblocks": 11, "algorithm": "medium", "perf": 3613.97, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 13, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4200.88, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 15, "tile_m": 3, "tile_n": 3, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4341.26, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 16, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4395.19, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 22, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4627.61, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 25, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4757.69, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 26, "tile_m": 3, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4820.29, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 28, "tile_m": 3, "tile_n": 3, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4901.71, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 32, "tile_m": 3, "tile_n": 3, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5025.99, "source": "autotuned"}, +{"m": 25, "n": 9, "k": 45, "tile_m": 3, "tile_n": 3, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5327.81, "source": "autotuned"}, +{"m": 25, "n": 11, "k": 11, "tile_m": 1, "tile_n": 11, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 4562.3, "source": "autotuned"}, +{"m": 25, "n": 11, "k": 12, "tile_m": 1, "tile_n": 11, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4524.03, "source": "autotuned"}, +{"m": 25, "n": 11, "k": 20, "tile_m": 5, "tile_n": 2, "w": 8, "v": 10, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5006.11, "source": "autotuned"}, +{"m": 25, "n": 11, "k": 25, "tile_m": 5, "tile_n": 2, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4273.29, "source": "autotuned"}, +{"m": 25, "n": 11, "k": 32, "tile_m": 5, "tile_n": 2, "w": 14, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5520.12, "source": "autotuned"}, +{"m": 25, "n": 12, "k": 11, "tile_m": 5, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 4733.79, "source": "autotuned"}, +{"m": 25, "n": 12, "k": 12, "tile_m": 1, "tile_n": 12, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4951.13, "source": "autotuned"}, +{"m": 25, "n": 12, "k": 20, "tile_m": 5, "tile_n": 2, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5533.38, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3222.37, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 18, "minblocks": 7, "algorithm": "medium", "perf": 3621.44, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 7, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4098.9, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 9, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4406.5, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 13, "tile_m": 7, "tile_n": 2, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4966.3, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 14, "tile_m": 7, "tile_n": 2, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5102.49, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 15, "tile_m": 7, "tile_n": 2, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5124.19, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 16, "tile_m": 7, "tile_n": 2, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5163.76, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 22, "tile_m": 7, "tile_n": 2, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5489.05, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 25, "tile_m": 7, "tile_n": 2, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5609.07, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 26, "tile_m": 7, "tile_n": 2, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5739.68, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 28, "tile_m": 5, "tile_n": 3, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5780.81, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 32, "tile_m": 7, "tile_n": 2, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5937.93, "source": "autotuned"}, +{"m": 25, "n": 13, "k": 45, "tile_m": 7, "tile_n": 2, "w": 20, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6204.23, "source": "autotuned"}, +{"m": 25, "n": 14, "k": 13, "tile_m": 7, "tile_n": 2, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5459.52, "source": "autotuned"}, +{"m": 25, "n": 14, "k": 14, "tile_m": 7, "tile_n": 2, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5488.84, "source": "autotuned"}, +{"m": 25, "n": 14, "k": 26, "tile_m": 7, "tile_n": 2, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6205.07, "source": "autotuned"}, +{"m": 25, "n": 14, "k": 32, "tile_m": 7, "tile_n": 2, "w": 12, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6393.48, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3750.0, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4274.03, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 9, "tile_m": 7, "tile_n": 2, "w": 4, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5102.35, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 13, "tile_m": 7, "tile_n": 2, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5655.03, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 15, "tile_m": 7, "tile_n": 2, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5838.9, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 16, "tile_m": 7, "tile_n": 2, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5936.57, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 22, "tile_m": 7, "tile_n": 2, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6253.53, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 25, "tile_m": 7, "tile_n": 2, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6410.07, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 26, "tile_m": 3, "tile_n": 5, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6449.01, "source": "autotuned"}, +{"m": 25, "n": 15, "k": 45, "tile_m": 7, "tile_n": 2, "w": 16, "v": 14, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7116.47, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 18, "minblocks": 7, "algorithm": "medium", "perf": 3918.68, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 4469.01, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 9, "tile_m": 7, "tile_n": 2, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5574.5, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 13, "tile_m": 7, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6312.65, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 15, "tile_m": 7, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6425.99, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 16, "tile_m": 7, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6440.64, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 22, "tile_m": 7, "tile_n": 2, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6736.8, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 25, "tile_m": 7, "tile_n": 2, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6941.79, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 26, "tile_m": 7, "tile_n": 2, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6989.87, "source": "autotuned"}, +{"m": 25, "n": 16, "k": 45, "tile_m": 7, "tile_n": 2, "w": 16, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7573.87, "source": "autotuned"}, +{"m": 25, "n": 20, "k": 11, "tile_m": 7, "tile_n": 3, "w": 4, "v": 20, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6485.33, "source": "autotuned"}, +{"m": 25, "n": 20, "k": 12, "tile_m": 7, "tile_n": 3, "w": 4, "v": 20, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6583.41, "source": "autotuned"}, +{"m": 25, "n": 20, "k": 20, "tile_m": 7, "tile_n": 3, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7360.65, "source": "autotuned"}, +{"m": 25, "n": 20, "k": 25, "tile_m": 7, "tile_n": 3, "w": 10, "v": 20, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7764.79, "source": "autotuned"}, +{"m": 25, "n": 20, "k": 32, "tile_m": 7, "tile_n": 3, "w": 12, "v": 20, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8086.06, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 4411.96, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 5, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 14, "minblocks": 10, "algorithm": "medium", "perf": 4912.25, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 9, "tile_m": 7, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6836.01, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 13, "tile_m": 7, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7280.86, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 15, "tile_m": 7, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7479.68, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 16, "tile_m": 7, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7623.63, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 22, "tile_m": 7, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8243.21, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 25, "tile_m": 7, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8555.44, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 26, "tile_m": 7, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8539.98, "source": "autotuned"}, +{"m": 25, "n": 22, "k": 45, "tile_m": 7, "tile_n": 3, "w": 18, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9163.88, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4803.65, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 18, "minblocks": 8, "algorithm": "medium", "perf": 5291.54, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5642.07, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 9, "tile_m": 7, "tile_n": 4, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6669.41, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 11, "tile_m": 7, "tile_n": 4, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6972.44, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 12, "tile_m": 7, "tile_n": 4, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7218.42, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 13, "tile_m": 7, "tile_n": 4, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6045.78, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 14, "tile_m": 7, "tile_n": 4, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7466.08, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 15, "tile_m": 7, "tile_n": 4, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7626.4, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 16, "tile_m": 7, "tile_n": 4, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7734.38, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 20, "tile_m": 7, "tile_n": 4, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8177.83, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 22, "tile_m": 7, "tile_n": 4, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8407.27, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 25, "tile_m": 7, "tile_n": 4, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8608.34, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 26, "tile_m": 7, "tile_n": 4, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8517.94, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 28, "tile_m": 5, "tile_n": 5, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8738.17, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 32, "tile_m": 7, "tile_n": 4, "w": 12, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8924.72, "source": "autotuned"}, +{"m": 25, "n": 25, "k": 45, "tile_m": 7, "tile_n": 4, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9300.43, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 18, "minblocks": 7, "algorithm": "medium", "perf": 4946.86, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5171.29, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5746.74, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 9, "tile_m": 7, "tile_n": 4, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7022.19, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 13, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7771.35, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 14, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7906.35, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 15, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8047.07, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 16, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8230.42, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 22, "tile_m": 7, "tile_n": 4, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8835.37, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 25, "tile_m": 7, "tile_n": 4, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8911.77, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 26, "tile_m": 7, "tile_n": 4, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9012.95, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 28, "tile_m": 7, "tile_n": 4, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9157.79, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 32, "tile_m": 7, "tile_n": 4, "w": 12, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9377.93, "source": "autotuned"}, +{"m": 25, "n": 26, "k": 45, "tile_m": 7, "tile_n": 4, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9760.64, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 5375.96, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 5484.74, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 224, "grouping": 25, "minblocks": 5, "algorithm": "medium", "perf": 5858.4, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 9, "tile_m": 7, "tile_n": 4, "w": 4, "v": 28, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7538.24, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 13, "tile_m": 7, "tile_n": 4, "w": 6, "v": 28, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8096.21, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 25, "tile_m": 7, "tile_n": 4, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9555.39, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 28, "tile_m": 7, "tile_n": 4, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9804.7, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 32, "tile_m": 7, "tile_n": 4, "w": 12, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10149.6, "source": "autotuned"}, +{"m": 25, "n": 28, "k": 45, "tile_m": 7, "tile_n": 4, "w": 16, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10340.1, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 160, "grouping": 18, "minblocks": 7, "algorithm": "medium", "perf": 5320.22, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 192, "grouping": 31, "minblocks": 4, "algorithm": "medium", "perf": 5759.96, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 7, "tile_m": 7, "tile_n": 2, "threads": 256, "grouping": 31, "minblocks": 4, "algorithm": "medium", "perf": 6126.6, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 9, "tile_m": 7, "tile_n": 4, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8574.11, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 11, "tile_m": 7, "tile_n": 4, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8811.56, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 12, "tile_m": 7, "tile_n": 4, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9116.77, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 13, "tile_m": 7, "tile_n": 4, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9176.64, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 14, "tile_m": 7, "tile_n": 4, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9391.03, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 20, "tile_m": 7, "tile_n": 4, "w": 8, "v": 32, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10386.1, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 25, "tile_m": 7, "tile_n": 4, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10734.9, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 26, "tile_m": 7, "tile_n": 4, "w": 10, "v": 30, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10849.9, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 28, "tile_m": 7, "tile_n": 4, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11136.7, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 32, "tile_m": 7, "tile_n": 4, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11279.4, "source": "autotuned"}, +{"m": 25, "n": 32, "k": 45, "tile_m": 7, "tile_n": 4, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11662.9, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 31, "minblocks": 5, "algorithm": "medium", "perf": 5498.46, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 256, "grouping": 31, "minblocks": 4, "algorithm": "medium", "perf": 5898.07, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 7, "tile_m": 3, "tile_n": 5, "threads": 96, "grouping": 16, "minblocks": 7, "algorithm": "medium", "perf": 6075.16, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 9, "tile_m": 7, "tile_n": 3, "w": 4, "v": 28, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7818.96, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 13, "tile_m": 7, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9798.77, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 15, "tile_m": 7, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10303.3, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 16, "tile_m": 7, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10523.5, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 22, "tile_m": 7, "tile_n": 6, "w": 8, "v": 44, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11469.0, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 25, "tile_m": 7, "tile_n": 6, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11495.7, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 26, "tile_m": 7, "tile_n": 6, "w": 12, "v": 44, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11618.5, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 28, "tile_m": 7, "tile_n": 6, "w": 12, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11802.9, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 32, "tile_m": 7, "tile_n": 6, "w": 12, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 12097.8, "source": "autotuned"}, +{"m": 25, "n": 45, "k": 45, "tile_m": 7, "tile_n": 6, "w": 12, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 12279.5, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 7, "minblocks": 9, "algorithm": "medium", "perf": 1587.07, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 1828.07, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 6, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 25, "algorithm": "medium", "perf": 2094.61, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 2229.8, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 8, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2281.41, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 9, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 2415.52, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 10, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2435.41, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 2769.47, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 15, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 2366.62, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 16, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 7, "algorithm": "medium", "perf": 2979.2, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "threads": 96, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 2964.66, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 23, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 2, "algorithm": "medium", "perf": 3050.42, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 25, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 8, "minblocks": 6, "algorithm": "medium", "perf": 3223.81, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 26, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 11, "minblocks": 4, "algorithm": "medium", "perf": 3050.29, "source": "autotuned"}, +{"m": 26, "n": 4, "k": 45, "tile_m": 1, "tile_n": 4, "w": 22, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3351.08, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 7, "minblocks": 7, "algorithm": "medium", "perf": 1918.83, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 26, "algorithm": "medium", "perf": 2191.57, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 2490.31, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 7, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 6, "minblocks": 26, "algorithm": "medium", "perf": 2362.49, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 8, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 7, "minblocks": 21, "algorithm": "medium", "perf": 2555.56, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 9, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2695.45, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 10, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 8, "algorithm": "medium", "perf": 2858.73, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 13, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3108.4, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 15, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 3200.34, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 16, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3331.71, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 22, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 10, "algorithm": "medium", "perf": 3349.99, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 23, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 3453.73, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 25, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 1, "algorithm": "medium", "perf": 3491.96, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 11, "minblocks": 8, "algorithm": "medium", "perf": 3520.71, "source": "autotuned"}, +{"m": 26, "n": 5, "k": 45, "tile_m": 2, "tile_n": 5, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3645.24, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 4, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 21, "algorithm": "medium", "perf": 2205.64, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 5, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 2553.47, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 6, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 9, "minblocks": 17, "algorithm": "medium", "perf": 2578.23, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 7, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 9, "minblocks": 18, "algorithm": "medium", "perf": 2841.28, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 8, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 2945.01, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 9, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 9, "minblocks": 15, "algorithm": "medium", "perf": 3111.47, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 10, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3306.99, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 13, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 3666.21, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 26, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 12, "minblocks": 2, "algorithm": "medium", "perf": 3913.76, "source": "autotuned"}, +{"m": 26, "n": 6, "k": 45, "tile_m": 1, "tile_n": 6, "w": 16, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4534.35, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 4, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 11, "algorithm": "medium", "perf": 2402.92, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 5, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 6, "minblocks": 23, "algorithm": "medium", "perf": 2439.94, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 6, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 6, "minblocks": 27, "algorithm": "medium", "perf": 2787.88, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 7, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2965.25, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 8, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3217.8, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 9, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3359.57, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 10, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3516.87, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 13, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3909.38, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 26, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 11, "minblocks": 9, "algorithm": "medium", "perf": 4231.36, "source": "autotuned"}, +{"m": 26, "n": 7, "k": 45, "tile_m": 1, "tile_n": 7, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4637.3, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 4, "tile_m": 1, "tile_n": 8, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2567.12, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 9, "minblocks": 20, "algorithm": "medium", "perf": 2743.71, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 6, "tile_m": 1, "tile_n": 8, "threads": 64, "grouping": 9, "minblocks": 14, "algorithm": "medium", "perf": 3059.03, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 7, "tile_m": 1, "tile_n": 8, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3333.8, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 8, "tile_m": 1, "tile_n": 8, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3590.64, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 9, "tile_m": 1, "tile_n": 8, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 3720.37, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 10, "tile_m": 1, "tile_n": 8, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3978.3, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 13, "tile_m": 1, "tile_n": 8, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4237.91, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 26, "tile_m": 1, "tile_n": 8, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4755.07, "source": "autotuned"}, +{"m": 26, "n": 8, "k": 45, "tile_m": 1, "tile_n": 8, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5279.84, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 4, "tile_m": 1, "tile_n": 9, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 2679.83, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 5, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 6, "minblocks": 24, "algorithm": "medium", "perf": 2855.25, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 6, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 6, "minblocks": 26, "algorithm": "medium", "perf": 3203.74, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 7, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 3472.47, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 8, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 19, "algorithm": "medium", "perf": 3663.35, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 9, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 18, "algorithm": "medium", "perf": 3759.2, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 10, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 4055.32, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 13, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 3567.35, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 15, "tile_m": 3, "tile_n": 3, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4470.84, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 16, "tile_m": 1, "tile_n": 9, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 4496.0, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 22, "tile_m": 3, "tile_n": 3, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4730.2, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 23, "tile_m": 3, "tile_n": 3, "w": 8, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4767.13, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 25, "tile_m": 3, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4863.02, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 26, "tile_m": 3, "tile_n": 3, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4945.21, "source": "autotuned"}, +{"m": 26, "n": 9, "k": 45, "tile_m": 3, "tile_n": 3, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5426.73, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 4, "tile_m": 1, "tile_n": 10, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3006.0, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 5, "tile_m": 1, "tile_n": 10, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 2600.81, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 6, "tile_m": 1, "tile_n": 10, "threads": 32, "grouping": 7, "minblocks": 22, "algorithm": "medium", "perf": 3505.73, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 7, "tile_m": 1, "tile_n": 10, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 3778.42, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 8, "tile_m": 1, "tile_n": 10, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4120.1, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 9, "tile_m": 1, "tile_n": 10, "threads": 32, "grouping": 8, "minblocks": 16, "algorithm": "medium", "perf": 4287.05, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 10, "tile_m": 1, "tile_n": 10, "threads": 32, "grouping": 8, "minblocks": 17, "algorithm": "medium", "perf": 4395.12, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 13, "tile_m": 5, "tile_n": 2, "w": 6, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4766.53, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 26, "tile_m": 5, "tile_n": 2, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5408.25, "source": "autotuned"}, +{"m": 26, "n": 10, "k": 45, "tile_m": 1, "tile_n": 10, "w": 16, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5994.7, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 14, "minblocks": 9, "algorithm": "medium", "perf": 3374.49, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 14, "algorithm": "medium", "perf": 3606.73, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 6, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 20, "algorithm": "medium", "perf": 4033.07, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 7, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4386.1, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 8, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 15, "algorithm": "medium", "perf": 4647.5, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 9, "tile_m": 5, "tile_n": 3, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4788.28, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 10, "tile_m": 5, "tile_n": 3, "w": 4, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4994.17, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 13, "tile_m": 5, "tile_n": 3, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5519.51, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 15, "tile_m": 5, "tile_n": 3, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5637.18, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 16, "tile_m": 5, "tile_n": 3, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5686.43, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 22, "tile_m": 5, "tile_n": 3, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6087.01, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 23, "tile_m": 5, "tile_n": 3, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6089.61, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 25, "tile_m": 5, "tile_n": 3, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6233.51, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 26, "tile_m": 5, "tile_n": 3, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6388.62, "source": "autotuned"}, +{"m": 26, "n": 13, "k": 45, "tile_m": 5, "tile_n": 3, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6989.93, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 3850.68, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 13, "algorithm": "medium", "perf": 4042.71, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 9, "tile_m": 5, "tile_n": 3, "w": 4, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5432.33, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 13, "tile_m": 5, "tile_n": 3, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6227.9, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 15, "tile_m": 5, "tile_n": 3, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6326.3, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 16, "tile_m": 5, "tile_n": 3, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6404.19, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 22, "tile_m": 5, "tile_n": 3, "w": 8, "v": 14, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6866.15, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 25, "tile_m": 5, "tile_n": 3, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7101.73, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 26, "tile_m": 5, "tile_n": 3, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7124.68, "source": "autotuned"}, +{"m": 26, "n": 15, "k": 45, "tile_m": 5, "tile_n": 3, "w": 18, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7989.45, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 4, "tile_m": 7, "tile_n": 2, "threads": 128, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4221.61, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 5, "tile_m": 7, "tile_n": 2, "threads": 32, "grouping": 8, "minblocks": 3, "algorithm": "medium", "perf": 4292.95, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 9, "tile_m": 7, "tile_n": 2, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5960.48, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 13, "tile_m": 7, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6586.47, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 15, "tile_m": 7, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6616.91, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 16, "tile_m": 7, "tile_n": 2, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6720.81, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 22, "tile_m": 5, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7182.16, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 25, "tile_m": 5, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7327.95, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 26, "tile_m": 5, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7477.11, "source": "autotuned"}, +{"m": 26, "n": 16, "k": 45, "tile_m": 5, "tile_n": 4, "w": 12, "v": 16, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8036.85, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 4593.97, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 5, "tile_m": 1, "tile_n": 8, "threads": 160, "grouping": 16, "minblocks": 8, "algorithm": "medium", "perf": 4808.22, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 9, "tile_m": 7, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7063.94, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 13, "tile_m": 7, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7455.72, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 15, "tile_m": 7, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7622.27, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 16, "tile_m": 7, "tile_n": 3, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7963.06, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 22, "tile_m": 7, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8578.78, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 23, "tile_m": 7, "tile_n": 3, "w": 8, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8573.36, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 25, "tile_m": 7, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8641.44, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 26, "tile_m": 7, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8823.63, "source": "autotuned"}, +{"m": 26, "n": 22, "k": 45, "tile_m": 7, "tile_n": 3, "w": 18, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9432.67, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 4766.43, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 5, "tile_m": 1, "tile_n": 8, "threads": 160, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 4855.41, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 9, "tile_m": 7, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6869.86, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 13, "tile_m": 7, "tile_n": 3, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7636.43, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 22, "tile_m": 7, "tile_n": 3, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8781.21, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 23, "tile_m": 7, "tile_n": 3, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8766.97, "source": "autotuned"}, +{"m": 26, "n": 23, "k": 26, "tile_m": 7, "tile_n": 3, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8983.17, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 18, "minblocks": 8, "algorithm": "medium", "perf": 4991.96, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 18, "minblocks": 7, "algorithm": "medium", "perf": 5204.4, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 9, "tile_m": 7, "tile_n": 4, "w": 4, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6836.25, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 13, "tile_m": 5, "tile_n": 5, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7860.48, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 15, "tile_m": 5, "tile_n": 5, "w": 6, "v": 20, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8237.37, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 16, "tile_m": 5, "tile_n": 5, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8387.46, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 22, "tile_m": 5, "tile_n": 5, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9169.53, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 25, "tile_m": 5, "tile_n": 5, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9325.92, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 26, "tile_m": 5, "tile_n": 5, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9481.37, "source": "autotuned"}, +{"m": 26, "n": 25, "k": 45, "tile_m": 5, "tile_n": 5, "w": 16, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10200.7, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 128, "grouping": 16, "minblocks": 9, "algorithm": "medium", "perf": 5184.18, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 5349.77, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 6, "tile_m": 3, "tile_n": 4, "threads": 160, "grouping": 18, "minblocks": 7, "algorithm": "medium", "perf": 5829.41, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 6024.79, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 8, "tile_m": 5, "tile_n": 3, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "medium", "perf": 6062.41, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 9, "tile_m": 7, "tile_n": 4, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7265.3, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 10, "tile_m": 7, "tile_n": 4, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7482.97, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 13, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7919.59, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 15, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8348.29, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 16, "tile_m": 7, "tile_n": 4, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8516.96, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 22, "tile_m": 7, "tile_n": 4, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9160.5, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 23, "tile_m": 7, "tile_n": 4, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9248.48, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 25, "tile_m": 5, "tile_n": 6, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9179.34, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 26, "tile_m": 5, "tile_n": 6, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9322.11, "source": "autotuned"}, +{"m": 26, "n": 26, "k": 45, "tile_m": 5, "tile_n": 6, "w": 16, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 10093.8, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 4, "tile_m": 5, "tile_n": 3, "threads": 224, "grouping": 25, "minblocks": 5, "algorithm": "medium", "perf": 5978.88, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 5, "tile_m": 5, "tile_n": 3, "threads": 256, "grouping": 31, "minblocks": 4, "algorithm": "medium", "perf": 6251.95, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 6, "tile_m": 7, "tile_n": 2, "threads": 160, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 6383.81, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 7, "tile_m": 3, "tile_n": 4, "threads": 320, "grouping": 31, "minblocks": 4, "algorithm": "medium", "perf": 6152.11, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 8, "tile_m": 5, "tile_n": 3, "threads": 96, "grouping": 21, "minblocks": 6, "algorithm": "medium", "perf": 6322.03, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 9, "tile_m": 7, "tile_n": 3, "w": 4, "v": 36, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8146.4, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 10, "tile_m": 7, "tile_n": 3, "w": 4, "v": 36, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8345.84, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 13, "tile_m": 7, "tile_n": 6, "w": 6, "v": 42, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10111.7, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 15, "tile_m": 7, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10573.5, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 16, "tile_m": 7, "tile_n": 6, "w": 6, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10813.8, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 22, "tile_m": 7, "tile_n": 6, "w": 8, "v": 44, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11829.1, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 25, "tile_m": 7, "tile_n": 6, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11874.7, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 26, "tile_m": 7, "tile_n": 6, "w": 10, "v": 44, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 12030.6, "source": "autotuned"}, +{"m": 26, "n": 45, "k": 45, "tile_m": 7, "tile_n": 6, "w": 12, "v": 44, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 12649.1, "source": "autotuned"}, +{"m": 27, "n": 27, "k": 27, "tile_m": 5, "tile_n": 6, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9928.97, "source": "autotuned"}, +{"m": 28, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 1860.48, "source": "autotuned"}, +{"m": 28, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 2827.38, "source": "autotuned"}, +{"m": 28, "n": 4, "k": 28, "tile_m": 1, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3118.27, "source": "autotuned"}, +{"m": 28, "n": 5, "k": 25, "tile_m": 3, "tile_n": 2, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3476.76, "source": "autotuned"}, +{"m": 28, "n": 28, "k": 28, "tile_m": 5, "tile_n": 6, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10944.8, "source": "autotuned"}, +{"m": 29, "n": 14, "k": 14, "tile_m": 3, "tile_n": 5, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6652.62, "source": "autotuned"}, +{"m": 29, "n": 14, "k": 16, "tile_m": 3, "tile_n": 5, "w": 6, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6752.37, "source": "autotuned"}, +{"m": 29, "n": 14, "k": 29, "tile_m": 3, "tile_n": 5, "w": 10, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7899.18, "source": "autotuned"}, +{"m": 29, "n": 14, "k": 32, "tile_m": 3, "tile_n": 5, "w": 12, "v": 14, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8052.08, "source": "autotuned"}, +{"m": 29, "n": 16, "k": 14, "tile_m": 3, "tile_n": 6, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7190.74, "source": "autotuned"}, +{"m": 29, "n": 16, "k": 16, "tile_m": 3, "tile_n": 6, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7421.37, "source": "autotuned"}, +{"m": 29, "n": 29, "k": 14, "tile_m": 5, "tile_n": 6, "w": 6, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7918.65, "source": "autotuned"}, +{"m": 29, "n": 29, "k": 16, "tile_m": 5, "tile_n": 6, "w": 6, "v": 28, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9941.07, "source": "autotuned"}, +{"m": 29, "n": 29, "k": 29, "tile_m": 5, "tile_n": 6, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11386.1, "source": "autotuned"}, +{"m": 29, "n": 29, "k": 32, "tile_m": 5, "tile_n": 6, "w": 12, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11597.0, "source": "autotuned"}, +{"m": 29, "n": 32, "k": 14, "tile_m": 9, "tile_n": 4, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9688.91, "source": "autotuned"}, +{"m": 29, "n": 32, "k": 29, "tile_m": 5, "tile_n": 7, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11397.3, "source": "autotuned"}, +{"m": 29, "n": 32, "k": 32, "tile_m": 3, "tile_n": 11, "w": 12, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11453.0, "source": "autotuned"}, +{"m": 30, "n": 30, "k": 30, "tile_m": 5, "tile_n": 6, "w": 12, "v": 30, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 12096.9, "source": "autotuned"}, +{"m": 30, "n": 30, "k": 76, "tile_m": 5, "tile_n": 6, "w": 20, "v": 30, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 13112.6, "source": "autotuned"}, +{"m": 30, "n": 76, "k": 30, "tile_m": 5, "tile_n": 8, "w": 10, "v": 72, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 13174.0, "source": "autotuned"}, +{"m": 30, "n": 76, "k": 76, "tile_m": 5, "tile_n": 8, "w": 16, "v": 74, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 14289.3, "source": "autotuned"}, +{"m": 31, "n": 31, "k": 31, "tile_m": 9, "tile_n": 4, "w": 8, "v": 30, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8885.01, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 6, "minblocks": 15, "algorithm": "small", "perf": 1900.11, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 5, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2072.2, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 6, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2313.11, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 7, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2495.53, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 8, "tile_m": 1, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2689.09, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 9, "tile_m": 1, "tile_n": 4, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 2723.61, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 10, "tile_m": 1, "tile_n": 4, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3009.56, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 13, "tile_m": 1, "tile_n": 4, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3217.8, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 22, "tile_m": 1, "tile_n": 4, "w": 8, "v": 4, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3249.93, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 25, "tile_m": 1, "tile_n": 4, "w": 12, "v": 4, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3329.75, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 26, "tile_m": 1, "tile_n": 4, "w": 10, "v": 4, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3352.51, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 28, "tile_m": 2, "tile_n": 2, "w": 12, "v": 4, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3482.95, "source": "autotuned"}, +{"m": 32, "n": 4, "k": 32, "tile_m": 2, "tile_n": 2, "w": 12, "v": 4, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3593.05, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2115.08, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 5, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2421.09, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2712.12, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 7, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2741.07, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 8, "tile_m": 1, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2962.36, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 9, "tile_m": 2, "tile_n": 3, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3204.56, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 10, "tile_m": 2, "tile_n": 3, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3468.58, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 13, "tile_m": 1, "tile_n": 5, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3729.88, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 16, "tile_m": 1, "tile_n": 5, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3774.21, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 22, "tile_m": 1, "tile_n": 5, "w": 8, "v": 4, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3830.06, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 26, "tile_m": 1, "tile_n": 5, "w": 10, "v": 4, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3983.38, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 32, "tile_m": 1, "tile_n": 5, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4262.08, "source": "autotuned"}, +{"m": 32, "n": 5, "k": 45, "tile_m": 1, "tile_n": 5, "w": 20, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4405.05, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 4, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2448.57, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 5, "tile_m": 1, "tile_n": 6, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2821.86, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 6, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2900.48, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 7, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3210.34, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 8, "tile_m": 2, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3457.62, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 9, "tile_m": 2, "tile_n": 3, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3880.62, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 10, "tile_m": 2, "tile_n": 3, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4188.88, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 13, "tile_m": 2, "tile_n": 3, "w": 6, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4487.38, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 22, "tile_m": 2, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4409.03, "source": "autotuned"}, +{"m": 32, "n": 6, "k": 32, "tile_m": 2, "tile_n": 3, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4886.76, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 4, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2662.02, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 5, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2809.82, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 6, "tile_m": 1, "tile_n": 7, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3212.05, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 16, "algorithm": "medium", "perf": 3422.52, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 3679.56, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 9, "tile_m": 2, "tile_n": 4, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4074.0, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 10, "tile_m": 2, "tile_n": 4, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4467.11, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 13, "tile_m": 2, "tile_n": 4, "w": 6, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4767.45, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 22, "tile_m": 1, "tile_n": 7, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4895.27, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 26, "tile_m": 1, "tile_n": 7, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5132.88, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 32, "tile_m": 2, "tile_n": 4, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5491.63, "source": "autotuned"}, +{"m": 32, "n": 7, "k": 45, "tile_m": 2, "tile_n": 4, "w": 18, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5734.49, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 4, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 23, "algorithm": "medium", "perf": 2704.48, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 16, "algorithm": "medium", "perf": 3133.97, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 6, "tile_m": 2, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 3465.42, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 16, "algorithm": "medium", "perf": 3874.41, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 4193.74, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 9, "tile_m": 2, "tile_n": 4, "w": 4, "v": 8, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4801.5, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 10, "tile_m": 2, "tile_n": 4, "w": 4, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5131.86, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 13, "tile_m": 2, "tile_n": 4, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5427.78, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 22, "tile_m": 2, "tile_n": 4, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5646.94, "source": "autotuned"}, +{"m": 32, "n": 8, "k": 32, "tile_m": 2, "tile_n": 4, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6200.17, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 4, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2825.1, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 5, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3364.55, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 6, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 3731.05, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 7, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 3451.16, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 8, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 4, "minblocks": 19, "algorithm": "medium", "perf": 4004.03, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 9, "tile_m": 2, "tile_n": 3, "w": 4, "v": 8, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4389.01, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 10, "tile_m": 2, "tile_n": 3, "w": 4, "v": 8, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4641.0, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 12, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 4, "minblocks": 15, "algorithm": "medium", "perf": 4952.84, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 13, "tile_m": 2, "tile_n": 5, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5475.39, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 22, "tile_m": 2, "tile_n": 5, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5866.69, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 25, "tile_m": 2, "tile_n": 5, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6122.63, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 26, "tile_m": 2, "tile_n": 5, "w": 10, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6252.37, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 32, "tile_m": 2, "tile_n": 5, "w": 12, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6486.08, "source": "autotuned"}, +{"m": 32, "n": 9, "k": 45, "tile_m": 2, "tile_n": 5, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6836.38, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 4, "tile_m": 1, "tile_n": 5, "threads": 64, "grouping": 5, "minblocks": 18, "algorithm": "medium", "perf": 3129.71, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 5, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 3089.77, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 6, "tile_m": 1, "tile_n": 5, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 4005.42, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 7, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 4154.06, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 8, "tile_m": 1, "tile_n": 5, "threads": 96, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 4384.93, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 9, "tile_m": 2, "tile_n": 4, "w": 4, "v": 10, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4728.6, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 10, "tile_m": 2, "tile_n": 4, "w": 4, "v": 10, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4970.5, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 13, "tile_m": 2, "tile_n": 5, "w": 6, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6063.09, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 22, "tile_m": 2, "tile_n": 5, "w": 8, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6444.97, "source": "autotuned"}, +{"m": 32, "n": 10, "k": 32, "tile_m": 2, "tile_n": 5, "w": 12, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7168.09, "source": "autotuned"}, +{"m": 32, "n": 11, "k": 11, "tile_m": 2, "tile_n": 6, "threads": 32, "grouping": 4, "minblocks": 15, "algorithm": "medium", "perf": 5452.67, "source": "autotuned"}, +{"m": 32, "n": 11, "k": 12, "tile_m": 2, "tile_n": 6, "threads": 32, "grouping": 4, "minblocks": 14, "algorithm": "medium", "perf": 5679.19, "source": "autotuned"}, +{"m": 32, "n": 11, "k": 20, "tile_m": 2, "tile_n": 6, "w": 8, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 6691.99, "source": "autotuned"}, +{"m": 32, "n": 11, "k": 32, "tile_m": 2, "tile_n": 6, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7543.53, "source": "autotuned"}, +{"m": 32, "n": 12, "k": 11, "tile_m": 2, "tile_n": 4, "w": 4, "v": 12, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6033.3, "source": "autotuned"}, +{"m": 32, "n": 12, "k": 20, "tile_m": 2, "tile_n": 6, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7304.98, "source": "autotuned"}, +{"m": 32, "n": 12, "k": 26, "tile_m": 2, "tile_n": 6, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7764.02, "source": "autotuned"}, +{"m": 32, "n": 12, "k": 32, "tile_m": 2, "tile_n": 6, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8220.13, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 4, "tile_m": 1, "tile_n": 7, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 3649.12, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 192, "grouping": 24, "minblocks": 6, "algorithm": "medium", "perf": 4030.97, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 6, "tile_m": 1, "tile_n": 7, "threads": 96, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 4322.68, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 7, "tile_m": 1, "tile_n": 7, "threads": 96, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 4621.83, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 8, "tile_m": 2, "tile_n": 7, "threads": 32, "grouping": 4, "minblocks": 14, "algorithm": "medium", "perf": 5044.0, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 9, "tile_m": 2, "tile_n": 4, "w": 4, "v": 12, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5623.38, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 10, "tile_m": 2, "tile_n": 4, "w": 4, "v": 12, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5766.24, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 13, "tile_m": 2, "tile_n": 7, "threads": 32, "grouping": 4, "minblocks": 13, "algorithm": "medium", "perf": 6114.95, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 16, "tile_m": 2, "tile_n": 4, "w": 6, "v": 10, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6285.16, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 22, "tile_m": 2, "tile_n": 7, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7559.75, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 28, "tile_m": 2, "tile_n": 7, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8030.08, "source": "autotuned"}, +{"m": 32, "n": 13, "k": 32, "tile_m": 2, "tile_n": 7, "w": 12, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8255.52, "source": "autotuned"}, +{"m": 32, "n": 14, "k": 13, "tile_m": 2, "tile_n": 4, "w": 6, "v": 12, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6456.39, "source": "autotuned"}, +{"m": 32, "n": 16, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 192, "grouping": 32, "minblocks": 5, "algorithm": "medium", "perf": 4934.1, "source": "autotuned"}, +{"m": 32, "n": 16, "k": 12, "tile_m": 2, "tile_n": 4, "w": 4, "v": 16, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7422.61, "source": "autotuned"}, +{"m": 32, "n": 16, "k": 13, "tile_m": 2, "tile_n": 4, "w": 6, "v": 16, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7324.62, "source": "autotuned"}, +{"m": 32, "n": 20, "k": 11, "tile_m": 6, "tile_n": 4, "w": 4, "v": 20, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7764.28, "source": "autotuned"}, +{"m": 32, "n": 20, "k": 20, "tile_m": 6, "tile_n": 4, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9163.17, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 4, "tile_m": 2, "tile_n": 6, "threads": 160, "grouping": 32, "minblocks": 5, "algorithm": "medium", "perf": 5391.16, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 5, "tile_m": 2, "tile_n": 6, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5888.13, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 6, "tile_m": 2, "tile_n": 4, "threads": 224, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6117.74, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6161.92, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 8, "tile_m": 2, "tile_n": 4, "threads": 288, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6505.5, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 9, "tile_m": 9, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7341.29, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 10, "tile_m": 9, "tile_n": 3, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7580.41, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 13, "tile_m": 2, "tile_n": 6, "w": 6, "v": 12, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8317.56, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 22, "tile_m": 2, "tile_n": 6, "w": 10, "v": 14, "threads": 96, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 9267.9, "source": "autotuned"}, +{"m": 32, "n": 22, "k": 32, "tile_m": 2, "tile_n": 11, "w": 12, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10616.4, "source": "autotuned"}, +{"m": 32, "n": 24, "k": 5, "tile_m": 2, "tile_n": 6, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6394.89, "source": "autotuned"}, +{"m": 32, "n": 24, "k": 13, "tile_m": 2, "tile_n": 6, "w": 6, "v": 16, "threads": 64, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8933.02, "source": "autotuned"}, +{"m": 32, "n": 24, "k": 24, "tile_m": 2, "tile_n": 6, "w": 8, "v": 12, "threads": 96, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10199.8, "source": "autotuned"}, +{"m": 32, "n": 24, "k": 26, "tile_m": 2, "tile_n": 6, "w": 12, "v": 24, "threads": 96, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10483.3, "source": "autotuned"}, +{"m": 32, "n": 24, "k": 32, "tile_m": 2, "tile_n": 6, "w": 12, "v": 22, "threads": 96, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10766.6, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 5, "tile_m": 2, "tile_n": 7, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4877.59, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 7, "tile_m": 2, "tile_n": 5, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6375.28, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 11, "tile_m": 9, "tile_n": 4, "w": 4, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 7739.82, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 13, "tile_m": 6, "tile_n": 5, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8416.87, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 26, "tile_m": 6, "tile_n": 5, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10411.9, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 32, "tile_m": 6, "tile_n": 5, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8724.05, "source": "autotuned"}, +{"m": 32, "n": 25, "k": 45, "tile_m": 6, "tile_n": 5, "w": 20, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11020.5, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 5, "tile_m": 2, "tile_n": 7, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6282.79, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 7, "tile_m": 2, "tile_n": 7, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6590.29, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 9, "tile_m": 9, "tile_n": 4, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 7614.71, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 12, "tile_m": 9, "tile_n": 4, "w": 4, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8175.0, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 24, "tile_m": 4, "tile_n": 7, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9952.29, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 28, "tile_m": 6, "tile_n": 6, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10167.2, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 32, "tile_m": 4, "tile_n": 7, "w": 12, "v": 26, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10457.7, "source": "autotuned"}, +{"m": 32, "n": 26, "k": 45, "tile_m": 4, "tile_n": 7, "w": 16, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10720.9, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 4, "tile_m": 2, "tile_n": 7, "threads": 160, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5978.52, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 13, "tile_m": 6, "tile_n": 6, "w": 6, "v": 28, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9058.03, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 25, "tile_m": 6, "tile_n": 6, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8707.38, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 26, "tile_m": 6, "tile_n": 6, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10788.6, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 28, "tile_m": 6, "tile_n": 6, "w": 10, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 10947.7, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 32, "tile_m": 4, "tile_n": 7, "w": 12, "v": 24, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11232.8, "source": "autotuned"}, +{"m": 32, "n": 28, "k": 45, "tile_m": 4, "tile_n": 7, "w": 12, "v": 18, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11365.6, "source": "autotuned"}, +{"m": 32, "n": 29, "k": 29, "tile_m": 6, "tile_n": 6, "w": 12, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11124.1, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 4, "tile_m": 2, "tile_n": 8, "threads": 160, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6791.07, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 5, "tile_m": 2, "tile_n": 8, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 7473.15, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 6, "tile_m": 2, "tile_n": 8, "threads": 224, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 7756.74, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 7687.89, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 8, "tile_m": 2, "tile_n": 8, "threads": 64, "grouping": 24, "minblocks": 3, "algorithm": "medium", "perf": 8227.47, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 9, "tile_m": 9, "tile_n": 4, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9139.67, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 10, "tile_m": 9, "tile_n": 4, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9449.45, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 11, "tile_m": 9, "tile_n": 4, "w": 4, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9627.62, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 13, "tile_m": 9, "tile_n": 4, "w": 6, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9925.09, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 16, "tile_m": 9, "tile_n": 4, "w": 6, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 10780.0, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 22, "tile_m": 9, "tile_n": 4, "w": 8, "v": 28, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11560.4, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 24, "tile_m": 9, "tile_n": 4, "w": 8, "v": 30, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11868.5, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 25, "tile_m": 4, "tile_n": 8, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11819.1, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 26, "tile_m": 9, "tile_n": 4, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11893.0, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 29, "tile_m": 2, "tile_n": 8, "w": 12, "v": 22, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 12000.5, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 32, "tile_m": 9, "tile_n": 4, "w": 8, "v": 28, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 12344.3, "source": "autotuned"}, +{"m": 32, "n": 32, "k": 45, "tile_m": 9, "tile_n": 4, "w": 8, "v": 28, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 12612.5, "source": "autotuned"}, +{"m": 32, "n": 45, "k": 5, "tile_m": 2, "tile_n": 6, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 7694.71, "source": "autotuned"}, +{"m": 32, "n": 45, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 320, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 7889.79, "source": "autotuned"}, +{"m": 32, "n": 45, "k": 9, "tile_m": 2, "tile_n": 6, "threads": 416, "grouping": 32, "minblocks": 2, "algorithm": "medium", "perf": 7753.62, "source": "autotuned"}, +{"m": 32, "n": 45, "k": 28, "tile_m": 8, "tile_n": 6, "w": 8, "v": 30, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11337.9, "source": "autotuned"}, +{"m": 33, "n": 33, "k": 33, "tile_m": 6, "tile_n": 7, "w": 12, "v": 30, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11240.8, "source": "autotuned"}, +{"m": 34, "n": 34, "k": 34, "tile_m": 7, "tile_n": 6, "w": 6, "v": 32, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11881.6, "source": "autotuned"}, +{"m": 35, "n": 35, "k": 35, "tile_m": 6, "tile_n": 7, "w": 10, "v": 32, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 12585.9, "source": "autotuned"}, +{"m": 36, "n": 36, "k": 36, "tile_m": 5, "tile_n": 9, "w": 16, "v": 36, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 12432.2, "source": "autotuned"}, +{"m": 37, "n": 37, "k": 37, "tile_m": 5, "tile_n": 5, "w": 14, "v": 36, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11854.2, "source": "autotuned"}, +{"m": 38, "n": 38, "k": 38, "tile_m": 5, "tile_n": 5, "w": 10, "v": 38, "threads": 64, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 12609.5, "source": "autotuned"}, +{"m": 39, "n": 39, "k": 39, "tile_m": 5, "tile_n": 5, "w": 14, "v": 38, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 13197.9, "source": "autotuned"}, +{"m": 40, "n": 40, "k": 40, "tile_m": 5, "tile_n": 5, "w": 14, "v": 40, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 13958.9, "source": "autotuned"}, +{"m": 41, "n": 41, "k": 41, "tile_m": 5, "tile_n": 6, "w": 18, "v": 32, "threads": 64, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 12029.1, "source": "autotuned"}, +{"m": 42, "n": 42, "k": 42, "tile_m": 5, "tile_n": 6, "w": 18, "v": 42, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 12690.3, "source": "autotuned"}, +{"m": 43, "n": 43, "k": 43, "tile_m": 6, "tile_n": 6, "w": 16, "v": 40, "threads": 64, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 12663.6, "source": "autotuned"}, +{"m": 44, "n": 44, "k": 44, "tile_m": 6, "tile_n": 6, "w": 16, "v": 44, "threads": 64, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 13548.4, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2163.22, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 5, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2324.46, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 6, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2675.31, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 7, "tile_m": 2, "tile_n": 4, "threads": 32, "grouping": 4, "minblocks": 2, "algorithm": "medium", "perf": 2707.94, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 8, "tile_m": 1, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 2807.21, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 9, "tile_m": 2, "tile_n": 4, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3022.53, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 10, "tile_m": 2, "tile_n": 4, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3065.66, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 13, "tile_m": 2, "tile_n": 4, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3120.98, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 15, "tile_m": 2, "tile_n": 4, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 2670.8, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 16, "tile_m": 2, "tile_n": 4, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 3107.77, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 22, "tile_m": 3, "tile_n": 4, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 3391.47, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 25, "tile_m": 2, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3486.76, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 26, "tile_m": 3, "tile_n": 4, "w": 12, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3551.05, "source": "autotuned"}, +{"m": 45, "n": 4, "k": 45, "tile_m": 2, "tile_n": 4, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3518.76, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 4, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2289.45, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 5, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2682.89, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 6, "tile_m": 2, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 26, "algorithm": "medium", "perf": 2995.02, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 7, "tile_m": 1, "tile_n": 5, "threads": 64, "grouping": 5, "minblocks": 17, "algorithm": "medium", "perf": 2880.24, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 8, "tile_m": 3, "tile_n": 3, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 3010.14, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 9, "tile_m": 3, "tile_n": 3, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3246.21, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 10, "tile_m": 3, "tile_n": 3, "w": 4, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 3342.3, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 13, "tile_m": 2, "tile_n": 5, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 3625.67, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 15, "tile_m": 2, "tile_n": 5, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3662.99, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 16, "tile_m": 2, "tile_n": 5, "w": 6, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3643.63, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 22, "tile_m": 2, "tile_n": 5, "w": 8, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4049.79, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 25, "tile_m": 2, "tile_n": 5, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 3530.7, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 26, "tile_m": 2, "tile_n": 5, "w": 10, "v": 4, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 4217.03, "source": "autotuned"}, +{"m": 45, "n": 5, "k": 45, "tile_m": 2, "tile_n": 5, "w": 16, "v": 4, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4488.11, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 27, "algorithm": "medium", "perf": 2711.94, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 3078.47, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 6, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 3165.93, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 7, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 3358.06, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 8, "tile_m": 1, "tile_n": 6, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 3586.78, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 9, "tile_m": 3, "tile_n": 3, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 4052.62, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 10, "tile_m": 3, "tile_n": 3, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4128.15, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 13, "tile_m": 2, "tile_n": 6, "w": 6, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4145.33, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 26, "tile_m": 2, "tile_n": 6, "w": 12, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4910.62, "source": "autotuned"}, +{"m": 45, "n": 6, "k": 45, "tile_m": 3, "tile_n": 3, "w": 16, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5268.23, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 32, "grouping": 5, "minblocks": 25, "algorithm": "medium", "perf": 2724.19, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 3084.88, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 6, "tile_m": 6, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 3426.02, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 7, "tile_m": 6, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 3668.81, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 8, "tile_m": 3, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 3838.28, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 9, "tile_m": 6, "tile_n": 2, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4293.54, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 10, "tile_m": 6, "tile_n": 2, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4354.19, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 13, "tile_m": 6, "tile_n": 2, "w": 6, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4436.4, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 26, "tile_m": 2, "tile_n": 7, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5442.36, "source": "autotuned"}, +{"m": 45, "n": 7, "k": 45, "tile_m": 2, "tile_n": 7, "w": 16, "v": 6, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 5856.04, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 4, "tile_m": 1, "tile_n": 8, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 3086.13, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 5, "tile_m": 6, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 16, "algorithm": "medium", "perf": 3567.83, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 6, "tile_m": 6, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 3893.11, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 7, "tile_m": 6, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 4233.06, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 8, "tile_m": 2, "tile_n": 8, "threads": 32, "grouping": 4, "minblocks": 14, "algorithm": "medium", "perf": 4176.73, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 9, "tile_m": 3, "tile_n": 4, "w": 4, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 4806.25, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 10, "tile_m": 6, "tile_n": 2, "w": 4, "v": 8, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 4857.63, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 13, "tile_m": 6, "tile_n": 2, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5090.39, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 26, "tile_m": 2, "tile_n": 8, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6066.69, "source": "autotuned"}, +{"m": 45, "n": 8, "k": 45, "tile_m": 2, "tile_n": 8, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6577.62, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 4, "tile_m": 3, "tile_n": 3, "threads": 64, "grouping": 5, "minblocks": 17, "algorithm": "medium", "perf": 3163.29, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 5, "tile_m": 3, "tile_n": 3, "threads": 64, "grouping": 5, "minblocks": 16, "algorithm": "medium", "perf": 3583.08, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 6, "tile_m": 3, "tile_n": 3, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 3967.94, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 7, "tile_m": 3, "tile_n": 3, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 4227.93, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 8, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 4, "minblocks": 14, "algorithm": "medium", "perf": 4309.86, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 9, "tile_m": 6, "tile_n": 3, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5142.65, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 10, "tile_m": 6, "tile_n": 3, "w": 4, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5176.23, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 13, "tile_m": 6, "tile_n": 3, "w": 6, "v": 6, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5403.54, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 15, "tile_m": 6, "tile_n": 3, "w": 6, "v": 6, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 5640.69, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 16, "tile_m": 6, "tile_n": 3, "w": 6, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 5722.8, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 22, "tile_m": 6, "tile_n": 3, "w": 8, "v": 8, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 6286.94, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 25, "tile_m": 6, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6434.67, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 26, "tile_m": 6, "tile_n": 3, "w": 10, "v": 6, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6476.71, "source": "autotuned"}, +{"m": 45, "n": 9, "k": 45, "tile_m": 6, "tile_n": 3, "w": 16, "v": 8, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7047.95, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 4, "tile_m": 1, "tile_n": 10, "threads": 64, "grouping": 5, "minblocks": 14, "algorithm": "medium", "perf": 2938.89, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 3809.59, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 6, "tile_m": 3, "tile_n": 4, "threads": 64, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 4062.95, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 7, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 5, "minblocks": 15, "algorithm": "medium", "perf": 4277.35, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 8, "tile_m": 3, "tile_n": 5, "threads": 32, "grouping": 4, "minblocks": 16, "algorithm": "medium", "perf": 4638.63, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 9, "tile_m": 6, "tile_n": 3, "w": 4, "v": 10, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 4523.18, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 10, "tile_m": 6, "tile_n": 3, "w": 4, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 5719.7, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 13, "tile_m": 6, "tile_n": 3, "w": 6, "v": 10, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5902.99, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 26, "tile_m": 6, "tile_n": 3, "w": 10, "v": 10, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 6977.54, "source": "autotuned"}, +{"m": 45, "n": 10, "k": 45, "tile_m": 3, "tile_n": 5, "w": 16, "v": 10, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7624.72, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 4, "tile_m": 6, "tile_n": 2, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 3967.34, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 5, "tile_m": 5, "tile_n": 2, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4053.92, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 6, "tile_m": 5, "tile_n": 2, "threads": 96, "grouping": 5, "minblocks": 10, "algorithm": "medium", "perf": 4383.39, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 64, "grouping": 5, "minblocks": 13, "algorithm": "medium", "perf": 4623.34, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 8, "tile_m": 5, "tile_n": 2, "threads": 128, "grouping": 26, "minblocks": 5, "algorithm": "medium", "perf": 4624.43, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6218.0, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 10, "tile_m": 6, "tile_n": 4, "w": 4, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 6597.33, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 5691.3, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 15, "tile_m": 6, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7264.34, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 16, "tile_m": 6, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7450.6, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 22, "tile_m": 6, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8039.56, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 25, "tile_m": 6, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8102.03, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 26, "tile_m": 6, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8291.42, "source": "autotuned"}, +{"m": 45, "n": 13, "k": 45, "tile_m": 6, "tile_n": 4, "w": 18, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8966.03, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 4, "tile_m": 6, "tile_n": 2, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4471.6, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4658.77, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7077.13, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 7800.13, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 15, "tile_m": 6, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8236.51, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 16, "tile_m": 6, "tile_n": 4, "w": 6, "v": 12, "threads": 32, "grouping": 16, "minblocks": 12, "algorithm": "largeDB2", "perf": 8517.77, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 22, "tile_m": 6, "tile_n": 4, "w": 8, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9148.82, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 25, "tile_m": 6, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9252.84, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 26, "tile_m": 6, "tile_n": 4, "w": 10, "v": 12, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9367.92, "source": "autotuned"}, +{"m": 45, "n": 15, "k": 45, "tile_m": 6, "tile_n": 4, "w": 12, "v": 14, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 10072.2, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 4, "tile_m": 6, "tile_n": 2, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4868.44, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 5, "tile_m": 6, "tile_n": 2, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4851.09, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 7809.67, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 13, "tile_m": 6, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 8352.3, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 15, "tile_m": 6, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8843.14, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 16, "tile_m": 6, "tile_n": 4, "w": 6, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9107.17, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 22, "tile_m": 6, "tile_n": 4, "w": 8, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9813.14, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 25, "tile_m": 6, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10064.6, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 26, "tile_m": 6, "tile_n": 4, "w": 10, "v": 16, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10201.1, "source": "autotuned"}, +{"m": 45, "n": 16, "k": 45, "tile_m": 6, "tile_n": 4, "w": 18, "v": 16, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 10730.6, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 4, "tile_m": 6, "tile_n": 2, "threads": 224, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5272.28, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 5, "tile_m": 6, "tile_n": 2, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5646.01, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 9, "tile_m": 9, "tile_n": 4, "w": 4, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8181.87, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 13, "tile_m": 6, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 9433.82, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 15, "tile_m": 6, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 10043.7, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 16, "tile_m": 6, "tile_n": 6, "w": 6, "v": 22, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10340.4, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 22, "tile_m": 6, "tile_n": 6, "w": 8, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11010.9, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 25, "tile_m": 6, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 11407.3, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 26, "tile_m": 6, "tile_n": 6, "w": 10, "v": 22, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11522.1, "source": "autotuned"}, +{"m": 45, "n": 22, "k": 45, "tile_m": 6, "tile_n": 6, "w": 12, "v": 20, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11959.2, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5440.86, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 5, "tile_m": 3, "tile_n": 5, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5849.02, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 18, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 7960.31, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 13, "tile_m": 9, "tile_n": 5, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 8639.51, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 15, "tile_m": 9, "tile_n": 5, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9210.77, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 16, "tile_m": 9, "tile_n": 5, "w": 6, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9387.71, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 22, "tile_m": 6, "tile_n": 7, "w": 8, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11155.5, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 25, "tile_m": 6, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11455.1, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 26, "tile_m": 6, "tile_n": 7, "w": 10, "v": 24, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11593.9, "source": "autotuned"}, +{"m": 45, "n": 25, "k": 45, "tile_m": 6, "tile_n": 7, "w": 12, "v": 24, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 12002.1, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 4, "tile_m": 3, "tile_n": 4, "threads": 192, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 4609.25, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 5, "tile_m": 3, "tile_n": 4, "threads": 256, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5899.02, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 6, "tile_m": 3, "tile_n": 4, "threads": 288, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 6102.72, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 7, "tile_m": 5, "tile_n": 2, "threads": 320, "grouping": 32, "minblocks": 4, "algorithm": "medium", "perf": 5977.06, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 8, "tile_m": 3, "tile_n": 4, "threads": 224, "grouping": 26, "minblocks": 5, "algorithm": "medium", "perf": 6102.28, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 14, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 6916.15, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 10, "tile_m": 6, "tile_n": 4, "w": 4, "v": 18, "threads": 64, "grouping": 16, "minblocks": 8, "algorithm": "largeDB2", "perf": 8526.22, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 13, "tile_m": 9, "tile_n": 5, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9031.31, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 15, "tile_m": 9, "tile_n": 5, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 9567.02, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 16, "tile_m": 9, "tile_n": 5, "w": 6, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9845.35, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 22, "tile_m": 6, "tile_n": 7, "w": 8, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 11329.4, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 25, "tile_m": 6, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11577.1, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 26, "tile_m": 6, "tile_n": 7, "w": 10, "v": 26, "threads": 32, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11718.7, "source": "autotuned"}, +{"m": 45, "n": 26, "k": 45, "tile_m": 6, "tile_n": 7, "w": 12, "v": 26, "threads": 32, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 12313.9, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 4, "tile_m": 6, "tile_n": 2, "threads": 192, "grouping": 26, "minblocks": 3, "algorithm": "medium", "perf": 6185.14, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 5, "tile_m": 3, "tile_n": 5, "threads": 256, "grouping": 26, "minblocks": 3, "algorithm": "medium", "perf": 6488.25, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 6, "tile_m": 5, "tile_n": 3, "threads": 288, "grouping": 26, "minblocks": 3, "algorithm": "medium", "perf": 7023.96, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 7, "tile_m": 6, "tile_n": 2, "threads": 320, "grouping": 26, "minblocks": 3, "algorithm": "medium", "perf": 5733.7, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 8, "tile_m": 3, "tile_n": 4, "threads": 448, "grouping": 32, "minblocks": 2, "algorithm": "medium", "perf": 7150.34, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 9, "tile_m": 6, "tile_n": 4, "w": 4, "v": 30, "threads": 128, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 8728.39, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 10, "tile_m": 6, "tile_n": 4, "w": 4, "v": 32, "threads": 128, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 9231.2, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 13, "tile_m": 6, "tile_n": 6, "w": 6, "v": 44, "threads": 96, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 10363.3, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 15, "tile_m": 6, "tile_n": 6, "w": 6, "v": 42, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11327.6, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 16, "tile_m": 6, "tile_n": 6, "w": 6, "v": 44, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 11641.6, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 22, "tile_m": 6, "tile_n": 6, "w": 8, "v": 44, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 12543.8, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 25, "tile_m": 6, "tile_n": 6, "w": 10, "v": 42, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 12937.3, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 26, "tile_m": 6, "tile_n": 6, "w": 10, "v": 44, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 12998.7, "source": "autotuned"}, +{"m": 45, "n": 45, "k": 45, "tile_m": 6, "tile_n": 6, "w": 16, "v": 36, "threads": 64, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 13819.5, "source": "autotuned"}, +{"m": 55, "n": 55, "k": 32, "tile_m": 7, "tile_n": 7, "w": 12, "v": 54, "threads": 64, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 14584.3, "source": "autotuned"}, +{"m": 64, "n": 64, "k": 64, "tile_m": 4, "tile_n": 8, "w": 12, "v": 46, "threads": 128, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 15694.3, "source": "autotuned"}, +{"m": 72, "n": 72, "k": 72, "tile_m": 9, "tile_n": 5, "w": 8, "v": 72, "threads": 128, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 15446.4, "source": "autotuned"}, +{"m": 76, "n": 30, "k": 30, "tile_m": 5, "tile_n": 8, "w": 10, "v": 26, "threads": 64, "grouping": 16, "minblocks": 4, "algorithm": "largeDB2", "perf": 11490.4, "source": "autotuned"}, +{"m": 76, "n": 30, "k": 76, "tile_m": 5, "tile_n": 8, "w": 20, "v": 28, "threads": 64, "grouping": 16, "minblocks": 2, "algorithm": "largeDB2", "perf": 15036.8, "source": "autotuned"}, +{"m": 76, "n": 76, "k": 30, "tile_m": 7, "tile_n": 7, "w": 8, "v": 72, "threads": 128, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 15328.0, "source": "autotuned"}, +{"m": 76, "n": 76, "k": 76, "tile_m": 5, "tile_n": 5, "w": 10, "v": 36, "threads": 256, "grouping": 16, "minblocks": 1, "algorithm": "largeDB2", "perf": 15792.4, "source": "autotuned"} +] From 9c61d4459f1686cb1b36e880ca614636692ba8bc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:05:13 +0000 Subject: [PATCH 71/74] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f6b68d1f29..6b3f9f569d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,7 +99,14 @@ set(USE_ACCEL CACHE STRING "Build with acceleration support (default: none)") set_property(CACHE USE_ACCEL PROPERTY STRINGS "" opencl cuda hip) -set(SUPPORTED_CUDA_ARCHITECTURES K20X K40 K80 P100 V100 A100 H100) +set(SUPPORTED_CUDA_ARCHITECTURES + K20X + K40 + K80 + P100 + V100 + A100 + H100) set(SUPPORTED_HIP_ARCHITECTURES Mi50 Mi100 Mi250) set(WITH_GPU $,"","P100"> From 6b2109e2d103fdf5b26c6a14eabd1bbd1226b85c Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Mon, 29 Jul 2024 12:00:32 +0200 Subject: [PATCH 72/74] Add H100 kernel parameters for the generation --- src/acc/cuda/Makefile | 2 -- src/acc/libsmm_acc/kernels/smm_acc.py | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/acc/cuda/Makefile b/src/acc/cuda/Makefile index 4a4b4ab32ac..2aedadeb979 100644 --- a/src/acc/cuda/Makefile +++ b/src/acc/cuda/Makefile @@ -83,8 +83,6 @@ else ifeq ($(WITH_GPU),V100) else ifeq ($(WITH_GPU),A100) ARCH_NUMBER = 80 else ifeq ($(WITH_GPU),H100) - # TODO: update for H100 tuned parameters - override WITH_GPU := A100 ARCH_NUMBER = 90 else ifeq (,$(ARCH_NUMBER)) $(error Unknown ARCH_NUMBER since WITH_GPU="$(WITH_GPU)" is not recognized) diff --git a/src/acc/libsmm_acc/kernels/smm_acc.py b/src/acc/libsmm_acc/kernels/smm_acc.py index 4d71c7831e9..a00d8717757 100644 --- a/src/acc/libsmm_acc/kernels/smm_acc.py +++ b/src/acc/libsmm_acc/kernels/smm_acc.py @@ -59,6 +59,7 @@ "parameters_P100.json": "sm_60", "parameters_V100.json": "sm_70", "parameters_A100.json": "sm_80", + "parameters_H100.json": "sm_90", "parameters_Vega10.json": "gfx900", "parameters_Mi50.json": "gfx906", "parameters_Mi100.json": "gfx908", From 33f06961ac97f1b557a5aeca33ff0046a4c0881d Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Mon, 29 Jul 2024 12:03:11 +0200 Subject: [PATCH 73/74] Use H100 for the CUDA CI --- .github/workflows/testing-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/testing-linux.yml b/.github/workflows/testing-linux.yml index 477eccf07ed..d9ef4fa8fac 100644 --- a/.github/workflows/testing-linux.yml +++ b/.github/workflows/testing-linux.yml @@ -114,7 +114,7 @@ jobs: -DCMAKE_BUILD_TYPE=Debug \ -DUSE_${{ matrix.use_openmp }} \ -DUSE_ACCEL=cuda \ - -DWITH_GPU=V100 \ + -DWITH_GPU=H100 \ -DWITH_EXAMPLES=ON \ -DWITH_CUDA_PROFILING=ON \ .. From 6e44faf6e27b44eb8593f02fc690c9a1fb1ca87c Mon Sep 17 00:00:00 2001 From: Alfio Lazzaro Date: Mon, 29 Jul 2024 16:23:41 +0200 Subject: [PATCH 74/74] Bump version to 2.7.0 --- VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index d79801d41d9..41222dc7221 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ MAJOR = 2 MINOR = 7 -PATCH = 0-rc2 +PATCH = 0 # A specific DATE (YYYY-MM-DD) fixes an official release, otherwise # it is considered Development version. -DATE = 2024-06-27 +DATE = 2024-07-29