Skip to content

Commit 5fa6fc5

Browse files
committed
adaptive cluster size
1 parent 97f71a8 commit 5fa6fc5

1 file changed

Lines changed: 19 additions & 11 deletions

File tree

src/tree_generation.cu

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ int main(int argc, char** argv) {
299299
if (useMurphy8) isProtein = true;
300300

301301
uint64_t clusterSize = 0;
302-
try {clusterSize = std::stoull(vm["cluster-size"].as<std::string>());}
302+
try {clusterSize = std::stoull(vm["max-cluster-size"].as<std::string>());}
303303
catch(std::exception &e){}
304304

305305
std::pair<int, int> range({-1,-1});
@@ -872,16 +872,19 @@ int main(int argc, char** argv) {
872872
/* Divide-and-conquer: backbone tree, cluster non-backbone, then place per cluster. */
873873
std::cerr<<"Using divide-and-conquer mode\n";
874874
int totalNumSequences = numSequences;
875-
int backboneSize = numSequences/20;
875+
int backboneSize = numSequences/100;
876876

877-
if (clusterSize < backboneSize) {
878-
std::cerr << "Warning: cluster size set to too small, setting to default " << backboneSize << std::endl;
877+
if (clusterSize != 0) {
878+
if (clusterSize < numSequences/1000) {
879+
std::cerr << "Warning: cluster size set to too small, setting to default " << numSequences/100 << std::endl;
880+
} else {
881+
backboneSize = clusterSize;
882+
std::cerr << "Cluster size set to " << backboneSize << std::endl;
883+
}
879884
} else {
880-
backboneSize = clusterSize;
885+
std::cerr << "Cluster size not set, setting to default " << numSequences/100 << std::endl;
881886
}
882887

883-
if (totalNumSequences < 30000) backboneSize = numSequences/4;
884-
885888
params.batchSize = backboneSize;
886889
params.backboneSize = backboneSize;
887890

@@ -1015,12 +1018,17 @@ int main(int argc, char** argv) {
10151018

10161019
int totalNumSequences = numSequences;
10171020

1018-
int backboneSize = numSequences/20;
1021+
int backboneSize = numSequences/100;
10191022

1020-
if (clusterSize < backboneSize) {
1021-
std::cerr << "Warning: cluster size set to too small, setting to default " << backboneSize << std::endl;
1023+
if (clusterSize != 0) {
1024+
if (clusterSize < numSequences/1000) {
1025+
std::cerr << "Warning: cluster size set to too small, setting to default " << numSequences/100 << std::endl;
1026+
} else {
1027+
backboneSize = clusterSize;
1028+
std::cerr << "Cluster size set to " << backboneSize << std::endl;
1029+
}
10221030
} else {
1023-
backboneSize = clusterSize;
1031+
std::cerr << "Cluster size not set, setting to default " << numSequences/100 << std::endl;
10241032
}
10251033

10261034
if (totalNumSequences < 30000) backboneSize = numSequences/4;

0 commit comments

Comments
 (0)