Andra Hugo 14 年之前
父节点
当前提交
5d0bac62f9
共有 7 个文件被更改,包括 0 次插入826 次删除
  1. 0 89
      tools/dag_dot.c
  2. 0 75
      tools/fxt_tool.h
  3. 0 121
      tools/fxt_tool_common.c
  4. 0 208
      tools/fxt_tool_mpi.c
  5. 0 124
      tools/histo_paje.c
  6. 0 25
      tools/histo_paje.h
  7. 0 184
      tools/perfmodel_display_gnuplot.sh

+ 0 - 89
tools/dag_dot.c

@@ -1,89 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010-2011  Université de Bordeaux 1
- * Copyright (C) 2010  Centre National de la Recherche Scientifique
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-#include <stdio.h>
-#include <stdint.h>
-
-#include "fxt_tool.h"
-
-static char *out_path = "dag.dot";
-static FILE *out_file;
-static unsigned cluster_cnt;
-
-void init_dag_dot(void)
-{
-	/* create a new file */
-	out_file = fopen(out_path, "w+");
-	if (!out_file) {
-		fprintf(stderr,"error while opening %s\n", out_path);
-		perror("fopen");
-		exit(1);
-	}
-	cluster_cnt = 0;
-
-	fprintf(out_file, "digraph G {\n");
-	fprintf(out_file, "\tcolor=white\n");
-	fprintf(out_file, "\trankdir=LR;\n");
-
-	/* Create a new cluster */
-	fprintf(out_file, "subgraph cluster_%d {\n", cluster_cnt);
-	fprintf(out_file, "\tcolor=black;\n");
-}
-
-void terminate_dat_dot(void)
-{
-	/* Close the last cluster */
-	fprintf(out_file, "}\n");
-	/* Close the graph */
-	fprintf(out_file, "}\n");
-	fclose(out_file);
-}
-
-void add_deps(uint64_t child, uint64_t father)
-{
-	fprintf(out_file, "\t \"tag_%llx\"->\"tag_%llx\"\n", 
-		(unsigned long long)father, (unsigned long long)child);
-}
-
-void add_task_deps(unsigned long dep_prev, unsigned long dep_succ)
-{
-	fprintf(out_file, "\t \"task_%lx\"->\"task_%lx\"\n", dep_prev, dep_succ);
-} 
-
-void dot_set_tag_done(uint64_t tag, const char *color)
-{
-
-	fprintf(out_file, "\t \"tag_%llx\" \[ style=filled, label=\"\", color=\"%s\"]\n", 
-		(unsigned long long)tag, color);
-}
-
-void dot_set_task_done(unsigned long job_id, const char *label, const char *color)
-{
-	fprintf(out_file, "\t \"task_%lx\" \[ style=filled, label=\"%s\", color=\"%s\"]\n", job_id, label, color);
-}
-
-void dot_add_sync_point(void)
-{
-	/* Close the previous cluster */
-	fprintf(out_file, "}\n");
-
-	cluster_cnt++;
-
-	/* Create a new cluster */
-	fprintf(out_file, "subgraph cluster_%d {\n", cluster_cnt);
-	fprintf(out_file, "\tcolor=black;\n");
-}

+ 0 - 75
tools/fxt_tool.h

@@ -1,75 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010  Université de Bordeaux 1
- * Copyright (C) 2010  Centre National de la Recherche Scientifique
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-#ifndef __FXT_TOOL_H__
-#define __FXT_TOOL_H__
-
-#include <search.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-
-#include <common/fxt.h>
-#include <common/list.h>
-#include <starpu_mpi_fxt.h>
-#include <starpu.h>
-
-#include "histo_paje.h"
-
-#define FACTOR  100
-
-extern void init_dag_dot(void);
-extern void terminate_dat_dot(void);
-extern void add_deps(uint64_t child, uint64_t father);
-extern void dot_set_tag_done(uint64_t tag, const char *color);
-extern void dot_set_task_done(unsigned long job_id, const char *label, const char *color);
-extern void dot_add_sync_point(void);
-
-void set_next_other_worker_color(int workerid);
-void set_next_cpu_worker_color(int workerid);
-void set_next_cuda_worker_color(int workerid);
-const char *get_worker_color(int workerid);
-
-unsigned get_colour_symbol_red(char *name);
-unsigned get_colour_symbol_green(char *name);
-unsigned get_colour_symbol_blue(char *name);
-
-void reinit_colors(void);
-
-/*
- *	MPI
- */
-
-int find_sync_point(char *filename_in, uint64_t *offset, int *key, int *rank);
-uint64_t find_start_time(char *filename_in);
-
-struct mpi_transfer {
-	unsigned matched;
-	int other_rank; /* src for a recv, dest for a send */
-	int mpi_tag;
-	size_t size;
-	float date;
-};
-
-void add_mpi_send_transfer(int src, int dst, int mpi_tag, size_t size, float date);
-void add_mpi_recv_transfer(int src, int dst, int mpi_tag, float date);
-
-#endif // __FXT_TOOL_H__

