MAJ terminée. Nous sommes passés en version 14.6.2 . Pour consulter les "releases notes" associées c'est ici :

https://about.gitlab.com/releases/2022/01/11/security-release-gitlab-14-6-2-released/
https://about.gitlab.com/releases/2022/01/04/gitlab-14-6-1-released/

Commit 8ecca87b authored by Philippe SWARTVAGHER's avatar Philippe SWARTVAGHER
Browse files

Store numa_node_bitmap in longs (default type of FxT)

parent 4f0b6343
......@@ -219,7 +219,7 @@ int starpu_get_pu_os_index(unsigned logical_index);
Returns a bitmap representing logical indexes of NUMA nodes where the buffer
targeted by \p ptr is allocated. An error is notified by a negative result.
*/
int starpu_get_memory_location_bitmap(void* ptr, size_t size);
long starpu_get_memory_location_bitmap(void* ptr, size_t size);
#ifdef STARPU_HAVE_HWLOC
/**
......
......@@ -2983,7 +2983,7 @@ unsigned _starpu_get_nhyperthreads()
return config->topology.nhwpus / config->topology.nhwworker[STARPU_CPU_WORKER][0];
}
int starpu_get_memory_location_bitmap(void* ptr, size_t size)
long starpu_get_memory_location_bitmap(void* ptr, size_t size)
{
if (ptr == NULL || size == 0)
{
......@@ -3010,8 +3010,8 @@ int starpu_get_memory_location_bitmap(void* ptr, size_t size)
/* We could maybe use starpu_bitmap, but that seems a little bit
* overkill and it would make recording it in traces harder.
* An integer should be large enough to store the possible indexes of NUMA nodes ! */
int ret_bitmap = 0;
* A long should be large enough to store the possible indexes of NUMA nodes ! */
long ret_bitmap = 0;
unsigned i = 0;
hwloc_bitmap_foreach_begin(i, set)
{
......
......@@ -81,7 +81,7 @@ struct data_parameter_info
unsigned long handle;
unsigned long size;
int mode;
int numa_nodes_bitmap;
long numa_nodes_bitmap;
};
struct task_info
......@@ -179,27 +179,31 @@ static int show_task(struct task_info *task, struct starpu_fxt_options *options)
return 1;
}
void convert_numa_nodes_bitmap_to_str(int bitmap, char* str)
void convert_numa_nodes_bitmap_to_str(long bitmap, char* str)
{
if (bitmap < 0)
{
sprintf(str, "%d", bitmap);
sprintf(str, "%ld", bitmap);
}
else
{
int i = 0;
unsigned i = 0;
int first = 1;
for (; i < sizeof(bitmap)*8; i++)
{
if (bitmap & (1 << i))
if (bitmap & ((long unsigned) 1 << i))
{
if (first)
{
sprintf(str, "%d", i);
sprintf(str, "%u", i);
first = 0;
}
else
sprintf(str, "%s,%d", str, i);
{
char* str_dup = strdup(str);
sprintf(str, "%s,%u", str_dup, i);
free(str_dup);
}
}
}
}
......@@ -3119,7 +3123,7 @@ static void handle_mpi_isend_submit_end(struct fxt_ev_64 *ev, struct starpu_fxt_
long jobid = ev->param[4];
unsigned long handle = ev->param[5];
int prio = ev->param[6];
int numa_nodes_bitmap = ev->param[7];
long numa_nodes_bitmap = ev->param[7];
double date = get_event_time_stamp(ev, options);
do_mpicommthread_set_state(date, options->file_prefix, "P");
......@@ -3184,7 +3188,7 @@ static void handle_mpi_irecv_terminated(struct fxt_ev_64 *ev, struct starpu_fxt_
int mpi_tag = ev->param[1];
long jobid = ev->param[2];
unsigned long handle = ev->param[4];
int numa_nodes_bitmap = ev->param[5];
long numa_nodes_bitmap = ev->param[5];
double date = get_event_time_stamp(ev, options);
if (options->file_rank < 0)
......
......@@ -69,8 +69,8 @@ void _starpu_fxt_dag_add_sync_point(void);
*/
struct starpu_fxt_mpi_offset _starpu_fxt_mpi_find_sync_points(char *filename_in, int *key, int *rank);
void _starpu_fxt_mpi_add_send_transfer(int src, int dst, long mpi_tag, size_t size, float date, long jobid, unsigned long handle, unsigned type, int prio, int numa_node_bitmap);
void _starpu_fxt_mpi_add_recv_transfer(int src, int dst, long mpi_tag, float date, long jobid, unsigned long handle, int numa_node_bitmap);
void _starpu_fxt_mpi_add_send_transfer(int src, int dst, long mpi_tag, size_t size, float date, long jobid, unsigned long handle, unsigned type, int prio, long numa_node_bitmap);
void _starpu_fxt_mpi_add_recv_transfer(int src, int dst, long mpi_tag, float date, long jobid, unsigned long handle, long numa_node_bitmap);
void _starpu_fxt_display_mpi_transfers(struct starpu_fxt_options *options, int *ranks, FILE *out_paje_file, FILE* out_comms_file);
void _starpu_fxt_write_paje_header(FILE *file, struct starpu_fxt_options *options);
......
......@@ -22,7 +22,7 @@
#include "starpu_fxt.h"
extern void convert_numa_nodes_bitmap_to_str(int bitmap, char str[]);
extern void convert_numa_nodes_bitmap_to_str(long bitmap, char str[]);
LIST_TYPE(mpi_transfer,
unsigned matched;
......@@ -36,7 +36,7 @@ LIST_TYPE(mpi_transfer,
unsigned long handle;
unsigned type;
int prio;
int numa_nodes_bitmap;
long numa_nodes_bitmap;
);
struct starpu_fxt_mpi_offset _starpu_fxt_mpi_find_sync_points(char *filename_in, int *key, int *rank)
......@@ -133,7 +133,7 @@ static unsigned mpi_recvs_used[STARPU_FXT_MAX_FILES] = {0};
* transfer, thus avoiding a quadratic complexity. */
static unsigned mpi_recvs_matched[STARPU_FXT_MAX_FILES][STARPU_FXT_MAX_FILES] = { {0} };
void _starpu_fxt_mpi_add_send_transfer(int src, int dst STARPU_ATTRIBUTE_UNUSED, long mpi_tag, size_t size, float date, long jobid, unsigned long handle, unsigned type, int prio, int numa_nodes_bitmap)
void _starpu_fxt_mpi_add_send_transfer(int src, int dst STARPU_ATTRIBUTE_UNUSED, long mpi_tag, size_t size, float date, long jobid, unsigned long handle, unsigned type, int prio, long numa_nodes_bitmap)
{
STARPU_ASSERT(src >= 0);
if (src >= STARPU_FXT_MAX_FILES)
......@@ -167,7 +167,7 @@ void _starpu_fxt_mpi_add_send_transfer(int src, int dst STARPU_ATTRIBUTE_UNUSED,
mpi_sends[src][slot].numa_nodes_bitmap = numa_nodes_bitmap;
}
void _starpu_fxt_mpi_add_recv_transfer(int src STARPU_ATTRIBUTE_UNUSED, int dst, long mpi_tag, float date, long jobid, unsigned long handle, int numa_nodes_bitmap)
void _starpu_fxt_mpi_add_recv_transfer(int src STARPU_ATTRIBUTE_UNUSED, int dst, long mpi_tag, float date, long jobid, unsigned long handle, long numa_nodes_bitmap)
{
if (dst >= STARPU_FXT_MAX_FILES)
return;
......@@ -313,7 +313,7 @@ static void display_all_transfers_from_trace(FILE *out_paje_file, FILE *out_comm
long mpi_tag = cur->mpi_tag;
size_t size = cur->size;
unsigned long send_handle = cur->handle;
int send_numa_nodes_bitmap = cur->numa_nodes_bitmap;
long send_numa_nodes_bitmap = cur->numa_nodes_bitmap;
if (dst < STARPU_FXT_MAX_FILES)
match = try_to_match_send_transfer(src, dst, mpi_tag);
......@@ -324,7 +324,7 @@ static void display_all_transfers_from_trace(FILE *out_paje_file, FILE *out_comm
{
float end_date = match->date;
unsigned long recv_handle = match->handle;
int recv_numa_nodes_bitmap = match->numa_nodes_bitmap;
long recv_numa_nodes_bitmap = match->numa_nodes_bitmap;
struct mpi_transfer *prev;
if (end_date <= start_date)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment