|
@@ -59,7 +59,7 @@ typedef struct _starpu_mpi_clear_data_s {
|
|
|
void _starpu_mpi_clear_data_callback(void *callback_arg)
|
|
|
{
|
|
|
_starpu_mpi_clear_data_t *data_rank = (_starpu_mpi_clear_data_t *)callback_arg;
|
|
|
- uint32_t key = _starpu_crc32_be(data_rank->data, 0);
|
|
|
+ uint32_t key = _starpu_crc32_be((uintptr_t)data_rank->data, 0);
|
|
|
|
|
|
if (data_rank->mode == _STARPU_MPI_CLEAR_SENT_DATA) {
|
|
|
_STARPU_MPI_DEBUG("Clearing sent cache for data %p and rank %d\n", data_rank->data, data_rank->rank);
|
|
@@ -186,7 +186,7 @@ int starpu_mpi_insert_task(MPI_Comm comm, starpu_codelet *codelet, ...)
|
|
|
if (do_execute && mpi_rank != me && mpi_rank != -1) {
|
|
|
/* I will have to execute but I don't have the data, receive */
|
|
|
#ifdef MPI_CACHE
|
|
|
- uint32_t key = _starpu_crc32_be(data, 0);
|
|
|
+ uint32_t key = _starpu_crc32_be((uintptr_t)data, 0);
|
|
|
void *already_received = _starpu_htbl_search_32(received_data[mpi_rank], key);
|
|
|
if (!already_received) {
|
|
|
_starpu_htbl_insert_32(&received_data[mpi_rank], key, data);
|
|
@@ -204,7 +204,7 @@ int starpu_mpi_insert_task(MPI_Comm comm, starpu_codelet *codelet, ...)
|
|
|
if (!do_execute && mpi_rank == me) {
|
|
|
/* Somebody else will execute it, and I have the data, send it. */
|
|
|
#ifdef MPI_CACHE
|
|
|
- uint32_t key = _starpu_crc32_be(data, 0);
|
|
|
+ uint32_t key = _starpu_crc32_be((uintptr_t)data, 0);
|
|
|
void *already_sent = _starpu_htbl_search_32(sent_data[dest], key);
|
|
|
if (!already_sent) {
|
|
|
_starpu_htbl_insert_32(&sent_data[dest], key, data);
|
|
@@ -254,7 +254,7 @@ int starpu_mpi_insert_task(MPI_Comm comm, starpu_codelet *codelet, ...)
|
|
|
starpu_data_handle data = va_arg(varg_list, starpu_data_handle);
|
|
|
#ifdef MPI_CACHE
|
|
|
if (arg_type & STARPU_W) {
|
|
|
- uint32_t key = _starpu_crc32_be(data, 0);
|
|
|
+ uint32_t key = _starpu_crc32_be((uintptr_t)data, 0);
|
|
|
if (do_execute) {
|
|
|
/* Note that all copies I've sent to neighbours are now invalid */
|
|
|
int n, size;
|