Parsing args for max and setting ncores to 64

This commit is contained in:
Louis 2025-12-22 14:40:51 +01:00
parent 32707e2e49
commit 0d45da0316

View file

@ -1,10 +1,16 @@
library(sbm) library(sbm)
args <- commandArgs(trailingOnly = TRUE)
if (identical(args, character(0)) || is.na(as.integer(args))) {
max_nb_col <- 5000L
print(paste0("No or incorrect argument was passed setting to default value : ", max_nb_col))
} else {
max_nb_col <- as.integer(args)
print(paste0("Setting to provided value : ", max_nb_col))
}
set.seed(1234) set.seed(1234)
nb_row <- 50 nb_row <- 50
blockProp <- list( blockProp <- list(
c(0.25, 0.75), c(0.25, 0.75),
c(0.1, 0.4, 0.5) c(0.1, 0.4, 0.5)
@ -15,7 +21,7 @@ connectParam <- list(mean = matrix(c(
0.3, 0.2, 0.05 0.3, 0.2, 0.05
), nrow = 2L, ncol = 3L)) ), nrow = 2L, ncol = 3L))
nb_col_seq <- seq(50, 5000, by = 50) nb_col_seq <- seq(50, max_nb_col, by = 50)
lbm_list <- lapply(nb_col_seq, function(nb_col) { lbm_list <- lapply(nb_col_seq, function(nb_col) {
sampleBipartiteSBM( sampleBipartiteSBM(
@ -32,11 +38,12 @@ lbm_matrices <- lapply(lbm_list, function(lbm) lbm$networkData)
lbm_row_memberships <- lapply(lbm_list, function(lbm) apply(lbm$indMemberships$row, 1, FUN = function(row) which(row == 1))) lbm_row_memberships <- lapply(lbm_list, function(lbm) apply(lbm$indMemberships$row, 1, FUN = function(row) which(row == 1)))
lbm_col_memberships <- lapply(lbm_list, function(lbm) apply(lbm$indMemberships$col, 1, FUN = function(col) which(col == 1))) lbm_col_memberships <- lapply(lbm_list, function(lbm) apply(lbm$indMemberships$col, 1, FUN = function(col) which(col == 1)))
library(parallelly)
library(future) library(future)
library(future.apply) library(future.apply)
library(future.callr) library(future.callr)
plan(tweak("callr", workers = availableWorkers(omit = 1L))) plan(tweak("callr", workers = 64))
lbm_res <- future_lapply(lbm_matrices, function(mat) { lbm_res <- future_lapply(lbm_matrices, function(mat) {
start_time <- Sys.time() start_time <- Sys.time()