summaryrefslogtreecommitdiff
path: root/external/clBLAS/src/tests/cmdline.c
diff options
context:
space:
mode:
Diffstat (limited to 'external/clBLAS/src/tests/cmdline.c')
-rw-r--r--external/clBLAS/src/tests/cmdline.c248
1 files changed, 0 insertions, 248 deletions
diff --git a/external/clBLAS/src/tests/cmdline.c b/external/clBLAS/src/tests/cmdline.c
deleted file mode 100644
index 259a9f2a..00000000
--- a/external/clBLAS/src/tests/cmdline.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/* ************************************************************************
- * Copyright 2013 Advanced Micro Devices, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ************************************************************************/
-
-
-#include <string.h> /* strcmp */
-#include <stdlib.h> /* atoi, strtol */
-#include <stdio.h> /* printf */
-
-#include <cmdline.h>
-
-static const char *testUsage =
- "<M N K> [--seed s] [--alpha a] [--beta b] "
- "[--alpha-real a] [--beta-real b] [--alpha-imag a] [--beta-imag b] "
- "[--use-images f] [--device dev] [--queues n]\n"
- "\n"
- "seed - seed for the random number generator"
- "\n"
- "alpha - alpha multiplier"
- "\n"
- "beta - beta multiplier"
- "\n"
- "alpha-real - alpha multiplier real part"
- "\n"
- "beta-real - beta multiplier real part"
- "\n"
- "alpha-imag - alpha-multiplier imaginary part"
- "\n"
- "beta-imag - beta-multiplier imaginary part"
- "\n"
- "use-images - allow the library to use images for computing"
- "\n"
- "device - device to run the test on, 'cpu' or 'gpu'(default)"
- "\n"
- "queues - number of command queues to use"
- "\n"
- "Parameters defined through the command line are kept over the whole "
- "set of custom test cases. The use-images parameter value is ignored if "
- "the target device is CPU\n\n";
-
-typedef struct SetterArg {
- TestParams *params;
- const char *arg;
- long extra;
-} SetterArg;
-
-typedef struct CmdLineOpt {
- const char *name;
- unsigned int flagToSet;
- int (*setter)(SetterArg*);
- long setterExtra;
-} CmdLineOpt;
-
-enum {
- MULT_ALPHA = 0x01,
- MULT_BETA = 0x02,
- MULT_REAL_ONLY = 0x04,
- MULT_IMAG_ONLY = 0x08
-};
-
-static int
-doParseCmdLine(
- int argc,
- char *argv[],
- const CmdLineOpt *opts,
- unsigned int nrOpts,
- TestParams *params)
-{
- int i = 1, j = 0;
- int ret = 0;
- const CmdLineOpt *currOpt;
- const char *currArg;
- SetterArg sarg = {params, NULL, 0};
-
- do {
- currArg = (const char*)argv[i];
- i++;
-
- if (currArg[0] != '-') {
- // some of size arguments
- switch (j) {
- case 0:
- params->M = atoi(currArg);
- params->optFlags |= SET_M;
- break;
- case 1:
- params->N = atoi(currArg);
- params->optFlags |= SET_N;
- break;
- case 2:
- params->K = atoi(currArg);
- params->optFlags |= SET_K;
- break;
- }
- j++;
- continue;
- }
- else if (currArg[1] != '-') {
- // it can be some parameter of a used test framework, skip it
- j = 0;
- continue;
- }
-
- j = 0;
-
- for (currOpt = opts; currOpt < opts + nrOpts; currOpt++) {
- if (!strcmp(currOpt->name, &currArg[2])) {
- if (i == argc) {
- printf("Error: parameter '%s' is not specified!\n",
- currOpt->name);
- ret = -1;
- }
- else {
- sarg.arg = argv[i++];
- sarg.extra = currOpt->setterExtra;
- ret = currOpt->setter(&sarg);
- params->optFlags |= currOpt->flagToSet;
- }
- break;
- }
- }
- } while ((i < argc) && !ret);
-
- return ret;
-}
-
-static int
-setSeed(SetterArg *sarg)
-{
- sarg->params->seed = atoi(sarg->arg);
-
- return 0;
-}
-
-static int
-setMult(SetterArg *sarg)
-{
- ComplexLong *mult;
- long val;
- char *end;
- long flags = sarg->extra;
-
- mult = (flags & MULT_BETA) ? &sarg->params->beta :
- &sarg->params->alpha;
- mult->re = 0;
- mult->imag = 0;
-
- val = strtol(sarg->arg, &end, 10);
- if (!(flags & MULT_IMAG_ONLY)) {
- mult->re = val;
- }
- if (!(flags & MULT_REAL_ONLY)) {
- mult->imag = val;
- }
-
- return 0;
-}
-
-static int
-setDevice(SetterArg *sarg)
-{
- if (!strcmp(sarg->arg, "cpu")) {
- sarg->params->devType = CL_DEVICE_TYPE_CPU;
- sarg->params->devName = NULL;
- return 0;
- }
- if (!strcmp(sarg->arg, "gpu")) {
- sarg->params->devType = CL_DEVICE_TYPE_GPU;
- sarg->params->devName = NULL;
- return 0;
- }
- sarg->params->devName = sarg->arg;
-
- return 0;
-}
-
-static int
-setNumCommandQueues(SetterArg *sarg)
-{
- sarg->params->numCommandQueues = atoi(sarg->arg);
-
- return 0;
-}
-
-static const CmdLineOpt opts[] = {
- {"seed", SET_SEED, setSeed, 0},
- {"alpha", SET_ALPHA, setMult, MULT_ALPHA | MULT_REAL_ONLY},
- {"beta", SET_BETA, setMult, MULT_BETA | MULT_REAL_ONLY},
- {"alpha-real", SET_ALPHA, setMult, MULT_ALPHA | MULT_REAL_ONLY},
- {"alpha-imag", SET_ALPHA, setMult, MULT_ALPHA | MULT_IMAG_ONLY},
- {"beta-real", SET_BETA, setMult, MULT_BETA | MULT_REAL_ONLY},
- {"beta-imag", SET_BETA, setMult, MULT_BETA | MULT_IMAG_ONLY},
- {"device", SET_DEVICE_TYPE, setDevice, 0},
- {"queues", SET_NUM_COMMAND_QUEUES, setNumCommandQueues, 0},
-};
-static const unsigned int nrOpts = sizeof(opts) / sizeof(CmdLineOpt);
-
-int
-parseBlasCmdLineArgs(
- int argc,
- char *argv[],
- TestParams *params)
-{
- return doParseCmdLine(argc, argv, opts, nrOpts, params);
-}
-
-void
-printUsage(const char *appName)
-{
- printf("%s %s\n", appName, testUsage);
-}
-
-void
-parseEnv(TestParams *params)
-{
- const char *str;
- int createImages = 0;
-
- str = getenv("AMD_CLBLAS_GEMM_IMPLEMENTATION");
- if ((str != NULL) && (strcmp(str, "1") == 0)) {
- createImages = 1;
- }
- str = getenv("AMD_CLBLAS_TRMM_IMPLEMENTATION");
- if ((str != NULL) && (strcmp(str, "1") == 0)) {
- createImages = 1;
- }
- str = getenv("AMD_CLBLAS_TRSM_IMPLEMENTATION");
- if ((str != NULL) && (strcmp(str, "1") == 0)) {
- createImages = 1;
- }
-
- params->optFlags = NO_FLAGS;
- if (createImages) {
- params->optFlags |= SET_USE_IMAGES;
- }
-}