Biomedical Engineering Reference
In-Depth Information
when r x =
q x +
1;
O q,i,J / P y + 1 , k
O r,i, 1 , k O q,i,J / P y , k
O r,j, 0 , k
(4.30)
when r y =
q y +
1; and
O q,i,j,K / P z + 1
O r,i,j, 1
O q,i,j,K / P z
O r,i,j, 0
(4.31)
when r z =
1. In contrast to the copying of tumor cells, however, this oper-
ation does not require buffers; instead, we use MPI type vector to create three
user-defined datatypes, corresponding to the three ( x , y ,and z ) directions values
are communicated, and communicate the values directly between source and des-
tination arrays.
q z +
4.3.4 Blue Gene Model Simulation
For each time step, the model simulation is solved in 11 steps:
1. Boundaries: set the ghost cells using (4.18) to (4.20) applied to C , O , M ,
and E .
2. Apoptosis: cells in low oxygen undergo apoptosis.
3. Tissue: compute O n + 1
i,j,k , M n + 1
i,j,k ,and E n + 1
using (4.14) to (4.16).
i,j,k
4. Migration: compute C n + 1
i,j,k ,for i
=
1
[
1
]
I , j
=
1
[
1
]
J ,and k
=
1
[
1
]
K ,using(4.2)
in conjunction with (4.3) to (4.10).
5. Move cells: move tumor cells between neighboring processors using (4.23)
to (4.25).
6. Copy cells: copy tumor cells between neighboring processors using (4.26) to
(4.28).
7. Proliferation: update ages, mutate (randomly, with probability p ) and divide
mature cells with sufficient space, and place daughter cells.
8. Move cells: move tumor cells between neighboring processors using (4.23)
to (4.25).
9. Copy cells: copy tumor cells between neighboring processors using (4.26) to
(4.28).
10. Update: set C i,j,k =
C n + 1
O n + 1
M n + 1
E n + 1
i,j,k , O i,j,k =
i,j,k , M i,j,k =
i,j,k ,and E i,j,k =
i,j,k ,
K .
11. Copy variables: copy the continuous variables between neighboring proces-
sors using (4.29) to (4.31) applied to O , M ,and E .
for i
=
1
[
1
]
I , j
=
1
[
1
]
J ,and k
=
1
[
1
]
4.3.5 Multithreaded Blue Gene Model Simulation
The multicore architecture of Blue Gene/P permits up to four threads per processor
using OpenMP. Several of the steps involved in our Blue Gene model simulation
can be performed in multiple threads without modification to the algorithm. In
our implementation, however, we have elected to perform three steps in multiple
threads: solving the tissue equations, migration, and proliferation. While other
steps could be similarly performed in multiple threads, we have only focused on
the most time-consuming steps where the speedup is most significant.
 
Search WWH ::




Custom Search