1
1
# ## This file contains functions to load balance of data X.spmd.
2
2
3
3
balance.info <- function (X.spmd , comm = .SPMD.CT $ comm ,
4
- spmd .major = 1 , method = c(" block.cyclic" , " block0" )){
4
+ gbd .major = 1 , method = c(" block.cyclic" , " block0" )){
5
5
COMM.SIZE <- spmd.comm.size(comm )
6
6
COMM.RANK <- spmd.comm.rank(comm )
7
7
8
8
if (! is.matrix(X.spmd )){
9
9
X.spmd <- as.matrix(X.spmd )
10
10
}
11
11
12
- if (spmd .major == 1 ){
12
+ if (gbd .major == 1 ){
13
13
N.spmd <- nrow(X.spmd )
14
- } else if (spmd .major == 2 ){
14
+ } else if (gbd .major == 2 ){
15
15
N.spmd <- ncol(X.spmd )
16
16
} else {
17
- stop(" spmd .major = 1 or 2." )
17
+ stop(" gbd .major = 1 or 2." )
18
18
}
19
19
N.allspmd <- spmd.allgather.integer(as.integer(N.spmd ), integer(COMM.SIZE ),
20
20
comm = comm )
@@ -60,31 +60,31 @@ balance.info <- function(X.spmd, comm = .SPMD.CT$comm,
60
60
belong = rank.belong [rank.belong == COMM.RANK ])
61
61
62
62
list (send = send.info , recv = recv.info , N.allspmd = N.allspmd ,
63
- new.N.allspmd = new.N.allspmd , spmd .major = spmd .major )
63
+ new.N.allspmd = new.N.allspmd , gbd .major = gbd .major )
64
64
} # End of balance.info()
65
65
66
66
67
67
load.balance <- function (X.spmd , bal.info = NULL , comm = .SPMD.CT $ comm ,
68
- spmd .major = 1 ){
68
+ gbd .major = 1 ){
69
69
COMM.RANK <- spmd.comm.rank(comm )
70
70
if (is.null(bal.info )){
71
- bal.info <- balance.info(X.spmd , comm = comm , spmd .major = spmd .major )
71
+ bal.info <- balance.info(X.spmd , comm = comm , gbd .major = gbd .major )
72
72
}
73
73
74
74
if (! is.matrix(X.spmd )){
75
75
X.spmd <- as.matrix(X.spmd )
76
76
}
77
- if (spmd .major == 1 ){
77
+ if (gbd .major == 1 ){
78
78
p <- ncol(X.spmd )
79
- } else if (spmd .major == 2 ){
79
+ } else if (gbd .major == 2 ){
80
80
p <- nrow(X.spmd )
81
81
} else {
82
- stop(" spmd .major = 1 or 2." )
82
+ stop(" gbd .major = 1 or 2." )
83
83
}
84
84
85
85
send.to <- as.integer(unique(bal.info $ send $ belong ))
86
86
if (length(send.to ) > 0 ){
87
- if (spmd .major == 1 ){
87
+ if (gbd .major == 1 ){
88
88
for (i in send.to ){
89
89
if (i != COMM.RANK ){
90
90
tmp <- matrix (X.spmd [bal.info $ send $ belong == i ,], ncol = p )
@@ -104,7 +104,7 @@ load.balance <- function(X.spmd, bal.info = NULL, comm = .SPMD.CT$comm,
104
104
recv.from <- as.integer(unique(bal.info $ recv $ org ))
105
105
if (length(recv.from ) > 0 ){
106
106
ret <- NULL
107
- if (spmd .major == 1 ){
107
+ if (gbd .major == 1 ){
108
108
for (i in recv.from ){
109
109
if (i != COMM.RANK ){
110
110
tmp <- recv(rank.source = i , tag = i , comm = comm )
@@ -130,7 +130,7 @@ load.balance <- function(X.spmd, bal.info = NULL, comm = .SPMD.CT$comm,
130
130
}
131
131
132
132
if (bal.info $ new.N.allspmd [spmd.comm.rank(comm ) + 1 ] == 0 ){
133
- if (spmd .major == 1 ){
133
+ if (gbd .major == 1 ){
134
134
ret <- matrix (0 , nrow = 0 , ncol = p )
135
135
} else {
136
136
ret <- matrix (0 , nrow = p , ncol = 0 )
@@ -148,7 +148,7 @@ unload.balance <- function(new.X.spmd, bal.info, comm = .SPMD.CT$comm){
148
148
belong = bal.info $ send $ org ),
149
149
N.allspmd = bal.info $ new.N.allspmd ,
150
150
new.N.allspmd = bal.info $ N.allspmd ,
151
- spmd .major = bal.info $ spmd .major )
151
+ gbd .major = bal.info $ gbd .major )
152
152
load.balance(new.X.spmd , bal.info = rev.bal.info , comm = comm )
153
153
} # End of unload.balance().
154
154
0 commit comments