+ 0 - 121
tools/fxt_tool_common.c

@@ -1,121 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010  Université de Bordeaux 1
- * Copyright (C) 2010  Centre National de la Recherche Scientifique
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-#include "fxt_tool.h"
-
-static char *cpus_worker_colors[STARPU_NMAXWORKERS] = {"/greens9/7", "/greens9/6", "/greens9/5", "/greens9/4",  "/greens9/9", "/greens9/3",  "/greens9/2",  "/greens9/1"  };
-static char *cuda_worker_colors[STARPU_NMAXWORKERS] = {"/ylorrd9/9", "/ylorrd9/6", "/ylorrd9/3", "/ylorrd9/1", "/ylorrd9/8", "/ylorrd9/7", "/ylorrd9/4", "/ylorrd9/2",  "/ylorrd9/1"};
-static char *opencl_worker_colors[STARPU_NMAXWORKERS] = {"/blues9/9", "/blues9/6", "/blues9/3", "/blues9/1", "/blues9/8", "/blues9/7", "/blues9/4", "/blues9/2",  "/blues9/1"};
-static char *other_worker_colors[STARPU_NMAXWORKERS] = {"/greys9/9", "/greys9/8", "/greys9/7", "/greys9/6"};
-static char *worker_colors[STARPU_NMAXWORKERS];
-
-static unsigned opencl_index = 0;
-static unsigned cuda_index = 0;
-static unsigned cpus_index = 0;
-static unsigned other_index = 0;
-
-void set_next_other_worker_color(int workerid)
-{
-	worker_colors[workerid] = other_worker_colors[other_index++];
-}
-
-void set_next_cpu_worker_color(int workerid)
-{
-	worker_colors[workerid] = cpus_worker_colors[cpus_index++];
-}
-
-void set_next_cuda_worker_color(int workerid)
-{
-	worker_colors[workerid] = cuda_worker_colors[cuda_index++];
-}
-
-void set_next_opencl_worker_color(int workerid)
-{
-	worker_colors[workerid] = opencl_worker_colors[opencl_index++];
-}
-
-const char *get_worker_color(int workerid)
-{
-	return worker_colors[workerid];
-}
-
-unsigned get_colour_symbol_red(char *name)
-{
-	/* choose some colour ... that's disguting yes */
-	uint32_t hash_symbol = _starpu_crc32_string(name, 0);
-	return (unsigned)_starpu_crc32_string("red", hash_symbol) % 1024;
-}
-
-unsigned get_colour_symbol_green(char *name)
-{
-	/* choose some colour ... that's disguting yes */
-	uint32_t hash_symbol = _starpu_crc32_string(name, 0);
-	return (unsigned)_starpu_crc32_string("green", hash_symbol) % 1024;
-}
-
-unsigned get_colour_symbol_blue(char *name)
-{
-	/* choose some colour ... that's disguting yes */
-	uint32_t hash_symbol = _starpu_crc32_string(name, 0);
-	return (unsigned)_starpu_crc32_string("blue", hash_symbol) % 1024;
-}
-
-
-
-/* This must be called when we start handling a new trace */
-void reinit_colors(void)
-{
-	other_index = 0;
-	cpus_index = 0;
-	cuda_index = 0;
-}
-
-uint64_t find_start_time(char *filename_in)
-{
-	/* Open the trace file */
-	int fd_in;
-	fd_in = open(filename_in, O_RDONLY);
-	if (fd_in < 0) {
-	        perror("open failed :");
-	        exit(-1);
-	}
-
-	static fxt_t fut;
-	fut = fxt_fdopen(fd_in);
-	if (!fut) {
-	        perror("fxt_fdopen :");
-	        exit(-1);
-	}
-	
-	fxt_blockev_t block;
-	block = fxt_blockev_enter(fut);
-
-	struct fxt_ev_64 ev;
-
-	int ret = fxt_next_ev(block, FXT_EV_TYPE_64, (struct fxt_ev *)&ev);
-	STARPU_ASSERT (ret == FXT_EV_OK);
-
-	/* Close the trace file */
-	if (close(fd_in))
-	{
-	        perror("close failed :");
-	        exit(-1);
-	}
-	return (ev.time);
-}
-
-

