diff --git a/src/MS/data.cpp b/src/MS/data.cpp index 6313663b..8254dca3 100644 --- a/src/MS/data.cpp +++ b/src/MS/data.cpp @@ -46,7 +46,7 @@ int Data::TileSize = 120; int Data::Nt= 6; char *Data::SkyModel=NULL; char *Data::Clusters=NULL; -int Data::format=0; /* old LSM */ +int Data::format=1; /* defaut is LSM with 3rd order spectra */ double Data::nulow=2.0; double Data::nuhigh=30.0; diff --git a/src/buildsky/create_clusters.py b/src/buildsky/create_clusters.py index 5a7ca51b..fe9645e0 100755 --- a/src/buildsky/create_clusters.py +++ b/src/buildsky/create_clusters.py @@ -206,7 +206,7 @@ def radec_to_lm_SIN(ra0,dec0,ra,dec): #### main clustering routine : Q clusters -def cluster_this(skymodel,Q,outfile,max_iterations): +def cluster_this(skymodel,Q,outfile,max_iterations=5): SKY=read_lsm_sky(skymodel) K=len(SKY) @@ -243,7 +243,7 @@ def cluster_this(skymodel,Q,outfile,max_iterations): C[ci,0]=X[sImax,0] C[ci,1]=X[sImax,1] sItmp[sImax]=0.0 - #print C + #print(C) # calculate weights # arrays to store which cluster each source belongs to @@ -264,7 +264,7 @@ def cluster_this(skymodel,Q,outfile,max_iterations): mra=X[ci,0] mdec=X[ci,1] closest=find_closest(mra,mdec,C,Ccos,Csin) - #print "src %d closest %d"%(ci,closest) + #print("src %d closest %d"%(ci,closest)) CL[ci]=closest # add this source to dict if closest in D: @@ -272,7 +272,7 @@ def cluster_this(skymodel,Q,outfile,max_iterations): else: D[closest]=list() D[closest].append(ci) - #print D + #print(D) # check to see also if source assignment changes if numpy.sum(CL-CLold)==0: @@ -341,6 +341,8 @@ def cluster_this(skymodel,Q,outfile,max_iterations): if opts.skymodel and opts.clusters and opts.outfile and opts.iterations: cluster_this(opts.skymodel,opts.clusters,opts.outfile,opts.iterations) + elif opts.skymodel and opts.clusters and opts.outfile: + cluster_this(opts.skymodel,opts.clusters,opts.outfile) else: parser.print_help() exit() diff --git a/src/lib/Dirac/lmfit.c b/src/lib/Dirac/lmfit.c index dc68961b..2bfaae6f 100644 --- a/src/lib/Dirac/lmfit.c +++ b/src/lib/Dirac/lmfit.c @@ -1183,7 +1183,7 @@ bfgsfit_visibilities(double *u, double *v, double *w, double *x, int N, lmdata.Nt=64; /* increase threads for MIC */ #endif /* use LBFGS */ - if (solver_mode==2 || solver_mode==3) { + if (solver_mode==SM_RLM_RLBFGS || solver_mode==SM_OSLM_OSRLM_RLBFGS || solver_mode==SM_RTR_OSRLM_RLBFGS || solver_mode==SM_NSD_RLBFGS ) { lmdata.robust_nu=mean_nu; lbfgs_fit_robust_wrapper(p, x, m, n, max_lbfgs, lbfgs_m, gpu_threads, (void*)&lmdata); } else { diff --git a/src/lib/Dirac/lmfit_cuda.c b/src/lib/Dirac/lmfit_cuda.c index b41052b7..65e4637b 100644 --- a/src/lib/Dirac/lmfit_cuda.c +++ b/src/lib/Dirac/lmfit_cuda.c @@ -1421,7 +1421,7 @@ bfgsfit_visibilities_gpu(double *u, double *v, double *w, double *x, int N, if (max_lbfgs>0) { /* use LBFGS */ - if (solver_mode==2 || solver_mode==3) { + if (solver_mode==SM_RLM_RLBFGS || solver_mode==SM_OSLM_OSRLM_RLBFGS || solver_mode==SM_RTR_OSRLM_RLBFGS || solver_mode==SM_NSD_RLBFGS) { lmdata.robust_nu=mean_nu; lbfgs_fit_robust_cuda(p, x, m, n, max_lbfgs, lbfgs_m, gpu_threads, (void*)&lmdata); } else { diff --git a/src/lib/Dirac/load_balance.c b/src/lib/Dirac/load_balance.c index 90361c90..fb3b8027 100644 --- a/src/lib/Dirac/load_balance.c +++ b/src/lib/Dirac/load_balance.c @@ -64,6 +64,7 @@ destroy_task_hist(taskhist *th) { in such a way to allow load balancing */ int select_work_gpu(int max_gpu, taskhist *th) { + if (!max_gpu) return 0; /* no need to spend time if only one GPU is available */ #ifdef MPI_BUILD int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank);