diff --git a/include/fmpi_data.h b/include/fmpi_data.h
index 7ca407cc25d82a3066985648b78377b4b8327d45..562a73dc407c6ecd56f4404d0b332157131bf4e4 100644
--- a/include/fmpi_data.h
+++ b/include/fmpi_data.h
@@ -47,7 +47,7 @@ typedef struct fmpi_data {
     size_t size;                  //!< Total size `(cnt * type.size)`.
     size_t dim_len[FMPI_DIM_MAX]; //!< Length of each dimension.
     size_t dim_cnt;               //!< Number of dimensions.
-    void * start;                 //!< Pointer to the start of the data.
+    void * raw;                   //!< Pointer to the start of the data.
 } fmpi_data;
 /*==============================================================================
     PUBLIC FUNCTION
diff --git a/include/internal/generic/fmpi_task_generic.h b/include/internal/generic/fmpi_task_generic.h
index 83cd4822f195e78d8b710133191690132b6b6bd3..cfcac37b3f62a5a9dcf005e8cf6e48440e3de99c 100644
--- a/include/internal/generic/fmpi_task_generic.h
+++ b/include/internal/generic/fmpi_task_generic.h
@@ -62,7 +62,7 @@ _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")\
                 (FUNC, N, 3, ctx->fut->ctx, args->out_raw, args->in), FMPI_TYPE_REAL) \
         } \
     } \
-    return futhark_entry_##FUNC(ctx->fut->ctx, args->out.start, FMPI_PRIV_TASK_ARGS_##N(args->in)); \
+    return futhark_entry_##FUNC(ctx->fut->ctx, args->out.raw, FMPI_PRIV_TASK_ARGS_##N(args->in)); \
 _Pragma("GCC diagnostic warning \"-Wcast-qual\"")\
 _Pragma("GCC diagnostic warning \"-Wincompatible-pointer-types\"")\
 }
@@ -92,38 +92,38 @@ _Pragma("GCC diagnostic warning \"-Wincompatible-pointer-types\"")\
         .cnt = N \
     })
 
-#define FMPI_PRIV_TASK_ARGS_1(args_in) (args_in)[0].start
-#define FMPI_PRIV_TASK_ARGS_2(args_in) FMPI_PRIV_TASK_ARGS_1(args_in), (args_in)[1].start
-#define FMPI_PRIV_TASK_ARGS_3(args_in) FMPI_PRIV_TASK_ARGS_2(args_in), (args_in)[2].start
-#define FMPI_PRIV_TASK_ARGS_4(args_in) FMPI_PRIV_TASK_ARGS_3(args_in), (args_in)[3].start
-#define FMPI_PRIV_TASK_ARGS_5(args_in) FMPI_PRIV_TASK_ARGS_4(args_in), (args_in)[4].start
-#define FMPI_PRIV_TASK_ARGS_6(args_in) FMPI_PRIV_TASK_ARGS_5(args_in), (args_in)[5].start
-#define FMPI_PRIV_TASK_ARGS_7(args_in) FMPI_PRIV_TASK_ARGS_6(args_in), (args_in)[6].start
-#define FMPI_PRIV_TASK_ARGS_8(args_in) FMPI_PRIV_TASK_ARGS_7(args_in), (args_in)[7].start
-#define FMPI_PRIV_TASK_ARGS_9(args_in) FMPI_PRIV_TASK_ARGS_8(args_in), (args_in)[8].start
-#define FMPI_PRIV_TASK_ARGS_10(args_in) FMPI_PRIV_TASK_ARGS_9(args_in), (args_in)[9].start
-#define FMPI_PRIV_TASK_ARGS_11(args_in) FMPI_PRIV_TASK_ARGS_10(args_in), (args_in)[10].start
-#define FMPI_PRIV_TASK_ARGS_12(args_in) FMPI_PRIV_TASK_ARGS_11(args_in), (args_in)[11].start
-#define FMPI_PRIV_TASK_ARGS_13(args_in) FMPI_PRIV_TASK_ARGS_12(args_in), (args_in)[12].start
-#define FMPI_PRIV_TASK_ARGS_14(args_in) FMPI_PRIV_TASK_ARGS_13(args_in), (args_in)[13].start
-#define FMPI_PRIV_TASK_ARGS_15(args_in) FMPI_PRIV_TASK_ARGS_14(args_in), (args_in)[14].start
-#define FMPI_PRIV_TASK_ARGS_16(args_in) FMPI_PRIV_TASK_ARGS_15(args_in), (args_in)[15].start
-#define FMPI_PRIV_TASK_ARGS_17(args_in) FMPI_PRIV_TASK_ARGS_16(args_in), (args_in)[16].start
-#define FMPI_PRIV_TASK_ARGS_18(args_in) FMPI_PRIV_TASK_ARGS_17(args_in), (args_in)[17].start
-#define FMPI_PRIV_TASK_ARGS_19(args_in) FMPI_PRIV_TASK_ARGS_18(args_in), (args_in)[18].start
-#define FMPI_PRIV_TASK_ARGS_20(args_in) FMPI_PRIV_TASK_ARGS_19(args_in), (args_in)[19].start
-#define FMPI_PRIV_TASK_ARGS_21(args_in) FMPI_PRIV_TASK_ARGS_20(args_in), (args_in)[20].start
-#define FMPI_PRIV_TASK_ARGS_22(args_in) FMPI_PRIV_TASK_ARGS_21(args_in), (args_in)[21].start
-#define FMPI_PRIV_TASK_ARGS_23(args_in) FMPI_PRIV_TASK_ARGS_22(args_in), (args_in)[22].start
-#define FMPI_PRIV_TASK_ARGS_24(args_in) FMPI_PRIV_TASK_ARGS_23(args_in), (args_in)[23].start
-#define FMPI_PRIV_TASK_ARGS_25(args_in) FMPI_PRIV_TASK_ARGS_24(args_in), (args_in)[24].start
-#define FMPI_PRIV_TASK_ARGS_26(args_in) FMPI_PRIV_TASK_ARGS_25(args_in), (args_in)[25].start
-#define FMPI_PRIV_TASK_ARGS_27(args_in) FMPI_PRIV_TASK_ARGS_26(args_in), (args_in)[26].start
-#define FMPI_PRIV_TASK_ARGS_28(args_in) FMPI_PRIV_TASK_ARGS_27(args_in), (args_in)[27].start
-#define FMPI_PRIV_TASK_ARGS_29(args_in) FMPI_PRIV_TASK_ARGS_28(args_in), (args_in)[28].start
-#define FMPI_PRIV_TASK_ARGS_30(args_in) FMPI_PRIV_TASK_ARGS_29(args_in), (args_in)[29].start
-#define FMPI_PRIV_TASK_ARGS_31(args_in) FMPI_PRIV_TASK_ARGS_30(args_in), (args_in)[30].start
-#define FMPI_PRIV_TASK_ARGS_32(args_in) FMPI_PRIV_TASK_ARGS_31(args_in), (args_in)[31].start
+#define FMPI_PRIV_TASK_ARGS_1(args_in) (args_in)[0].raw
+#define FMPI_PRIV_TASK_ARGS_2(args_in) FMPI_PRIV_TASK_ARGS_1(args_in), (args_in)[1].raw
+#define FMPI_PRIV_TASK_ARGS_3(args_in) FMPI_PRIV_TASK_ARGS_2(args_in), (args_in)[2].raw
+#define FMPI_PRIV_TASK_ARGS_4(args_in) FMPI_PRIV_TASK_ARGS_3(args_in), (args_in)[3].raw
+#define FMPI_PRIV_TASK_ARGS_5(args_in) FMPI_PRIV_TASK_ARGS_4(args_in), (args_in)[4].raw
+#define FMPI_PRIV_TASK_ARGS_6(args_in) FMPI_PRIV_TASK_ARGS_5(args_in), (args_in)[5].raw
+#define FMPI_PRIV_TASK_ARGS_7(args_in) FMPI_PRIV_TASK_ARGS_6(args_in), (args_in)[6].raw
+#define FMPI_PRIV_TASK_ARGS_8(args_in) FMPI_PRIV_TASK_ARGS_7(args_in), (args_in)[7].raw
+#define FMPI_PRIV_TASK_ARGS_9(args_in) FMPI_PRIV_TASK_ARGS_8(args_in), (args_in)[8].raw
+#define FMPI_PRIV_TASK_ARGS_10(args_in) FMPI_PRIV_TASK_ARGS_9(args_in), (args_in)[9].raw
+#define FMPI_PRIV_TASK_ARGS_11(args_in) FMPI_PRIV_TASK_ARGS_10(args_in), (args_in)[10].raw
+#define FMPI_PRIV_TASK_ARGS_12(args_in) FMPI_PRIV_TASK_ARGS_11(args_in), (args_in)[11].raw
+#define FMPI_PRIV_TASK_ARGS_13(args_in) FMPI_PRIV_TASK_ARGS_12(args_in), (args_in)[12].raw
+#define FMPI_PRIV_TASK_ARGS_14(args_in) FMPI_PRIV_TASK_ARGS_13(args_in), (args_in)[13].raw
+#define FMPI_PRIV_TASK_ARGS_15(args_in) FMPI_PRIV_TASK_ARGS_14(args_in), (args_in)[14].raw
+#define FMPI_PRIV_TASK_ARGS_16(args_in) FMPI_PRIV_TASK_ARGS_15(args_in), (args_in)[15].raw
+#define FMPI_PRIV_TASK_ARGS_17(args_in) FMPI_PRIV_TASK_ARGS_16(args_in), (args_in)[16].raw
+#define FMPI_PRIV_TASK_ARGS_18(args_in) FMPI_PRIV_TASK_ARGS_17(args_in), (args_in)[17].raw
+#define FMPI_PRIV_TASK_ARGS_19(args_in) FMPI_PRIV_TASK_ARGS_18(args_in), (args_in)[18].raw
+#define FMPI_PRIV_TASK_ARGS_20(args_in) FMPI_PRIV_TASK_ARGS_19(args_in), (args_in)[19].raw
+#define FMPI_PRIV_TASK_ARGS_21(args_in) FMPI_PRIV_TASK_ARGS_20(args_in), (args_in)[20].raw
+#define FMPI_PRIV_TASK_ARGS_22(args_in) FMPI_PRIV_TASK_ARGS_21(args_in), (args_in)[21].raw
+#define FMPI_PRIV_TASK_ARGS_23(args_in) FMPI_PRIV_TASK_ARGS_22(args_in), (args_in)[22].raw
+#define FMPI_PRIV_TASK_ARGS_24(args_in) FMPI_PRIV_TASK_ARGS_23(args_in), (args_in)[23].raw
+#define FMPI_PRIV_TASK_ARGS_25(args_in) FMPI_PRIV_TASK_ARGS_24(args_in), (args_in)[24].raw
+#define FMPI_PRIV_TASK_ARGS_26(args_in) FMPI_PRIV_TASK_ARGS_25(args_in), (args_in)[25].raw
+#define FMPI_PRIV_TASK_ARGS_27(args_in) FMPI_PRIV_TASK_ARGS_26(args_in), (args_in)[26].raw
+#define FMPI_PRIV_TASK_ARGS_28(args_in) FMPI_PRIV_TASK_ARGS_27(args_in), (args_in)[27].raw
+#define FMPI_PRIV_TASK_ARGS_29(args_in) FMPI_PRIV_TASK_ARGS_28(args_in), (args_in)[28].raw
+#define FMPI_PRIV_TASK_ARGS_30(args_in) FMPI_PRIV_TASK_ARGS_29(args_in), (args_in)[29].raw
+#define FMPI_PRIV_TASK_ARGS_31(args_in) FMPI_PRIV_TASK_ARGS_30(args_in), (args_in)[30].raw
+#define FMPI_PRIV_TASK_ARGS_32(args_in) FMPI_PRIV_TASK_ARGS_31(args_in), (args_in)[31].raw
 
 #define FMPI_PRIV_TASK_REGISTER_2(...)  FMPI_PRIV_TASK_REGISTER_N(1, __VA_ARGS__)
 #define FMPI_PRIV_TASK_REGISTER_3(...)  FMPI_PRIV_TASK_REGISTER_N(2, __VA_ARGS__)
diff --git a/src/fmpi_data.c b/src/fmpi_data.c
index 7132c2eb735c9759ebc66c3279a8d63872016990..a3909835efbc9174fe64a5ed88204fd2636b4c9d 100644
--- a/src/fmpi_data.c
+++ b/src/fmpi_data.c
@@ -49,7 +49,7 @@ struct fmpi_data fmpi_data_out_##T( \
         .size = sizeof(T), \
         .dim_len = {0, 0, 0}, \
         .dim_cnt = 0, \
-        .start = data \
+        .raw = data \
     }; \
 }
 
@@ -74,7 +74,7 @@ struct fmpi_data fmpi_data_##D##d_in_##T( \
         .size = cnt * sizeof(T), \
         .dim_len = {x, y, z}, \
         .dim_cnt = (D), \
-        .start = data \
+        .raw = data \
     }; \
 } \
 struct fmpi_data fmpi_data_##D##d_out_##T( \
@@ -95,7 +95,7 @@ struct fmpi_data fmpi_data_##D##d_out_##T( \
         .size = cnt * sizeof(T), \
         .dim_len = {x, y, z}, \
         .dim_cnt = (D), \
-        .start = data \
+        .raw = data \
     }; \
 }
 
diff --git a/src/fmpi_domain.c b/src/fmpi_domain.c
index 4c8aaa4c5bf2920ea149f7b07b101f515a378568..23cab5185fc77c9b0734f709165f43d6b19551b5 100644
--- a/src/fmpi_domain.c
+++ b/src/fmpi_domain.c
@@ -96,7 +96,7 @@ static struct fmpi_data * fmpi_partition_block_1d(
             .size = size,
             .dim_len = {cnt, 1, 1},
             .dim_cnt = 1,
-            .start = (char *)data->start + offset
+            .raw = (char *)data->raw + offset
         };
         offset += size;
     }
diff --git a/src/fmpi_task.c b/src/fmpi_task.c
index 6ad919fd696529268d5e5b88b36964fd3b7c6444..a0147c107c1903f67ab39d56d74aa61ccfde8fa0 100644
--- a/src/fmpi_task.c
+++ b/src/fmpi_task.c
@@ -67,7 +67,7 @@ struct fmpi_task fmpi_task_register_sync(
         }
         //! @todo Could fmpi_futhark_new_data_async() could be called here?
         void * data = fmpi_futhark_new_data_sync(
-            ctx->fut, task.domains[i].parts[rank].start, task.domains[i].data.type.base,
+            ctx->fut, task.domains[i].parts[rank].raw, task.domains[i].data.type.base,
             task.domains[i].data.dim_cnt,
             task.domains[i].parts[rank].dim_len[0],
             task.domains[i].parts[rank].dim_len[1],
@@ -78,7 +78,7 @@ struct fmpi_task fmpi_task_register_sync(
                 "fmpi_futhark_new_data_sync() failed!"
             );
         }
-        task.args.in[i].start = data;
+        task.args.in[i].raw = data;
     }
     ctx->tasks[ctx->task_cnt++] = task;
     fmpi_futhark_sync(ctx->fut);
@@ -111,7 +111,7 @@ struct fmpi_task fmpi_task_register_async(
             continue;
         }
         void * data = fmpi_futhark_new_data_async(
-            ctx->fut, task.domains[i].parts[rank].start, task.domains[i].data.type.base,
+            ctx->fut, task.domains[i].parts[rank].raw, task.domains[i].data.type.base,
             task.domains[i].data.dim_cnt,
             task.domains[i].parts[rank].dim_len[0],
             task.domains[i].parts[rank].dim_len[1],
@@ -122,7 +122,7 @@ struct fmpi_task fmpi_task_register_async(
                 "fmpi_futhark_new_data_async() failed!"
             );
         }
-        task.args.in[i].start = data;
+        task.args.in[i].raw = data;
     }
     ctx->tasks[ctx->task_cnt++] = task;
     return task;
@@ -140,7 +140,7 @@ int fmpi_task_run_sync(
     fmpi_futhark_check_error(ctx->fut, "task->func");
     if(task->args.out.type.derived == FMPI_TYPE_ARRAY) {
         void * out = fmpi_futhark_get_data_sync(
-            ctx->fut, task->args.out_raw, task->args.out.start,
+            ctx->fut, task->args.out_raw, task->args.out.raw,
             task->args.out.type.base, task->args.out.dim_cnt
         );
         if(out == NULL) {