diff options
author | Justin Bedo <cu@cua0.org> | 2023-02-09 09:36:19 +1100 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2023-02-09 10:09:47 +1100 |
commit | 42edc4f3b5dcd460aef75af536ee541c975b0e8b (patch) | |
tree | 39e6ac6058359de876d19830664fc91ed3cd8878 | |
parent | 12d46be8c70205662d96fc26aee19fba06fd7ddf (diff) |
allow setting number of iterations for optimiser
-rw-r--r-- | Numeric/CODA/PCA.hs | 13 | ||||
-rw-r--r-- | R/R/pca.R | 3 | ||||
-rw-r--r-- | R/src/wrapper.c | 4 | ||||
-rw-r--r-- | pca.c | 36052 | ||||
-rw-r--r-- | pca.fut | 12 | ||||
-rw-r--r-- | pca.h | 4 |
6 files changed, 12405 insertions, 23683 deletions
diff --git a/Numeric/CODA/PCA.hs b/Numeric/CODA/PCA.hs index 01fa3f1..903a166 100644 --- a/Numeric/CODA/PCA.hs +++ b/Numeric/CODA/PCA.hs @@ -40,19 +40,22 @@ C.include "<../../../pca.h>" -- | Decomposes a non-negative matrix into the specified number components on the CoDA simplex -- via Bregman divergences pca :: - -- | An optional quantile to use as the reference; defaults to 0.5 - Maybe Double -> + -- | Number of iterations + Int -> + -- | Quantile to use as the reference + Double -> -- | number of components to decompose into Int -> -- | matrix to decompose Matrix Double -> PCA -pca q k x = unsafePerformIO $ do +pca iters q k x = unsafePerformIO $ do let (n, m) = size x + iters' = fromIntegral iters k' = fromIntegral k n' = fromIntegral n m' = fromIntegral m - q' = realToFrac $ fromMaybe 0.5 q + q' = realToFrac q b <- VM.new (n * k) c <- VM.new (m * k) y <- VM.new (n * m) @@ -70,7 +73,7 @@ pca q k x = unsafePerformIO $ do struct futhark_f64_2d *Bf; struct futhark_f64_2d *Uf; - futhark_entry_pcaWithQuantile(ctx, &Bf, &Uf, &Yf, $(double *lptr), $(double q'), $(int k'), Xf); + futhark_entry_pcaWithQuantile(ctx, &Bf, &Uf, &Yf, $(double *lptr), $(int iters'), $(double q'), $(int k'), Xf); futhark_context_sync(ctx); futhark_values_f64_2d(ctx, Bf, $(double *bptr)); futhark_values_f64_2d(ctx, Uf, $(double *cptr)); @@ -1,4 +1,4 @@ -pca <- function(x, k=1,q=0.5){ +pca <- function(x, k=1, q=0.5, iters=10000){ n <- nrow(x) d <- ncol(x) B <- matrix(0, n, k) @@ -8,6 +8,7 @@ pca <- function(x, k=1,q=0.5){ res <- .C("pca_wrapper", n=as.integer(n), d=as.integer(d), + iters=as.integer(iters), q=as.numeric(q), k=as.integer(k), X=as.numeric(t(x)), diff --git a/R/src/wrapper.c b/R/src/wrapper.c index dd7bce1..52c1192 100644 --- a/R/src/wrapper.c +++ b/R/src/wrapper.c @@ -1,7 +1,7 @@ #include "pca.h" void -pca_wrapper(int *n, int *d, double *q, int *k, double *X, double *B, double *U, double *l) { +pca_wrapper(int *n, int *d, int *iters, double *q, int *k, double *X, double *B, double *U, double *l) { struct futhark_context_config *cfg = futhark_context_config_new(); struct futhark_context *ctx = futhark_context_new(cfg); @@ -11,7 +11,7 @@ pca_wrapper(int *n, int *d, double *q, int *k, double *X, double *B, double *U, struct futhark_f64_2d *Bf; struct futhark_f64_2d *Uf; - futhark_entry_pcaWithQuantile(ctx, &Bf, &Uf, &Yf, l, *q, *k, Xf); + futhark_entry_pcaWithQuantile(ctx, &Bf, &Uf, &Yf, l, *iters, *q, *k, Xf); futhark_context_sync(ctx); futhark_values_f64_2d(ctx, Bf, B); futhark_values_f64_2d(ctx, Uf, U); @@ -62,9 +62,7 @@ const int64_t *futhark_shape_f64_2d(struct futhark_context *ctx, struct futhark_ // Entry points -int futhark_entry_dloss(struct futhark_context *ctx, struct futhark_f64_2d **out0, struct futhark_f64_2d **out1, const struct futhark_f64_2d *in0, const struct futhark_f64_2d *in1, const struct futhark_f64_2d *in2); -int futhark_entry_loss(struct futhark_context *ctx, double *out0, const struct futhark_f64_2d *in0, const struct futhark_f64_2d *in1, const struct futhark_f64_2d *in2); -int futhark_entry_pcaWithQuantile(struct futhark_context *ctx, struct futhark_f64_2d **out0, struct futhark_f64_2d **out1, struct futhark_f64_2d **out2, double *out3, const double in0, const int64_t in1, const struct futhark_f64_2d *in2); +int futhark_entry_pcaWithQuantile(struct futhark_context *ctx, struct futhark_f64_2d **out0, struct futhark_f64_2d **out1, struct futhark_f64_2d **out2, double *out3, const int32_t in0, const double in1, const int64_t in2, const struct futhark_f64_2d *in3); // Miscellaneous int futhark_context_sync(struct futhark_context *ctx); @@ -4887,16 +4885,11 @@ struct memblock { struct constants { int dummy; }; -static int32_t dlossziwithacc_locks_mem_realtype_24530[100151]; -static int32_t dlossziwithacc_locks_mem_realtype_24545[100151]; -static int32_t dlossziwithacc_locks_mem_realtype_24546[100151]; -static int32_t dlossziwithacc_locks_mem_realtype_24613[100151]; -static int32_t dlossziwithacc_locks_mem_realtype_24630[100151]; -static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24828[100151]; -static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24843[100151]; -static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24844[100151]; -static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24911[100151]; -static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24928[100151]; +static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24024[100151]; +static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24039[100151]; +static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24040[100151]; +static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24107[100151]; +static int32_t pcaWithQuantileziwithacc_locks_mem_realtype_24124[100151]; static const int num_tuning_params = 0; static const char *tuning_param_names[1]; static const char *tuning_param_vars[1]; @@ -6157,1188 +6150,746 @@ int futhark_context_sync(struct futhark_context* ctx) { // End of backends/multicore.h struct program { - int64_t *futhark_mc_segmap_parloop_24514_total_runtime; - int *futhark_mc_segmap_parloop_24514_runs; - int64_t *futhark_mc_segmap_parloop_24514_iter; - int64_t futhark_mc_segmap_parloop_24514_total_total_runtime; - int futhark_mc_segmap_parloop_24514_total_runs; - int64_t futhark_mc_segmap_parloop_24514_total_iter; - int64_t *futhark_mc_segmap_task_24512_total_runtime; - int *futhark_mc_segmap_task_24512_runs; - int64_t *futhark_mc_segmap_task_24512_iter; - int64_t futhark_mc_segmap_task_24512_total_time; - int64_t futhark_mc_segmap_task_24512_total_iter; - int64_t *futhark_mc_segmap_parloop_24521_total_runtime; - int *futhark_mc_segmap_parloop_24521_runs; - int64_t *futhark_mc_segmap_parloop_24521_iter; - int64_t futhark_mc_segmap_parloop_24521_total_total_runtime; - int futhark_mc_segmap_parloop_24521_total_runs; - int64_t futhark_mc_segmap_parloop_24521_total_iter; - int64_t *futhark_mc_segmap_task_24519_total_runtime; - int *futhark_mc_segmap_task_24519_runs; - int64_t *futhark_mc_segmap_task_24519_iter; - int64_t futhark_mc_segmap_task_24519_total_time; - int64_t futhark_mc_segmap_task_24519_total_iter; - int64_t *futhark_mc_segmap_parloop_24517_total_runtime; - int *futhark_mc_segmap_parloop_24517_runs; - int64_t *futhark_mc_segmap_parloop_24517_iter; - int64_t futhark_mc_segmap_parloop_24517_total_total_runtime; - int futhark_mc_segmap_parloop_24517_total_runs; - int64_t futhark_mc_segmap_parloop_24517_total_iter; - int64_t *futhark_mc_segmap_nested_task_24515_total_runtime; - int *futhark_mc_segmap_nested_task_24515_runs; - int64_t *futhark_mc_segmap_nested_task_24515_iter; - int64_t *futhark_mc_copy_parloop_24525_total_runtime; - int *futhark_mc_copy_parloop_24525_runs; - int64_t *futhark_mc_copy_parloop_24525_iter; - int64_t futhark_mc_copy_parloop_24525_total_total_runtime; - int futhark_mc_copy_parloop_24525_total_runs; - int64_t futhark_mc_copy_parloop_24525_total_iter; - int64_t *futhark_mc_copy_22728_task_24523_total_runtime; - int *futhark_mc_copy_22728_task_24523_runs; - int64_t *futhark_mc_copy_22728_task_24523_iter; - int64_t futhark_mc_copy_22728_task_24523_total_time; - int64_t futhark_mc_copy_22728_task_24523_total_iter; - int64_t *futhark_mc_copy_parloop_24529_total_runtime; - int *futhark_mc_copy_parloop_24529_runs; - int64_t *futhark_mc_copy_parloop_24529_iter; - int64_t futhark_mc_copy_parloop_24529_total_total_runtime; - int futhark_mc_copy_parloop_24529_total_runs; - int64_t futhark_mc_copy_parloop_24529_total_iter; - int64_t *futhark_mc_copy_22738_task_24527_total_runtime; - int *futhark_mc_copy_22738_task_24527_runs; - int64_t *futhark_mc_copy_22738_task_24527_iter; - int64_t futhark_mc_copy_22738_task_24527_total_time; - int64_t futhark_mc_copy_22738_task_24527_total_iter; - int64_t *futhark_mc_segmap_parloop_24534_total_runtime; - int *futhark_mc_segmap_parloop_24534_runs; - int64_t *futhark_mc_segmap_parloop_24534_iter; - int64_t futhark_mc_segmap_parloop_24534_total_total_runtime; - int futhark_mc_segmap_parloop_24534_total_runs; - int64_t futhark_mc_segmap_parloop_24534_total_iter; - int64_t *futhark_mc_segmap_task_24532_total_runtime; - int *futhark_mc_segmap_task_24532_runs; - int64_t *futhark_mc_segmap_task_24532_iter; - int64_t futhark_mc_segmap_task_24532_total_time; - int64_t futhark_mc_segmap_task_24532_total_iter; - int64_t *futhark_mc_segmap_parloop_24563_total_runtime; - int *futhark_mc_segmap_parloop_24563_runs; - int64_t *futhark_mc_segmap_parloop_24563_iter; - int64_t futhark_mc_segmap_parloop_24563_total_total_runtime; - int futhark_mc_segmap_parloop_24563_total_runs; - int64_t futhark_mc_segmap_parloop_24563_total_iter; - int64_t *futhark_mc_segmap_task_24561_total_runtime; - int *futhark_mc_segmap_task_24561_runs; - int64_t *futhark_mc_segmap_task_24561_iter; - int64_t futhark_mc_segmap_task_24561_total_time; - int64_t futhark_mc_segmap_task_24561_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24571_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24571_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24571_iter; - int64_t futhark_mc_segred_stage_1_parloop_24571_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24571_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24571_total_iter; - int64_t *futhark_mc_segred_task_24568_total_runtime; - int *futhark_mc_segred_task_24568_runs; - int64_t *futhark_mc_segred_task_24568_iter; - int64_t futhark_mc_segred_task_24568_total_time; - int64_t futhark_mc_segred_task_24568_total_iter; - int64_t *futhark_mc_segmap_parloop_24566_total_runtime; - int *futhark_mc_segmap_parloop_24566_runs; - int64_t *futhark_mc_segmap_parloop_24566_iter; - int64_t futhark_mc_segmap_parloop_24566_total_total_runtime; - int futhark_mc_segmap_parloop_24566_total_runs; - int64_t futhark_mc_segmap_parloop_24566_total_iter; - int64_t *futhark_mc_segmap_nested_task_24564_total_runtime; - int *futhark_mc_segmap_nested_task_24564_runs; - int64_t *futhark_mc_segmap_nested_task_24564_iter; - int64_t *futhark_mc_segmap_parloop_24575_total_runtime; - int *futhark_mc_segmap_parloop_24575_runs; - int64_t *futhark_mc_segmap_parloop_24575_iter; - int64_t futhark_mc_segmap_parloop_24575_total_total_runtime; - int futhark_mc_segmap_parloop_24575_total_runs; - int64_t futhark_mc_segmap_parloop_24575_total_iter; - int64_t *futhark_mc_segmap_task_24573_total_runtime; - int *futhark_mc_segmap_task_24573_runs; - int64_t *futhark_mc_segmap_task_24573_iter; - int64_t futhark_mc_segmap_task_24573_total_time; - int64_t futhark_mc_segmap_task_24573_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24583_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24583_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24583_iter; - int64_t futhark_mc_segred_stage_1_parloop_24583_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24583_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24583_total_iter; - int64_t *futhark_mc_segred_task_24580_total_runtime; - int *futhark_mc_segred_task_24580_runs; - int64_t *futhark_mc_segred_task_24580_iter; - int64_t futhark_mc_segred_task_24580_total_time; - int64_t futhark_mc_segred_task_24580_total_iter; - int64_t *futhark_mc_segmap_parloop_24578_total_runtime; - int *futhark_mc_segmap_parloop_24578_runs; - int64_t *futhark_mc_segmap_parloop_24578_iter; - int64_t futhark_mc_segmap_parloop_24578_total_total_runtime; - int futhark_mc_segmap_parloop_24578_total_runs; - int64_t futhark_mc_segmap_parloop_24578_total_iter; - int64_t *futhark_mc_segmap_nested_task_24576_total_runtime; - int *futhark_mc_segmap_nested_task_24576_runs; - int64_t *futhark_mc_segmap_nested_task_24576_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24589_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24589_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24589_iter; - int64_t futhark_mc_segred_stage_1_parloop_24589_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24589_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24589_total_iter; - int64_t *futhark_mc_segred_task_24585_total_runtime; - int *futhark_mc_segred_task_24585_runs; - int64_t *futhark_mc_segred_task_24585_iter; - int64_t futhark_mc_segred_task_24585_total_time; - int64_t futhark_mc_segred_task_24585_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24595_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24595_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24595_iter; - int64_t futhark_mc_segred_stage_1_parloop_24595_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24595_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24595_total_iter; - int64_t *futhark_mc_segred_task_24591_total_runtime; - int *futhark_mc_segred_task_24591_runs; - int64_t *futhark_mc_segred_task_24591_iter; - int64_t futhark_mc_segred_task_24591_total_time; - int64_t futhark_mc_segred_task_24591_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24604_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24604_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24604_iter; - int64_t futhark_mc_segred_stage_1_parloop_24604_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24604_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24604_total_iter; - int64_t *futhark_mc_segred_task_24597_total_runtime; - int *futhark_mc_segred_task_24597_runs; - int64_t *futhark_mc_segred_task_24597_iter; - int64_t futhark_mc_segred_task_24597_total_time; - int64_t futhark_mc_segred_task_24597_total_iter; - int64_t *futhark_mc_copy_parloop_24608_total_runtime; - int *futhark_mc_copy_parloop_24608_runs; - int64_t *futhark_mc_copy_parloop_24608_iter; - int64_t futhark_mc_copy_parloop_24608_total_total_runtime; - int futhark_mc_copy_parloop_24608_total_runs; - int64_t futhark_mc_copy_parloop_24608_total_iter; - int64_t *futhark_mc_copy_23437_task_24606_total_runtime; - int *futhark_mc_copy_23437_task_24606_runs; - int64_t *futhark_mc_copy_23437_task_24606_iter; - int64_t futhark_mc_copy_23437_task_24606_total_time; - int64_t futhark_mc_copy_23437_task_24606_total_iter; - int64_t *futhark_mc_segmap_parloop_24612_total_runtime; - int *futhark_mc_segmap_parloop_24612_runs; - int64_t *futhark_mc_segmap_parloop_24612_iter; - int64_t futhark_mc_segmap_parloop_24612_total_total_runtime; - int futhark_mc_segmap_parloop_24612_total_runs; - int64_t futhark_mc_segmap_parloop_24612_total_iter; - int64_t *futhark_mc_segmap_task_24610_total_runtime; - int *futhark_mc_segmap_task_24610_runs; - int64_t *futhark_mc_segmap_task_24610_iter; - int64_t futhark_mc_segmap_task_24610_total_time; - int64_t futhark_mc_segmap_task_24610_total_iter; - int64_t *futhark_mc_segmap_parloop_24617_total_runtime; - int *futhark_mc_segmap_parloop_24617_runs; - int64_t *futhark_mc_segmap_parloop_24617_iter; - int64_t futhark_mc_segmap_parloop_24617_total_total_runtime; - int futhark_mc_segmap_parloop_24617_total_runs; - int64_t futhark_mc_segmap_parloop_24617_total_iter; - int64_t *futhark_mc_segmap_task_24615_total_runtime; - int *futhark_mc_segmap_task_24615_runs; - int64_t *futhark_mc_segmap_task_24615_iter; - int64_t futhark_mc_segmap_task_24615_total_time; - int64_t futhark_mc_segmap_task_24615_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24625_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24625_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24625_iter; - int64_t futhark_mc_segred_stage_1_parloop_24625_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24625_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24625_total_iter; - int64_t *futhark_mc_segred_task_24622_total_runtime; - int *futhark_mc_segred_task_24622_runs; - int64_t *futhark_mc_segred_task_24622_iter; - int64_t futhark_mc_segred_task_24622_total_time; - int64_t futhark_mc_segred_task_24622_total_iter; - int64_t *futhark_mc_segmap_parloop_24629_total_runtime; - int *futhark_mc_segmap_parloop_24629_runs; - int64_t *futhark_mc_segmap_parloop_24629_iter; - int64_t futhark_mc_segmap_parloop_24629_total_total_runtime; - int futhark_mc_segmap_parloop_24629_total_runs; - int64_t futhark_mc_segmap_parloop_24629_total_iter; - int64_t *futhark_mc_segmap_task_24627_total_runtime; - int *futhark_mc_segmap_task_24627_runs; - int64_t *futhark_mc_segmap_task_24627_iter; - int64_t futhark_mc_segmap_task_24627_total_time; - int64_t futhark_mc_segmap_task_24627_total_iter; - int64_t *futhark_mc_segmap_parloop_24620_total_runtime; - int *futhark_mc_segmap_parloop_24620_runs; - int64_t *futhark_mc_segmap_parloop_24620_iter; - int64_t futhark_mc_segmap_parloop_24620_total_total_runtime; - int futhark_mc_segmap_parloop_24620_total_runs; - int64_t futhark_mc_segmap_parloop_24620_total_iter; - int64_t *futhark_mc_segmap_nested_task_24618_total_runtime; - int *futhark_mc_segmap_nested_task_24618_runs; - int64_t *futhark_mc_segmap_nested_task_24618_iter; - int64_t *futhark_mc_segmap_parloop_24634_total_runtime; - int *futhark_mc_segmap_parloop_24634_runs; - int64_t *futhark_mc_segmap_parloop_24634_iter; - int64_t futhark_mc_segmap_parloop_24634_total_total_runtime; - int futhark_mc_segmap_parloop_24634_total_runs; - int64_t futhark_mc_segmap_parloop_24634_total_iter; - int64_t *futhark_mc_segmap_task_24632_total_runtime; - int *futhark_mc_segmap_task_24632_runs; - int64_t *futhark_mc_segmap_task_24632_iter; - int64_t futhark_mc_segmap_task_24632_total_time; - int64_t futhark_mc_segmap_task_24632_total_iter; - int64_t *futhark_mc_segmap_parloop_24641_total_runtime; - int *futhark_mc_segmap_parloop_24641_runs; - int64_t *futhark_mc_segmap_parloop_24641_iter; - int64_t futhark_mc_segmap_parloop_24641_total_total_runtime; - int futhark_mc_segmap_parloop_24641_total_runs; - int64_t futhark_mc_segmap_parloop_24641_total_iter; - int64_t *futhark_mc_segmap_task_24639_total_runtime; - int *futhark_mc_segmap_task_24639_runs; - int64_t *futhark_mc_segmap_task_24639_iter; - int64_t futhark_mc_segmap_task_24639_total_time; - int64_t futhark_mc_segmap_task_24639_total_iter; - int64_t *futhark_mc_segmap_parloop_24637_total_runtime; - int *futhark_mc_segmap_parloop_24637_runs; - int64_t *futhark_mc_segmap_parloop_24637_iter; - int64_t futhark_mc_segmap_parloop_24637_total_total_runtime; - int futhark_mc_segmap_parloop_24637_total_runs; - int64_t futhark_mc_segmap_parloop_24637_total_iter; - int64_t *futhark_mc_segmap_nested_task_24635_total_runtime; - int *futhark_mc_segmap_nested_task_24635_runs; - int64_t *futhark_mc_segmap_nested_task_24635_iter; - int64_t *futhark_mc_copy_parloop_24645_total_runtime; - int *futhark_mc_copy_parloop_24645_runs; - int64_t *futhark_mc_copy_parloop_24645_iter; - int64_t futhark_mc_copy_parloop_24645_total_total_runtime; - int futhark_mc_copy_parloop_24645_total_runs; - int64_t futhark_mc_copy_parloop_24645_total_iter; - int64_t *futhark_mc_copy_23582_task_24643_total_runtime; - int *futhark_mc_copy_23582_task_24643_runs; - int64_t *futhark_mc_copy_23582_task_24643_iter; - int64_t futhark_mc_copy_23582_task_24643_total_time; - int64_t futhark_mc_copy_23582_task_24643_total_iter; - int64_t *futhark_mc_segmap_parloop_24549_total_runtime; - int *futhark_mc_segmap_parloop_24549_runs; - int64_t *futhark_mc_segmap_parloop_24549_iter; - int64_t futhark_mc_segmap_parloop_24549_total_total_runtime; - int futhark_mc_segmap_parloop_24549_total_runs; - int64_t futhark_mc_segmap_parloop_24549_total_iter; - int64_t *futhark_mc_segmap_nested_task_24547_total_runtime; - int *futhark_mc_segmap_nested_task_24547_runs; - int64_t *futhark_mc_segmap_nested_task_24547_iter; - int64_t *futhark_mc_copy_parloop_24649_total_runtime; - int *futhark_mc_copy_parloop_24649_runs; - int64_t *futhark_mc_copy_parloop_24649_iter; - int64_t futhark_mc_copy_parloop_24649_total_total_runtime; - int futhark_mc_copy_parloop_24649_total_runs; - int64_t futhark_mc_copy_parloop_24649_total_iter; - int64_t *futhark_mc_copy_23595_task_24647_total_runtime; - int *futhark_mc_copy_23595_task_24647_runs; - int64_t *futhark_mc_copy_23595_task_24647_iter; - int64_t futhark_mc_copy_23595_task_24647_total_time; - int64_t futhark_mc_copy_23595_task_24647_total_iter; - int64_t *futhark_mc_copy_parloop_24653_total_runtime; - int *futhark_mc_copy_parloop_24653_runs; - int64_t *futhark_mc_copy_parloop_24653_iter; - int64_t futhark_mc_copy_parloop_24653_total_total_runtime; - int futhark_mc_copy_parloop_24653_total_runs; - int64_t futhark_mc_copy_parloop_24653_total_iter; - int64_t *futhark_mc_copy_23609_task_24651_total_runtime; - int *futhark_mc_copy_23609_task_24651_runs; - int64_t *futhark_mc_copy_23609_task_24651_iter; - int64_t futhark_mc_copy_23609_task_24651_total_time; - int64_t futhark_mc_copy_23609_task_24651_total_iter; - int64_t *futhark_mc_segmap_parloop_24660_total_runtime; - int *futhark_mc_segmap_parloop_24660_runs; - int64_t *futhark_mc_segmap_parloop_24660_iter; - int64_t futhark_mc_segmap_parloop_24660_total_total_runtime; - int futhark_mc_segmap_parloop_24660_total_runs; - int64_t futhark_mc_segmap_parloop_24660_total_iter; - int64_t *futhark_mc_segmap_task_24658_total_runtime; - int *futhark_mc_segmap_task_24658_runs; - int64_t *futhark_mc_segmap_task_24658_iter; - int64_t futhark_mc_segmap_task_24658_total_time; - int64_t futhark_mc_segmap_task_24658_total_iter; - int64_t *futhark_mc_segmap_parloop_24667_total_runtime; - int *futhark_mc_segmap_parloop_24667_runs; - int64_t *futhark_mc_segmap_parloop_24667_iter; - int64_t futhark_mc_segmap_parloop_24667_total_total_runtime; - int futhark_mc_segmap_parloop_24667_total_runs; - int64_t futhark_mc_segmap_parloop_24667_total_iter; - int64_t *futhark_mc_segmap_task_24665_total_runtime; - int *futhark_mc_segmap_task_24665_runs; - int64_t *futhark_mc_segmap_task_24665_iter; - int64_t futhark_mc_segmap_task_24665_total_time; - int64_t futhark_mc_segmap_task_24665_total_iter; - int64_t *futhark_mc_segmap_parloop_24663_total_runtime; - int *futhark_mc_segmap_parloop_24663_runs; - int64_t *futhark_mc_segmap_parloop_24663_iter; - int64_t futhark_mc_segmap_parloop_24663_total_total_runtime; - int futhark_mc_segmap_parloop_24663_total_runs; - int64_t futhark_mc_segmap_parloop_24663_total_iter; - int64_t *futhark_mc_segmap_nested_task_24661_total_runtime; - int *futhark_mc_segmap_nested_task_24661_runs; - int64_t *futhark_mc_segmap_nested_task_24661_iter; - int64_t *futhark_mc_copy_parloop_24671_total_runtime; - int *futhark_mc_copy_parloop_24671_runs; - int64_t *futhark_mc_copy_parloop_24671_iter; - int64_t futhark_mc_copy_parloop_24671_total_total_runtime; - int futhark_mc_copy_parloop_24671_total_runs; - int64_t futhark_mc_copy_parloop_24671_total_iter; - int64_t *futhark_mc_copy_22726_task_24669_total_runtime; - int *futhark_mc_copy_22726_task_24669_runs; - int64_t *futhark_mc_copy_22726_task_24669_iter; - int64_t futhark_mc_copy_22726_task_24669_total_time; - int64_t futhark_mc_copy_22726_task_24669_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24676_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24676_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24676_iter; - int64_t futhark_mc_segred_stage_1_parloop_24676_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24676_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24676_total_iter; - int64_t *futhark_mc_segred_task_24673_total_runtime; - int *futhark_mc_segred_task_24673_runs; - int64_t *futhark_mc_segred_task_24673_iter; - int64_t futhark_mc_segred_task_24673_total_time; - int64_t futhark_mc_segred_task_24673_total_iter; - int64_t *futhark_mc_segmap_parloop_24690_total_runtime; - int *futhark_mc_segmap_parloop_24690_runs; - int64_t *futhark_mc_segmap_parloop_24690_iter; - int64_t futhark_mc_segmap_parloop_24690_total_total_runtime; - int futhark_mc_segmap_parloop_24690_total_runs; - int64_t futhark_mc_segmap_parloop_24690_total_iter; - int64_t *futhark_mc_segmap_task_24688_total_runtime; - int *futhark_mc_segmap_task_24688_runs; - int64_t *futhark_mc_segmap_task_24688_iter; - int64_t futhark_mc_segmap_task_24688_total_time; - int64_t futhark_mc_segmap_task_24688_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24698_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24698_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24698_iter; - int64_t futhark_mc_segred_stage_1_parloop_24698_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24698_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24698_total_iter; - int64_t *futhark_mc_segred_task_24695_total_runtime; - int *futhark_mc_segred_task_24695_runs; - int64_t *futhark_mc_segred_task_24695_iter; - int64_t futhark_mc_segred_task_24695_total_time; - int64_t futhark_mc_segred_task_24695_total_iter; - int64_t *futhark_mc_segmap_parloop_24693_total_runtime; - int *futhark_mc_segmap_parloop_24693_runs; - int64_t *futhark_mc_segmap_parloop_24693_iter; - int64_t futhark_mc_segmap_parloop_24693_total_total_runtime; - int futhark_mc_segmap_parloop_24693_total_runs; - int64_t futhark_mc_segmap_parloop_24693_total_iter; - int64_t *futhark_mc_segmap_nested_task_24691_total_runtime; - int *futhark_mc_segmap_nested_task_24691_runs; - int64_t *futhark_mc_segmap_nested_task_24691_iter; - int64_t *futhark_mc_segmap_parloop_24702_total_runtime; - int *futhark_mc_segmap_parloop_24702_runs; - int64_t *futhark_mc_segmap_parloop_24702_iter; - int64_t futhark_mc_segmap_parloop_24702_total_total_runtime; - int futhark_mc_segmap_parloop_24702_total_runs; - int64_t futhark_mc_segmap_parloop_24702_total_iter; - int64_t *futhark_mc_segmap_task_24700_total_runtime; - int *futhark_mc_segmap_task_24700_runs; - int64_t *futhark_mc_segmap_task_24700_iter; - int64_t futhark_mc_segmap_task_24700_total_time; - int64_t futhark_mc_segmap_task_24700_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24710_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24710_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24710_iter; - int64_t futhark_mc_segred_stage_1_parloop_24710_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24710_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24710_total_iter; - int64_t *futhark_mc_segred_task_24707_total_runtime; - int *futhark_mc_segred_task_24707_runs; - int64_t *futhark_mc_segred_task_24707_iter; - int64_t futhark_mc_segred_task_24707_total_time; - int64_t futhark_mc_segred_task_24707_total_iter; - int64_t *futhark_mc_segmap_parloop_24705_total_runtime; - int *futhark_mc_segmap_parloop_24705_runs; - int64_t *futhark_mc_segmap_parloop_24705_iter; - int64_t futhark_mc_segmap_parloop_24705_total_total_runtime; - int futhark_mc_segmap_parloop_24705_total_runs; - int64_t futhark_mc_segmap_parloop_24705_total_iter; - int64_t *futhark_mc_segmap_nested_task_24703_total_runtime; - int *futhark_mc_segmap_nested_task_24703_runs; - int64_t *futhark_mc_segmap_nested_task_24703_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24716_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24716_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24716_iter; - int64_t futhark_mc_segred_stage_1_parloop_24716_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24716_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24716_total_iter; - int64_t *futhark_mc_segred_task_24712_total_runtime; - int *futhark_mc_segred_task_24712_runs; - int64_t *futhark_mc_segred_task_24712_iter; - int64_t futhark_mc_segred_task_24712_total_time; - int64_t futhark_mc_segred_task_24712_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24722_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24722_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24722_iter; - int64_t futhark_mc_segred_stage_1_parloop_24722_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24722_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24722_total_iter; - int64_t *futhark_mc_segred_task_24718_total_runtime; - int *futhark_mc_segred_task_24718_runs; - int64_t *futhark_mc_segred_task_24718_iter; - int64_t futhark_mc_segred_task_24718_total_time; - int64_t futhark_mc_segred_task_24718_total_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24683_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24683_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24683_iter; - int64_t futhark_mc_segred_stage_1_parloop_24683_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24683_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24683_total_iter; - int64_t *futhark_mc_segred_nested_task_24680_total_runtime; - int *futhark_mc_segred_nested_task_24680_runs; - int64_t *futhark_mc_segred_nested_task_24680_iter; - int64_t *futhark_mc_segmap_parloop_24747_total_runtime; - int *futhark_mc_segmap_parloop_24747_runs; - int64_t *futhark_mc_segmap_parloop_24747_iter; - int64_t futhark_mc_segmap_parloop_24747_total_total_runtime; - int futhark_mc_segmap_parloop_24747_total_runs; - int64_t futhark_mc_segmap_parloop_24747_total_iter; - int64_t *futhark_mc_segmap_task_24745_total_runtime; - int *futhark_mc_segmap_task_24745_runs; - int64_t *futhark_mc_segmap_task_24745_iter; - int64_t futhark_mc_segmap_task_24745_total_time; - int64_t futhark_mc_segmap_task_24745_total_iter; - int64_t *futhark_mc_segmap_parloop_24754_total_runtime; - int *futhark_mc_segmap_parloop_24754_runs; - int64_t *futhark_mc_segmap_parloop_24754_iter; - int64_t futhark_mc_segmap_parloop_24754_total_total_runtime; - int futhark_mc_segmap_parloop_24754_total_runs; - int64_t futhark_mc_segmap_parloop_24754_total_iter; - int64_t *futhark_mc_segmap_task_24752_total_runtime; - int *futhark_mc_segmap_task_24752_runs; - int64_t *futhark_mc_segmap_task_24752_iter; - int64_t futhark_mc_segmap_task_24752_total_time; - int64_t futhark_mc_segmap_task_24752_total_iter; - int64_t *futhark_mc_segmap_parloop_24761_total_runtime; - int *futhark_mc_segmap_parloop_24761_runs; - int64_t *futhark_mc_segmap_parloop_24761_iter; - int64_t futhark_mc_segmap_parloop_24761_total_total_runtime; - int futhark_mc_segmap_parloop_24761_total_runs; - int64_t futhark_mc_segmap_parloop_24761_total_iter; - int64_t *futhark_mc_segmap_task_24759_total_runtime; - int *futhark_mc_segmap_task_24759_runs; - int64_t *futhark_mc_segmap_task_24759_iter; - int64_t futhark_mc_segmap_task_24759_total_time; - int64_t futhark_mc_segmap_task_24759_total_iter; - int64_t *futhark_mc_segmap_parloop_24765_total_runtime; - int *futhark_mc_segmap_parloop_24765_runs; - int64_t *futhark_mc_segmap_parloop_24765_iter; - int64_t futhark_mc_segmap_parloop_24765_total_total_runtime; - int futhark_mc_segmap_parloop_24765_total_runs; - int64_t futhark_mc_segmap_parloop_24765_total_iter; - int64_t *futhark_mc_segmap_task_24763_total_runtime; - int *futhark_mc_segmap_task_24763_runs; - int64_t *futhark_mc_segmap_task_24763_iter; - int64_t futhark_mc_segmap_task_24763_total_time; - int64_t futhark_mc_segmap_task_24763_total_iter; - int64_t *futhark_mc_segmap_parloop_24757_total_runtime; - int *futhark_mc_segmap_parloop_24757_runs; - int64_t *futhark_mc_segmap_parloop_24757_iter; - int64_t futhark_mc_segmap_parloop_24757_total_total_runtime; - int futhark_mc_segmap_parloop_24757_total_runs; - int64_t futhark_mc_segmap_parloop_24757_total_iter; - int64_t *futhark_mc_segmap_nested_task_24755_total_runtime; - int *futhark_mc_segmap_nested_task_24755_runs; - int64_t *futhark_mc_segmap_nested_task_24755_iter; - int64_t *futhark_mc_segred_stage_1_parloop_24770_total_runtime; - int *futhark_mc_segred_stage_1_parloop_24770_runs; - int64_t *futhark_mc_segred_stage_1_parloop_24770_iter; - int64_t futhark_mc_segred_stage_1_parloop_24770_total_total_runtime; - int futhark_mc_segred_stage_1_parloop_24770_total_runs; - int64_t futhark_mc_segred_stage_1_parloop_24770_total_iter; - int64_t *futhark_mc_segred_task_24767_total_runtime; - int *futhark_mc_segred_task_24767_runs; - int64_t *futhark_mc_segred_task_24767_iter; - int64_t futhark_mc_segred_task_24767_total_time; - int64_t futhark_mc_segred_task_24767_total_iter; - int64_t *futhark_mc_segmap_parloop_24774_total_runtime; - int *futhark_mc_segmap_parloop_24774_runs; - int64_t *futhark_mc_segmap_parloop_24774_iter; - int64_t futhark_mc_segmap_parloop_24774_total_total_runtime; - int futhark_mc_segmap_parloop_24774_total_runs; - int64_t futhark_mc_segmap_parloop_24774_total_iter; - int64_t *futhark_mc_segmap_task_24772_total_runtime; - int *futhark_mc_segmap_task_24772_runs; - int64_t *futhark_mc_segmap_task_24772_iter; - int64_t futhark_mc_segmap_task_24772_total_time; - int64_t futhark_mc_segmap_task_24772_total_iter; - int64_t *futhark_mc_segmap_parloop_24781_total_runtime; - int *futhark_mc_segmap_parloop_24781_runs; - int64_t *futhark_mc_segmap_parloop_24781_iter; - int64_t futhark_mc_segmap_parloop_24781_total_total_runtime; - int futhark_mc_segmap_parloop_24781_total_runs; - int64_t futhark_mc_segmap_parloop_24781_total_iter; - int64_t *futhark_mc_segmap_task_24779_total_runtime; - int *futhark_mc_segmap_task_24779_runs; - int64_t *futhark_mc_segmap_task_24779_iter; - int64_t futhark_mc_segmap_task_24779_total_time; - int64_t futhark_mc_segmap_task_24779_total_iter; - int64_t *futhark_mc_segmap_parloop_24777_total_runtime; - int *futhark_mc_segmap_parloop_24777_runs; - int64_t *futhark_mc_segmap_parloop_24777_iter; - int64_t futhark_mc_segmap_parloop_24777_total_total_runtime; - int futhark_mc_segmap_parloop_24777_total_runs; - int64_t futhark_mc_segmap_parloop_24777_total_iter; - int64_t *futhark_mc_segmap_nested_task_24775_total_runtime; - int *futhark_mc_segmap_nested_task_24775_runs; - int64_t *futhark_mc_segmap_nested_task_24775_iter; - int64_t *futhark_mc_segmap_parloop_24785_total_runtime; - int *futhark_mc_segmap_parloop_24785_runs; - int64_t *futhark_mc_segmap_parloop_24785_iter; - int64_t futhark_mc_segmap_parloop_24785_total_total_runtime; - int futhark_mc_segmap_parloop_24785_total_runs; - int64_t futhark_mc_segmap_parloop_24785_total_iter; - int64_t *futhark_mc_segmap_task_24783_total_runtime; - int *futhark_mc_segmap_task_24783_runs; - int64_t *futhark_mc_segmap_task_24783_iter; - int64_t futhark_mc_segmap_task_24783_total_time; - int64_t futhark_mc_segmap_task_24783_total_iter; - int64_t *futhark_mc_segmap_parloop_24792_total_runtime; - int *futhark_mc_segmap_parloop_24792_runs; - int64_t *futhark_mc_segmap_parloop_24792_iter; - int64_t futhark_mc_segmap_parloop_24792_total_total_runtime; - int futhark_mc_segmap_parloop_24792_total_runs; - int64_t futhark_mc_segmap_parloop_24792_total_iter; - int64_t *futhark_mc_segmap_task_24790_total_runtime; - int *futhark_mc_segmap_task_24790_runs; - int64_t *futhark_mc_segmap_task_24790_iter; - int64_t futhark_mc_segmap_task_24790_total_time; - int64_t futhark_mc_segmap_task_24790_total_iter; - int64_t *futhark_mc_segmap_parloop_24796_total_runtime; - int *futhark_mc_segmap_parloop_24796_runs; - int64_t *futhark_mc_segmap_parloop_24796_iter; - int64_t futhark_mc_segmap_parloop_24796_total_total_runtime; - int futhark_mc_segmap_parloop_24796_total_runs; - int64_t futhark_mc_segmap_parloop_24796_total_iter; - int64_t *futhark_mc_segmap_task_24794_total_runtime; - int *futhark_mc_segmap_task_24794_runs; - int64_t *futhark_mc_segmap_task_24794_iter; - int64_t futhark_mc_segmap_task_24794_total_time; - int64_t futhark_mc_segmap_task_24794_total_iter; - int64_t *futhark_mc_copy_parloop_24800_total_runtime; - int *futhark_mc_copy_parloop_24800_runs; - int64_t *futhark_mc_copy_parloop_24800_iter; - int64_t futhark_mc_copy_parloop_24800_total_total_runtime; - int futhark_mc_copy_parloop_24800_total_runs; - int64_t futhark_mc_copy_parloop_24800_total_iter; - int64_t *futhark_mc_copy_23020_task_24798_total_runtime; - int *futhark_mc_copy_23020_task_24798_runs; - int64_t *futhark_mc_copy_23020_task_24798_iter; - int64_t futhark_mc_copy_23020_task_24798_total_time; - int64_t futhark_mc_copy_23020_task_24798_total_iter; - int64_t *futhark_mc_segmap_parloop_24788_total_runtime; - int *futhark_mc_segmap_parloop_24788_runs; - int64_t *futhark_mc_segmap_parloop_24788_iter; - int64_t futhark_mc_segmap_parloop_24788_total_total_runtime; - int futhark_mc_segmap_parloop_24788_total_runs; - int64_t futhark_mc_segmap_parloop_24788_total_iter; - int64_t *futhark_mc_segmap_nested_task_24786_total_runtime; - int *futhark_mc_segmap_nested_task_24786_runs; - int64_t *futhark_mc_segmap_nested_task_24786_iter; - int64_t *futhark_mc_copy_parloop_24804_total_runtime; - int *futhark_mc_copy_parloop_24804_runs; - int64_t *futhark_mc_copy_parloop_24804_iter; - int64_t futhark_mc_copy_parloop_24804_total_total_runtime; - int futhark_mc_copy_parloop_24804_total_runs; - int64_t futhark_mc_copy_parloop_24804_total_iter; - int64_t *futhark_mc_copy_23031_task_24802_total_runtime; - int *futhark_mc_copy_23031_task_24802_runs; - int64_t *futhark_mc_copy_23031_task_24802_iter; - int64_t futhark_mc_copy_23031_task_24802_total_time; - int64_t futhark_mc_copy_23031_task_24802_total_iter; - int64_t *futhark_mc_copy_parloop_24808_total_runtime; - int *futhark_mc_copy_parloop_24808_runs; - int64_t *futhark_mc_copy_parloop_24808_iter; - int64_t futhark_mc_copy_parloop_24808_total_total_runtime; - int futhark_mc_copy_parloop_24808_total_runs; - int64_t futhark_mc_copy_parloop_24808_total_iter; - int64_t *futhark_mc_copy_23041_task_24806_total_runtime; - int *futhark_mc_copy_23041_task_24806_runs; - int64_t *futhark_mc_copy_23041_task_24806_iter; - int64_t futhark_mc_copy_23041_task_24806_total_time; - int64_t futhark_mc_copy_23041_task_24806_total_iter; - int64_t *futhark_mc_segmap_parloop_24812_total_runtime; - int *futhark_mc_segmap_parloop_24812_runs; - int64_t *futhark_mc_segmap_parloop_24812_iter; - int64_t futhark_mc_segmap_parloop_24812_total_total_runtime; - int futhark_mc_segmap_parloop_24812_total_runs; - int64_t futhark_mc_segmap_parloop_24812_total_iter; - int64_t *futhark_mc_segmap_task_24810_total_runtime; - int *futhark_mc_segmap_task_24810_runs; - int64_t *futhark_mc_segmap_task_24810_iter; - int64_t futhark_mc_segmap_task_24810_total_time; - int64_t futhark_mc_segmap_task_24810_total_iter; - int64_t *futhark_mc_segmap_parloop_24819_total_runtime; - int *futhark_mc_segmap_parloop_24819_runs; - int64_t *futhark_mc_segmap_parloop_24819_iter; - int64_t futhark_mc_segmap_parloop_24819_total_total_runtime; - int futhark_mc_segmap_parloop_24819_total_runs; - int64_t futhark_mc_segmap_parloop_24819_total_iter; - int64_t *futhark_mc_segmap_task_24817_total_runtime; - int *futhark_mc_segmap_task_24817_runs; - int64_t *futhark_mc_segmap_task_24817_iter; - int64_t futhark_mc_segmap_task_24817_total_time; |