use TASK_SIZE instead of width
git-svn-id: svn://anubis/gvsu@326 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
22f840d3d5
commit
08b1aca672
@ -77,7 +77,7 @@ int main(int argc, char * argv[])
|
||||
break;
|
||||
}
|
||||
|
||||
unsigned int * taskVals = new unsigned int[width + 1];
|
||||
unsigned int * taskVals = new unsigned int[TASK_SIZE + 1];
|
||||
double window_vals[4];
|
||||
if (my_rank == 0)
|
||||
{
|
||||
@ -266,7 +266,7 @@ void draw(int rank, int world_size, int nprocs, int width, int height,
|
||||
int num_tasks = (num_pixels + TASK_SIZE - 1) / TASK_SIZE;
|
||||
for (int received = 0; received < num_tasks; received++)
|
||||
{
|
||||
MPI_Recv(taskVals, width + 1, MPI_INT,
|
||||
MPI_Recv(taskVals, TASK_SIZE + 1, MPI_INT,
|
||||
MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &mpi_status);
|
||||
if (pixel < num_pixels)
|
||||
{
|
||||
@ -279,7 +279,7 @@ void draw(int rank, int world_size, int nprocs, int width, int height,
|
||||
MPI_Send(&done_val, 1, MPI_INT,
|
||||
mpi_status.MPI_SOURCE, 0, MPI_COMM_WORLD);
|
||||
}
|
||||
memcpy(pixels + taskVals[0], taskVals + 1, width * sizeof(int));
|
||||
memcpy(pixels + taskVals[0], taskVals + 1, TASK_SIZE * sizeof(int));
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -299,10 +299,10 @@ void draw(int rank, int world_size, int nprocs, int width, int height,
|
||||
int y = this_pixel_num / width;
|
||||
double x_virt = getXVirt(x);
|
||||
double y_virt = getYVirt(y);
|
||||
pixels[this_pixel_num] = computation->compute(x_virt, y_virt);
|
||||
taskVals[i + 1] = computation->compute(x_virt, y_virt);
|
||||
}
|
||||
/* send the computed pixel data to the master node */
|
||||
MPI_Send(pixels, TASK_SIZE, MPI_INT, 0, 0, MPI_COMM_WORLD);
|
||||
MPI_Send(taskVals, TASK_SIZE + 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user