|
@@ -49,7 +49,7 @@ static void usage(char **argv)
|
|
fprintf(stderr, " -l display all available models\n");
|
|
fprintf(stderr, " -l display all available models\n");
|
|
fprintf(stderr, " -s <symbol> specify the symbol\n");
|
|
fprintf(stderr, " -s <symbol> specify the symbol\n");
|
|
fprintf(stderr, " -p <parameter> specify the parameter (e.g. a, b, c, mean, stddev)\n");
|
|
fprintf(stderr, " -p <parameter> specify the parameter (e.g. a, b, c, mean, stddev)\n");
|
|
- fprintf(stderr, " -a <arch> specify the architecture (e.g. cpu, cuda, gordon)\n");
|
|
|
|
|
|
+ fprintf(stderr, " -a <arch> specify the architecture (e.g. cpu, cpu:k, cuda, gordon)\n");
|
|
fprintf(stderr, " -f <footprint> display the history-based model for the specified footprint\n");
|
|
fprintf(stderr, " -f <footprint> display the history-based model for the specified footprint\n");
|
|
fprintf(stderr, "\n");
|
|
fprintf(stderr, "\n");
|
|
|
|
|
|
@@ -232,12 +232,25 @@ static void display_all_perf_models(struct starpu_perfmodel_t *model)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
-#warning TODO add the cpu:k interface as in the branch
|
|
|
|
if (strcmp(arch, "cpu") == 0) {
|
|
if (strcmp(arch, "cpu") == 0) {
|
|
display_perf_model(model, STARPU_CPU_DEFAULT);
|
|
display_perf_model(model, STARPU_CPU_DEFAULT);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ int k;
|
|
|
|
+ if (sscanf(arch, "cpu:%d", &k) == 1)
|
|
|
|
+ {
|
|
|
|
+ /* For combined CPU workers */
|
|
|
|
+ if ((k < 1) || (k > STARPU_NMAXCPUS))
|
|
|
|
+ {
|
|
|
|
+ fprintf(stderr, "Invalid CPU size\n");
|
|
|
|
+ exit(-1);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ display_perf_model(model, STARPU_CPU_DEFAULT + k - 1);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (strcmp(arch, "cuda") == 0) {
|
|
if (strcmp(arch, "cuda") == 0) {
|
|
unsigned archid;
|
|
unsigned archid;
|
|
for (archid = STARPU_CUDA_DEFAULT; archid < STARPU_CUDA_DEFAULT + STARPU_MAXCUDADEVS; archid++)
|
|
for (archid = STARPU_CUDA_DEFAULT; archid < STARPU_CUDA_DEFAULT + STARPU_MAXCUDADEVS; archid++)
|