+ 0 - 208
tools/fxt_tool_mpi.c

@@ -1,208 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010  Centre National de la Recherche Scientifique
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-#include "fxt_tool.h"
-
-/* Returns 0 if a barrier is found, -1 otherwise. In case of success, offset is
- * filled with the timestamp of the barrier */
-int find_sync_point(char *filename_in, uint64_t *offset, int *key, int *rank)
-{
-	STARPU_ASSERT(offset);
-
-	/* Open the trace file */
-	int fd_in;
-	fd_in = open(filename_in, O_RDONLY);
-	if (fd_in < 0) {
-	        perror("open failed :");
-	        exit(-1);
-	}
-
-	static fxt_t fut;
-	fut = fxt_fdopen(fd_in);
-	if (!fut) {
-	        perror("fxt_fdopen :");
-	        exit(-1);
-	}
-	
-	fxt_blockev_t block;
-	block = fxt_blockev_enter(fut);
-
-	struct fxt_ev_64 ev;
-
-	int func_ret = -1;
-	unsigned found = 0;
-	while(!found) {
-		int ret = fxt_next_ev(block, FXT_EV_TYPE_64, (struct fxt_ev *)&ev);
-		if (ret != FXT_EV_OK) {
-			fprintf(stderr, "no more block ...\n");
-			break;
-		}
-
-		if (ev.code == FUT_MPI_BARRIER)
-		{
-			/* We found the sync point */
-			*offset = ev.time;
-			*rank = ev.param[0];
-			*key = ev.param[2];
-			found = 1;
-			func_ret = 0;
-		}
-	}
-
-	/* Close the trace file */
-	if (close(fd_in))
-	{
-	        perror("close failed :");
-	        exit(-1);
-	}
-
-	return func_ret;
-}
-
-/*
- *	Deal with the actual MPI transfers performed with the MPI lib
- */
-
-/* the list of MPI transfers found in the different traces */
-static struct mpi_transfer *mpi_sends[64] = {NULL};
-static struct mpi_transfer *mpi_recvs[64] = {NULL};
-
-/* number of available slots in the lists  */
-unsigned mpi_sends_list_size[64] = {0};
-unsigned mpi_recvs_list_size[64] = {0};
-
-/* number of slots actually used in the list  */
-unsigned mpi_sends_used[64] = {0};
-unsigned mpi_recvs_used[64] = {0};
-
-/* number of slots already matched at the beginning of the list. This permits
- * going through the lists from the beginning to match each and every
- * transfer, thus avoiding a quadratic complexity. */
-unsigned mpi_recvs_matched[64] = {0};
-
-void add_mpi_send_transfer(int src, int dst, int mpi_tag, size_t size, float date)
-{
-	unsigned slot = mpi_sends_used[src]++;
-
-	if (mpi_sends_used[src] > mpi_sends_list_size[src])
-	{
-		if (mpi_sends_list_size[src] > 0)
-		{
-			mpi_sends_list_size[src] *= 2;
-		}
-		else {
-			mpi_sends_list_size[src] = 1;
-		}
-
-		mpi_sends[src] = realloc(mpi_sends[src], mpi_sends_list_size[src]*sizeof(struct mpi_transfer));
-	}
-
-	mpi_sends[src][slot].matched = 0;
-	mpi_sends[src][slot].other_rank = dst;
-	mpi_sends[src][slot].mpi_tag = mpi_tag;
-	mpi_sends[src][slot].size = size;
-	mpi_sends[src][slot].date = date;
-}
-
-void add_mpi_recv_transfer(int src, int dst, int mpi_tag, float date)
-{
-	unsigned slot = mpi_recvs_used[dst]++;
-
-	if (mpi_recvs_used[dst] > mpi_recvs_list_size[dst])
-	{
-		if (mpi_recvs_list_size[dst] > 0)
-		{
-			mpi_recvs_list_size[dst] *= 2;
-		}
-		else {
-			mpi_recvs_list_size[dst] = 1;
-		}
-
-		mpi_recvs[dst] = realloc(mpi_recvs[dst], mpi_recvs_list_size[dst]*sizeof(struct mpi_transfer));
-	}
-
-	mpi_recvs[dst][slot].matched = 0;
-	mpi_recvs[dst][slot].other_rank = dst;
-	mpi_recvs[dst][slot].mpi_tag = mpi_tag;
-	mpi_recvs[dst][slot].date = date;
-}
-
-struct mpi_transfer *try_to_match_send_transfer(int src, int dst, int mpi_tag)
-{
-	unsigned slot;
-	unsigned firstslot = mpi_recvs_matched[dst];
-
-	unsigned all_previous_were_matched = 1;
-
-	for (slot = firstslot; slot < mpi_recvs_used[dst]; slot++)
-	{
-		if (!mpi_recvs[dst][slot].matched)
-		{
-			if (mpi_recvs[dst][slot].mpi_tag == mpi_tag)
-			{
-				/* we found a match ! */
-				mpi_recvs[dst][slot].matched = 1;
-				return &mpi_recvs[dst][slot];
-			}
-
-			all_previous_were_matched = 0;
-		}
-		else {
-			if (all_previous_were_matched)
-			{
-				/* All previous transfers are already matched,
-				 * we need not consider them anymore */
-				mpi_recvs_matched[dst] = slot;
-			}
-		}
-	}
-
-	/* If we reached that point, we could not find a match */
-	return NULL;
-}
-
-static unsigned long mpi_com_id = 0;
-
-void display_all_transfers_from_trace(FILE *out_paje_file, int src)
-{
-	unsigned slot;
-	for (slot = 0; slot < mpi_sends_used[src]; slot++)
-	{
-		int dst = mpi_sends[src][slot].other_rank;
-		int mpi_tag = mpi_sends[src][slot].mpi_tag;
-		float start_date = mpi_sends[src][slot].date;
-		size_t size = mpi_sends[src][slot].size;
-
-		struct mpi_transfer *match;
-		match = try_to_match_send_transfer(src, dst, mpi_tag);
-
-		if (match)
-		{
-			float end_date = match->date;
-
-			unsigned long id = mpi_com_id++;
-			/* TODO replace 0 by a MPI program ? */
-			fprintf(out_paje_file, "18	%f	MPIL	MPIroot   %d	mpi_%d_p	mpicom_%ld\n", start_date, size, /* XXX */src, id);
-			fprintf(out_paje_file, "19	%f	MPIL	MPIroot	  %d	mpi_%d_p	mpicom_%ld\n", end_date, size, /* XXX */dst, id);
-		}
-		else
-		{
-			fprintf(stderr, "Warning, could not match MPI transfer from %d to %d (tag %x) starting at %f\n",
-												src, dst, mpi_tag, start_date);
-		}
-
-	}
-}

