MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- //Tests:
- //A: 0(isend -> wait) with 1(recv)
- int A = 1;
- //B: 0(send) with 1(irecv -> wait)
- int B = 1;
- //C: 0(N * isend -> N * wait) with 1(N * recv)
- int C = 1;
- //D: 0(N * isend -> N * waitany) with 1(N * recv)
- int D = 1;
- //E: 0(N*send) with 1(N*irecv, N*wait)
- int E = 1;
- //F: 0(N*send) with 1(N*irecv, N*waitany)
- int F = 1;
- //G: 0(N* isend -> waitall) with 1(N*recv)
- int G = 1;
- //H: 0(N*send) with 1(N*irecv, waitall)
- int H = 1;
- //I: 0(2*N*send, 2*N*Irecv, Waitall) with
- // 1(N*irecv, waitall, N*isend, N*waitany) with
- // 2(N*irecv, N*waitany, N*isend, waitall)
- int I = 1;
- //J: 0(N*isend, N*test, N*wait) with (N*irecv, N*test, N*wait)
- int J = 1;
-
+ /** Tests:
+ * A: 0(isend -> wait) with 1(recv)
+ * B: 0(send) with 1(irecv -> wait)
+ * C: 0(N * isend -> N * wait) with 1(N * recv)
+ * D: 0(N * isend -> N * waitany) with 1(N * recv)
+ * E: 0(N*send) with 1(N*irecv, N*wait)
+ * F: 0(N*send) with 1(N*irecv, N*waitany)
+ * G: 0(N* isend -> waitall) with 1(N*recv)
+ * H: 0(N*send) with 1(N*irecv, waitall)
+ * I: 0(2*N*send, 2*N*Irecv, Waitall) with
+ * 1(N*irecv, waitall, N*isend, N*waitany) with
+ * 2(N*irecv, N*waitany, N*isend, waitall)
+ * J: 0(N*isend, N*test, N*wait) with (N*irecv, N*test, N*wait)
+ s*/
int N = 13;
int tag = 12345;
MPI_Request req[2 * N];
MPI_Status sta[2 * N];
int *r = (int *) malloc(sizeof(int) * DATATOSENT);
- if (A) {
- TRACE_smpi_set_category("A");
- MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &request);
- MPI_Wait(&request, &status);
- }
+
+ /** Test A */
+ TRACE_smpi_set_category("A");
+ MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &request);
+ MPI_Wait(&request, &status);
MPI_Barrier(MPI_COMM_WORLD);
- if (B) {
- TRACE_smpi_set_category("B");
- MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
+ /** Test B */
+ TRACE_smpi_set_category("B");
+ MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ /** Test C */
+ TRACE_smpi_set_category("C");
+ for (i = 0; i < N; i++) {
+ MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ MPI_Wait(&req[i], &sta[i]);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (C) {
- TRACE_smpi_set_category("C");
- for (i = 0; i < N; i++) {
- MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- MPI_Wait(&req[i], &sta[i]);
- }
+ TRACE_smpi_set_category("D");
+ for (i = 0; i < N; i++) {
+ MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ int completed;
+ MPI_Waitany(N, req, &completed, sta);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (D) {
- TRACE_smpi_set_category("D");
- for (i = 0; i < N; i++) {
- MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- int completed;
- MPI_Waitany(N, req, &completed, sta);
- }
+ TRACE_smpi_set_category("E");
+ for (i = 0; i < N; i++) {
+ MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (E) {
- TRACE_smpi_set_category("E");
- for (i = 0; i < N; i++) {
- MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
- }
+ TRACE_smpi_set_category("F");
+ for (i = 0; i < N; i++) {
+ MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (F) {
- TRACE_smpi_set_category("F");
- for (i = 0; i < N; i++) {
- MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
- }
+ TRACE_smpi_set_category("G");
+ for (i = 0; i < N; i++) {
+ MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
}
+ MPI_Waitall(N, req, sta);
MPI_Barrier(MPI_COMM_WORLD);
- if (G) {
- TRACE_smpi_set_category("G");
- for (i = 0; i < N; i++) {
- MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
- }
- MPI_Waitall(N, req, sta);
+ TRACE_smpi_set_category("H");
+ for (i = 0; i < N; i++) {
+ MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (H) {
- TRACE_smpi_set_category("H");
- for (i = 0; i < N; i++) {
+ TRACE_smpi_set_category("I");
+ for (i = 0; i < 2 * N; i++) {
+ if (i < N) {
+ MPI_Send(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD);
+ } else {
MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
}
}
MPI_Barrier(MPI_COMM_WORLD);
-
- if (I) {
- TRACE_smpi_set_category("I");
- for (i = 0; i < 2 * N; i++) {
- if (i < N) {
- MPI_Send(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD);
- } else {
- MPI_Send(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD);
- }
- }
- MPI_Barrier(MPI_COMM_WORLD);
- for (i = 0; i < 2 * N; i++) {
- if (i < N) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD,
- &req[i]);
- } else {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD,
- &req[i]);
- }
+ for (i = 0; i < 2 * N; i++) {
+ if (i < N) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
+ } else {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 2, tag, MPI_COMM_WORLD, &req[i]);
}
- MPI_Waitall(2 * N, req, sta);
}
+ MPI_Waitall(2 * N, req, sta);
MPI_Barrier(MPI_COMM_WORLD);
- if (J) {
- TRACE_smpi_set_category("J");
- for (i = 0; i < N; i++) {
- MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- int flag;
- MPI_Test(&req[i], &flag, &sta[i]);
- }
- for (i = 0; i < N; i++) {
- MPI_Wait(&req[i], &sta[i]);
- }
+ TRACE_smpi_set_category("J");
+ for (i = 0; i < N; i++) {
+ MPI_Isend(r, DATATOSENT, MPI_INT, 1, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ int flag;
+ MPI_Test(&req[i], &flag, &sta[i]);
+ }
+ for (i = 0; i < N; i++) {
+ MPI_Wait(&req[i], &sta[i]);
}
free(r);
/////////////////////////////////////////
MPI_Status sta[N];
int *r = (int *) malloc(sizeof(int) * DATATOSENT);
- if (A) {
- TRACE_smpi_set_category("A");
- MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &status);
- }
+ TRACE_smpi_set_category("A");
+ MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &status);
MPI_Barrier(MPI_COMM_WORLD);
- if (B) {
- TRACE_smpi_set_category("B");
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &request);
- MPI_Wait(&request, &status);
- }
+ TRACE_smpi_set_category("B");
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &request);
+ MPI_Wait(&request, &status);
MPI_Barrier(MPI_COMM_WORLD);
- if (C) {
- TRACE_smpi_set_category("C");
- for (i = 0; i < N; i++) {
- MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
- }
+ TRACE_smpi_set_category("C");
+ for (i = 0; i < N; i++) {
+ MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (D) {
- TRACE_smpi_set_category("D");
- for (i = 0; i < N; i++) {
- MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
- }
+ TRACE_smpi_set_category("D");
+ for (i = 0; i < N; i++) {
+ MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (E) {
- TRACE_smpi_set_category("E");
- for (i = 0; i < N; i++) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- MPI_Wait(&req[i], &sta[i]);
- }
+ TRACE_smpi_set_category("E");
+ for (i = 0; i < N; i++) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ MPI_Wait(&req[i], &sta[i]);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (F) {
- TRACE_smpi_set_category("F");
- for (i = 0; i < N; i++) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- int completed;
- MPI_Waitany(N, req, &completed, sta);
- }
+ TRACE_smpi_set_category("F");
+ for (i = 0; i < N; i++) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ int completed;
+ MPI_Waitany(N, req, &completed, sta);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (G) {
- TRACE_smpi_set_category("G");
- for (i = 0; i < N; i++) {
- MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
- }
+ TRACE_smpi_set_category("G");
+ for (i = 0; i < N; i++) {
+ MPI_Recv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &sta[i]);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (H) {
- TRACE_smpi_set_category("H");
- for (i = 0; i < N; i++) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- MPI_Waitall(N, req, sta);
+ TRACE_smpi_set_category("H");
+ for (i = 0; i < N; i++) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
+ MPI_Waitall(N, req, sta);
MPI_Barrier(MPI_COMM_WORLD);
- if (I) {
- TRACE_smpi_set_category("I");
- for (i = 0; i < N; i++) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- MPI_Waitall(N, req, sta);
+ TRACE_smpi_set_category("I");
+ for (i = 0; i < N; i++) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ MPI_Waitall(N, req, sta);
- MPI_Barrier(MPI_COMM_WORLD);
- for (i = 0; i < N; i++) {
- MPI_Isend(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- MPI_Waitall(N, req, sta);
-// for (i = 0; i < N; i++){
-// MPI_Wait (&req[i], &sta[i]);
-// }
+ MPI_Barrier(MPI_COMM_WORLD);
+ for (i = 0; i < N; i++) {
+ MPI_Isend(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
}
+ MPI_Waitall(N, req, sta);
MPI_Barrier(MPI_COMM_WORLD);
- if (J) {
- TRACE_smpi_set_category("J");
- for (i = 0; i < N; i++) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- int flag;
- MPI_Test(&req[i], &flag, &sta[i]);
- }
- for (i = 0; i < N; i++) {
- MPI_Wait(&req[i], &sta[i]);
- }
+ TRACE_smpi_set_category("J");
+ for (i = 0; i < N; i++) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ int flag;
+ MPI_Test(&req[i], &flag, &sta[i]);
+ }
+ for (i = 0; i < N; i++) {
+ MPI_Wait(&req[i], &sta[i]);
}
free(r);
/////////////////////////////////////////
////////////////// RANK 2
///////////////////////////////////
} else if (rank == 2) {
-// MPI_Request request;
-// MPI_Status status;
MPI_Request req[N];
MPI_Status sta[N];
int *r = (int *) malloc(sizeof(int) * DATATOSENT);
- if (A) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (B) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (C) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (D) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (E) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (F) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (G) {
- }
MPI_Barrier(MPI_COMM_WORLD);
- if (H) {
+ MPI_Barrier(MPI_COMM_WORLD);
+ TRACE_smpi_set_category("I");
+ for (i = 0; i < N; i++) {
+ MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
+ }
+ for (i = 0; i < N; i++) {
+ int completed;
+ MPI_Waitany(N, req, &completed, sta);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (I) {
- TRACE_smpi_set_category("I");
- for (i = 0; i < N; i++) {
- MPI_Irecv(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD, &req[i]);
- }
- for (i = 0; i < N; i++) {
- int completed;
- MPI_Waitany(N, req, &completed, sta);
- }
- MPI_Barrier(MPI_COMM_WORLD);
- for (i = 0; i < N; i++) {
- MPI_Send(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD);
- }
+ for (i = 0; i < N; i++) {
+ MPI_Send(r, DATATOSENT, MPI_INT, 0, tag, MPI_COMM_WORLD);
}
MPI_Barrier(MPI_COMM_WORLD);
- if (J) {
- }
free(r);
}
MPI_Barrier(MPI_COMM_WORLD);
* Do --help on any simgrid binary to see the list of currently existing configuration variables, and
* see Section @ref options.
*
- * Example:
- * SD_config("host/model","default");
+ * Example: SD_config("host/model","default");
*/
void SD_config(const char *key, const char *value){
xbt_assert(sd_global,"ERROR: Please call SD_init() before using SD_config()");
/* let's see which tasks are done */
xbt_dynar_foreach(all_existing_models, iter, model) {
while ((action = surf_model_extract_done_action_set(model))) {
- task = (SD_task_t) action->getData();
+ task = static_cast<SD_task_t>(action->getData());
task->start_time = task->surf_action->getStartTime();
task->finish_time = surf_get_clock();
task->surf_action = NULL;
/* the state has changed. Add it only if it's the first change */
- if (!xbt_dynar_member(sd_global->return_set, &task)) {
+ if (xbt_dynar_member(sd_global->return_set, &task) == 0) {
xbt_dynar_push(sd_global->return_set, &task);
}
XBT_DEBUG("Released a dependency on %s: %d remain(s). Became schedulable if %d=0",
SD_task_get_name(dst), dst->unsatisfied_dependencies, dst->is_not_ready);
- if (!(dst->unsatisfied_dependencies)) {
+ if (dst->unsatisfied_dependencies == 0) {
if (SD_task_get_state(dst) == SD_SCHEDULED)
SD_task_set_state(dst, SD_RUNNABLE);
else
SD_task_set_state(dst, SD_SCHEDULABLE);
}
- if (SD_task_get_state(dst) == SD_NOT_SCHEDULED && !(dst->is_not_ready)) {
+ if (SD_task_get_state(dst) == SD_NOT_SCHEDULED && dst->is_not_ready == 0) {
SD_task_set_state(dst, SD_SCHEDULABLE);
}
XBT_DEBUG("%s is a transfer, %s may be ready now if %d=0",
SD_task_get_name(dst), SD_task_get_name(comm_dst), comm_dst->is_not_ready);
- if (!(comm_dst->is_not_ready)) {
+ if (comm_dst->is_not_ready == 0) {
SD_task_set_state(comm_dst, SD_SCHEDULABLE);
}
}
/* let's see which tasks have just failed */
while ((action = surf_model_extract_failed_action_set(model))) {
- task = (SD_task_t) action->getData();
+ task = static_cast<SD_task_t>(action->getData());
task->start_time = task->surf_action->getStartTime();
task->finish_time = surf_get_clock();
XBT_VERB("Task '%s' failed", SD_task_get_name(task));
}
}
- if (!sd_global->watch_point_reached && how_long<0){
- if (!xbt_dynar_is_empty(sd_global->initial_task_set)) {
- XBT_WARN("Simulation is finished but %lu tasks are still not done",
- xbt_dynar_length(sd_global->initial_task_set));
- static const char* state_names[] =
- { "SD_NOT_SCHEDULED", "SD_SCHEDULABLE", "SD_SCHEDULED", "SD_RUNNABLE", "SD_RUNNING", "SD_DONE","SD_FAILED" };
- xbt_dynar_foreach(sd_global->initial_task_set, iter, task){
- XBT_WARN("%s is in %s state", SD_task_get_name(task), state_names[SD_task_get_state(task)]);
- }
+ if (!sd_global->watch_point_reached && how_long<0 &&
+ xbt_dynar_is_empty(sd_global->initial_task_set) == 0) {
+ XBT_WARN("Simulation is finished but %lu tasks are still not done",
+ xbt_dynar_length(sd_global->initial_task_set));
+ static const char* state_names[] =
+ { "SD_NOT_SCHEDULED", "SD_SCHEDULABLE", "SD_SCHEDULED", "SD_RUNNABLE", "SD_RUNNING", "SD_DONE","SD_FAILED" };
+ xbt_dynar_foreach(sd_global->initial_task_set, iter, task){
+ XBT_WARN("%s is in %s state", SD_task_get_name(task), state_names[SD_task_get_state(task)]);
}
}
}
/** @brief Returns the current clock, in seconds */
-double SD_get_clock(void) {
+double SD_get_clock() {
return surf_get_clock();
}
*
* \see SD_init(), SD_task_destroy()
*/
-void SD_exit(void)
+void SD_exit()
{
TRACE_surf_resource_utilization_release();
{
/* we must destroy the dependencies carefuly (with SD_dependency_remove) because each one is stored twice */
SD_dependency_t dependency;
- while (!xbt_dynar_is_empty(task->tasks_before)) {
+ while (xbt_dynar_is_empty(task->tasks_before) == 0) {
xbt_dynar_get_cpy(task->tasks_before, 0, &dependency);
SD_task_dependency_remove(dependency->src, dependency->dst);
}
- while (!xbt_dynar_is_empty(task->tasks_after)) {
+ while (xbt_dynar_is_empty(task->tasks_after) == 0) {
xbt_dynar_get_cpy(task->tasks_after, 0, &dependency);
SD_task_dependency_remove(dependency->src, dependency->dst);
}
xbt_free(task->flops_amount);
xbt_free(task->bytes_amount);
- task->flops_amount = task->bytes_amount = NULL;
+ task->flops_amount = NULL;
+ task->bytes_amount = NULL;
}
-void* SD_task_new_f(void)
+void* SD_task_new_f()
{
SD_task_t task = xbt_new0(s_SD_task_t, 1);
task->tasks_before = xbt_dynar_new(sizeof(SD_dependency_t), NULL);
void SD_task_recycle_f(void *t)
{
- SD_task_t task = (SD_task_t) t;
+ SD_task_t task = static_cast<SD_task_t>(t);
/* Reset the content */
task->kind = SD_TASK_NOT_TYPED;
void SD_task_free_f(void *t)
{
- SD_task_t task = (SD_task_t)t;
+ SD_task_t task = static_cast<SD_task_t>(t);
xbt_dynar_free(&task->tasks_before);
xbt_dynar_free(&task->tasks_after);
*/
SD_task_t SD_task_create(const char *name, void *data, double amount)
{
- SD_task_t task = (SD_task_t)xbt_mallocator_get(sd_global->task_mallocator);
+ SD_task_t task = static_cast<SD_task_t>(xbt_mallocator_get(sd_global->task_mallocator));
/* general information */
task->data = data; /* user data */
return task->alpha;
}
-
/**
* \brief Returns the remaining amount work to do till the completion of a task
*
if (task->kind == SD_TASK_COMP_PAR_AMDAHL)
XBT_INFO(" - alpha: %.2f", task->alpha);
XBT_INFO(" - Dependencies to satisfy: %d", task->unsatisfied_dependencies);
- if (!xbt_dynar_is_empty(task->tasks_before)) {
+ if (xbt_dynar_is_empty(task->tasks_before) == 0) {
XBT_INFO(" - pre-dependencies:");
xbt_dynar_foreach(task->tasks_before, counter, dependency) {
XBT_INFO(" %s", SD_task_get_name(dependency->src));
}
}
- if (!xbt_dynar_is_empty(task->tasks_after)) {
+ if (xbt_dynar_is_empty(task->tasks_after)== 0) {
XBT_INFO(" - post-dependencies:");
xbt_dynar_foreach(task->tasks_after, counter, dependency) {
XBT_INFO(" %s", SD_task_get_name(dependency->dst));
{
unsigned int counter;
SD_dependency_t dependency;
- FILE *fout = (FILE*)out;
+ FILE *fout = static_cast<FILE*>(out);
fprintf(fout, " T%p [label=\"%.20s\"", task, task->name);
switch (task->kind) {
case SD_TASK_COMM_E2E:
*/
void SD_task_dependency_add(const char *name, void *data, SD_task_t src, SD_task_t dst)
{
- int found = 0;
+ bool found = false;
SD_dependency_t dependency;
unsigned long length = xbt_dynar_length(src->tasks_after);
void SD_task_dependency_remove(SD_task_t src, SD_task_t dst)
{
unsigned long length;
- int found = 0;
+ bool found = false;
SD_dependency_t dependency;
/* remove the dependency from src->tasks_after */
xbt_dynar_get_cpy(src->tasks_after, i, &dependency);
if (dependency->dst == dst) {
xbt_dynar_remove_at(src->tasks_after, i, NULL);
- found = 1;
+ found = true;
}
}
if (!found)
/* remove the dependency from dst->tasks_before */
length = xbt_dynar_length(dst->tasks_before);
- found = 0;
+ found = false;
for (unsigned long i = 0; i < length && !found; i++) {
xbt_dynar_get_cpy(dst->tasks_before, i, &dependency);
__SD_task_dependency_destroy(dependency);
dst->unsatisfied_dependencies--;
dst->is_not_ready--;
- found = 1;
+ found = true;
}
}
/* should never happen... */
*/
void *SD_task_dependency_get_data(SD_task_t src, SD_task_t dst)
{
- int found = 0;
+ bool found = false;
SD_dependency_t dependency;
unsigned long length = xbt_dynar_length(src->tasks_after);
task->rate = rate;
if (flops_amount) {
- task->flops_amount = (double*)xbt_realloc(task->flops_amount, sizeof(double) * host_count);
+ task->flops_amount = static_cast<double*>(xbt_realloc(task->flops_amount, sizeof(double) * host_count));
memcpy(task->flops_amount, flops_amount, sizeof(double) * host_count);
} else {
xbt_free(task->flops_amount);
int communication_nb = host_count * host_count;
if (bytes_amount) {
- task->bytes_amount = (double*)xbt_realloc(task->bytes_amount, sizeof(double) * communication_nb);
+ task->bytes_amount = static_cast<double*>(xbt_realloc(task->bytes_amount, sizeof(double) * communication_nb));
memcpy(task->bytes_amount, bytes_amount, sizeof(double) * communication_nb);
} else {
xbt_free(task->bytes_amount);
task->bytes_amount = NULL;
}
- task->host_list = (sg_host_t*) xbt_realloc(task->host_list, sizeof(sg_host_t) * host_count);
+ task->host_list = static_cast<sg_host_t*>(xbt_realloc(task->host_list, sizeof(sg_host_t) * host_count));
memcpy(task->host_list, workstation_list, sizeof(sg_host_t) * host_count);
SD_task_do_schedule(task);
switch (task->kind) {
case SD_TASK_COMP_PAR_AMDAHL:
SD_task_distribute_comp_amdahl(task, count);
+ /* no break */
case SD_TASK_COMM_E2E:
case SD_TASK_COMP_SEQ:
xbt_assert(task->host_count == count, "Got %d locations, but were expecting %d locations", count,task->host_count);