+ 0 - 124
tools/histo_paje.c

@@ -1,124 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010  Université de Bordeaux 1
- * Copyright (C) 2010  Centre National de la Recherche Scientifique
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-#include "histo_paje.h"
-
-void write_paje_header(FILE *file)
-{
-	fprintf(file, "\%%EventDef	PajeDefineContainerType	1\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	ContainerType	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeDefineEventType	2\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	ContainerType	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeDefineStateType	3\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	ContainerType	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeDefineVariableType	4\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	ContainerType	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeDefineLinkType	5\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	ContainerType	string\n");
-	fprintf(file, "\%%	SourceContainerType	string\n");
-	fprintf(file, "\%%	DestContainerType	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeDefineEntityValue	6\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	EntityType	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%	Color	color\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeCreateContainer	7\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Alias	string\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeDestroyContainer	8\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Name	string\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeNewEvent	9\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef PajeSetState 10\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajePushState	11\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajePopState	12\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeSetVariable	13\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	double\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeAddVariable	14\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	double\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeSubVariable	15\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	double\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeStartLink	18\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	string\n");
-	fprintf(file, "\%%	SourceContainer	string\n");
-	fprintf(file, "\%%	Key	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-	fprintf(file, "\%%EventDef	PajeEndLink	19\n");
-	fprintf(file, "\%%	Time	date\n");
-	fprintf(file, "\%%	Type	string\n");
-	fprintf(file, "\%%	Container	string\n");
-	fprintf(file, "\%%	Value	string\n");
-	fprintf(file, "\%%	DestContainer	string\n");
-	fprintf(file, "\%%	Key	string\n");
-	fprintf(file, "\%%EndEventDef\n");
-}

+ 0 - 25
tools/histo_paje.h

@@ -1,25 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2010  Université de Bordeaux 1
- * Copyright (C) 2010  Centre National de la Recherche Scientifique
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-#ifndef __HISTO_PAJE_H__
-#define __HISTO_PAJE_H__
-
-#include <stdio.h>
-
-void write_paje_header(FILE *file);
-
-#endif // __HISTO_PAJE_H__

+ 0 - 184
tools/perfmodel_display_gnuplot.sh

@@ -1,184 +0,0 @@
-#!/bin/bash
-
-# StarPU --- Runtime system for heterogeneous multicore architectures.
-# 
-# Copyright (C) 2009, 2010  Université de Bordeaux 1
-# Copyright (C) 2010  Centre National de la Recherche Scientifique
-# 
-# StarPU is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or (at
-# your option) any later version.
-# 
-# StarPU is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# 
-# See the GNU Lesser General Public License in COPYING.LGPL for more details.
-
-
-function compute_mean_and_stddev ()
-{
-
-filenamein=$1
-arch=$2
-filenameout=$3
-
-R --no-save > /dev/null << EOF
-
-table <- read.table("$filenamein")
-
-sizelist <- unique(table[,2])
-
-mins <- c()
-maxs <- c()
-means <- c()
-medians <- c()
-sds <- c()
-firstquarts <- c()
-thirdquarts <- c()
-
-for (size in sizelist)
-{
-	sublist <- table[table[,2]==size,3]
-
-	meanval <- mean(sublist)
-	medianval <- median(sublist)
-	sdval <- sd(sublist)
-	firstquart <- quantile(sublist, 0.25)
-	thirdquart <- quantile(sublist, 0.75)
-	#minval <- min(sublist)
-	minval <- quantile(sublist, 0.01)
-	#maxval <- max(sublist)
-	maxval <- quantile(sublist, 0.99)
-
-	means <- c(means, meanval)
-	medians <- c(medians, medianval)
-	sds <- c(sds, sdval)
-	firstquarts <- c(firstquarts, firstquart)
-	thirdquarts <- c(thirdquarts, thirdquart)
-	mins <- c(mins, minval)
-	maxs <- c(maxs, maxval)
-}
-
-newtable <- data.frame(unique(sizelist), mins, firstquarts, medians, thirdquarts, maxs, means, sds);
-write.table(newtable, file="$filenameout");
-
-EOF
-
-}
-
-PERFMODELDISPLAY=./perfmodel_display
-
-function gnuplot_symbol()
-{
-symbol=$1
-
-echo "Display symbol $symbol"
-
-# TODO check return value $? of perfmodel_display to ensure we have valid data
-cuda_a=`$PERFMODELDISPLAY -s $symbol -a cuda -p a`
-cuda_b=`$PERFMODELDISPLAY -s $symbol -a cuda -p b`
-cuda_c=`$PERFMODELDISPLAY -s $symbol -a cuda -p c`
-
-cuda_alpha=`$PERFMODELDISPLAY -s $symbol -a cuda -p alpha`
-cuda_beta=`$PERFMODELDISPLAY -s $symbol -a cuda -p beta`
-
-cuda_debug=`$PERFMODELDISPLAY -s $symbol -p path-file-debug -a cuda`
-
-echo "CUDA : y = $cuda_a * size ^ $cuda_b + $cuda_c"
-echo "CUDA : y = $cuda_alpha * size ^ $cuda_beta"
-echo "CUDA : debug file $cuda_debug"
-
-cpu_a=`$PERFMODELDISPLAY -s $symbol -a cpu -p a`
-cpu_b=`$PERFMODELDISPLAY -s $symbol -a cpu -p b`
-cpu_c=`$PERFMODELDISPLAY -s $symbol -a cpu -p c`
-
-cpu_alpha=`$PERFMODELDISPLAY -s $symbol -a cpu -p alpha`
-cpu_beta=`$PERFMODELDISPLAY -s $symbol -a cpu -p beta`
-
-cpu_debug=`$PERFMODELDISPLAY -s $symbol -p path-file-debug -a cpu`
-
-echo "CPU : y = $cpu_a * size ^ $cpu_b + $cpu_c"
-echo "CPU : y = $cpu_alpha * size ^ $cpu_beta"
-echo "CPU : debug file $cpu_debug"
-
-# get the list of the different sizes of the tasks
-cuda_size_list=`cut -f2 $cuda_debug| sort -n |uniq|xargs` 
-cpu_size_list=`cut -f2 $cpu_debug| sort -n |uniq|xargs` 
-
-cpu_debug_data="model_$symbol.cpu.data"
-cuda_debug_data="model_$symbol.cuda.data"
-
-# In case we want stddev instead of a cloud of points ...
-compute_mean_and_stddev "$cpu_debug" "cpu"  "$cpu_debug_data"
-compute_mean_and_stddev "$cuda_debug" "cuda"  "$cuda_debug_data"
-
-# use .. 
-# 	"$cpu_debug_data" usi 2:3:4 with errorbars title "cpu measured" 
-
-gnuplot > /dev/null << EOF
-set term postscript eps enhanced color
-set output "model_$symbol.eps"
-
-set xlabel "Size (bytes)"
-set ylabel "Execution time (us)"
-
-
-set size 0.60
-
-set multiplot
-set style line 1 lt 1 lw 3 linecolor -1 
-set style line 2 lt 2 lw 3 linecolor -1
-set logscale x
-set logscale y
-
-
-#set grid y
-#set grid x
-
-set format x "10^{%L}"
-set format y "10^{%L}"
-
-set key top left 
-
-set key title "Non-linear regression\n(y = {/Symbol a} x@^{{/Symbol b}} + {/Symbol g})"
-
-set bars 4.0
-
-plot $cpu_a * ( x ** $cpu_b ) + $cpu_c ls 1 title "CPU" ,\
-	$cuda_a * ( x ** $cuda_b ) + $cuda_c ls 2 title "GPU" ,\
-	"$cpu_debug_data" usi 2:4:3:7:6 with candlesticks  ls 1 notitle whiskerbars ,\
-	"$cpu_debug_data" usi 2:5:5:5:5 with candlesticks  ls 1 notitle ,\
-	"$cuda_debug_data" usi 2:4:3:7:6 with candlesticks  ls 2  notitle whiskerbars ,\
-	"$cuda_debug_data" usi 2:5:5:5:5 with candlesticks  ls 2  notitle
-
-set noborder
-set origin 0.42,0.10
-set nologscale xy
-set size .15,.25
-set tics scale 0 
-set xrange [-0.1:0.1]
-set noxtics
-set noytics
-set format y2 "%g %%"
-set y2tics (1,25,50,75,99)
-set y2tics nomirror
-set title "Percentiles"
-
-set xlabel ""
-set ylabel ""
-
-set key
-
-plot  "$cuda_debug_data" usi (0):(25):(1):(99):(75) with candlesticks ls 1 notitle whiskerbars ,\
-	"$cuda_debug_data" usi (0):(50):(50):(50):(50) with candlesticks ls 1 notitle
-unset multiplot
-
-EOF
-}
-
-for symbol in $@
-do
-	gnuplot_symbol $symbol
-done