Skip to content
Snippets Groups Projects
Commit a22b9970 authored by Luca Tornatore's avatar Luca Tornatore
Browse files

some sparse changes and compilation fixes

parent d05e7f1e
No related branches found
No related tags found
No related merge requests found
......@@ -36,7 +36,8 @@ void initialize_array(){
histo_send = (long*) calloc(nsectors+1,sizeof(long));
int * boundary = (int*) calloc(metaData.Nmeasures,sizeof(int));
double uuh,vvh;
double vvh;
for (long iphi = 0; iphi < metaData.Nmeasures; iphi++)
{
boundary[iphi] = -1;
......@@ -47,8 +48,10 @@ void initialize_array(){
double downdist = vvh - (double)(binphi*yaxis)*dx;
//
histo_send[binphi]++;
if(updist < w_supporth && updist >= 0.0) {histo_send[binphi+1]++; boundary[iphi] = binphi+1;};
if(downdist < w_supporth && binphi > 0 && downdist >= 0.0) {histo_send[binphi-1]++; boundary[iphi] = binphi-1;};
if(updist < w_supporth && updist >= 0.0)
{histo_send[binphi+1]++; boundary[iphi] = binphi+1;};
if(downdist < w_supporth && binphi > 0 && downdist >= 0.0)
{histo_send[binphi-1]++; boundary[iphi] = binphi-1;};
}
sectorarray = (long**)malloc ((nsectors+1) * sizeof(long*));
......@@ -66,8 +69,10 @@ void initialize_array(){
double downdist = vvh - (double)(binphi*yaxis)*dx;
sectorarray[binphi][counter[binphi]] = iphi;
counter[binphi]++;
if(updist < w_supporth && updist >= 0.0) { sectorarray[binphi+1][counter[binphi+1]] = iphi; counter[binphi+1]++;};
if(downdist < w_supporth && binphi > 0 && downdist >= 0.0) { sectorarray[binphi-1][counter[binphi-1]] = iphi; counter[binphi-1]++;};
if(updist < w_supporth && updist >= 0.0)
{ sectorarray[binphi+1][counter[binphi+1]] = iphi; counter[binphi+1]++;};
if(downdist < w_supporth && binphi > 0 && downdist >= 0.0)
{ sectorarray[binphi-1][counter[binphi-1]] = iphi; counter[binphi-1]++;};
}
......@@ -235,7 +240,7 @@ void gridding_data(){
int target_rank = (int)(isector % size);
#ifdef ONE_SIDE
printf("One Side communication active\n");
// MPI_Win_lock(MPI_LOCK_SHARED,target_rank,0,slabwin);
// MPI_Accumulate(gridss,size_of_grid,MPI_DOUBLE,target_rank,0,size_of_grid,MPI_DOUBLE,MPI_SUM,slabwin);
// MPI_Win_unlock(target_rank,slabwin);
......@@ -247,8 +252,9 @@ void gridding_data(){
reduce( isector, target_rank ); // here the reduce is performed within every host
// here thre reduce is performed among hosts
if ( Me.Nhosts > 1 )
{
// here the reduce is performed among hosts
MPI_Barrier(MPI_COMM_WORLD);
int Im_in_the_new_communicator = MPI_UNDEFINED;
......@@ -290,15 +296,15 @@ void gridding_data(){
MPI_Comm_free( &Sector_Comm );
}
}
#else // relates to #ifdef ONE_SIDE
//MPI_Put(gridss,size_of_grid,MPI_DOUBLE,target_rank,0,size_of_grid,MPI_DOUBLE,slabwin);
#else
MPI_Reduce(gridss,grid,size_of_grid,MPI_DOUBLE,MPI_SUM,target_rank,MPI_COMM_WORLD);
#endif //ONE_SIDE
#endif //USE_MPI
#endif // closes #ifdef ONE_SIDE
#endif // closes USE_MPI
clock_gettime(CLOCK_MONOTONIC, &finishk);
endk = clock();
......@@ -430,6 +436,10 @@ void reduce( int sector, int target_rank )
int local_rank = Me.Rank[myHOST];
if( Me.Ranks_to_host[ target_rank ] == Me.myhost )
// exchange rank 0 with target rank
// in this way the following log2 alogorithm,
// which reduces to rank 0, will work for
// every target rank
{
int r = 0;
......
......@@ -278,18 +278,20 @@ void readMetaData(char fileLocal[1000]) {
{
if( (file.pFile = fopen (fileLocal,"r")) != NULL )
{
fscanf(file.pFile,"%ld",&metaData.Nmeasures);
fscanf(file.pFile,"%ld",&metaData.Nvis);
fscanf(file.pFile,"%ld",&metaData.freq_per_chan);
fscanf(file.pFile,"%ld",&metaData.polarisations);
fscanf(file.pFile,"%ld",&metaData.Ntimes);
fscanf(file.pFile,"%lf",&metaData.dt);
fscanf(file.pFile,"%lf",&metaData.thours);
fscanf(file.pFile,"%ld",&metaData.baselines);
fscanf(file.pFile,"%lf",&metaData.uvmin);
fscanf(file.pFile,"%lf",&metaData.uvmax);
fscanf(file.pFile,"%lf",&metaData.wmin);
fscanf(file.pFile,"%lf",&metaData.wmax);
int items = 0;
items += fscanf(file.pFile,"%ld",&metaData.Nmeasures);
items += fscanf(file.pFile,"%ld",&metaData.Nvis);
items += fscanf(file.pFile,"%ld",&metaData.freq_per_chan);
items += fscanf(file.pFile,"%ld",&metaData.polarisations);
items += fscanf(file.pFile,"%ld",&metaData.Ntimes);
items += fscanf(file.pFile,"%lf",&metaData.dt);
items += fscanf(file.pFile,"%lf",&metaData.thours);
items += fscanf(file.pFile,"%ld",&metaData.baselines);
items += fscanf(file.pFile,"%lf",&metaData.uvmin);
items += fscanf(file.pFile,"%lf",&metaData.uvmax);
items += fscanf(file.pFile,"%lf",&metaData.wmin);
items += fscanf(file.pFile,"%lf",&metaData.wmax);
fclose(file.pFile);
}
else
......@@ -315,6 +317,7 @@ void metaData_calculation() {
metaData.Nvis = metaData.Nmeasures*metaData.freq_per_chan*metaData.polarisations;
// calculate the coordinates of the center
#warning why it it not used?
double uvshift = metaData.uvmin/(metaData.uvmax-metaData.uvmin);
if (global_rank == 0)
......@@ -330,9 +333,7 @@ void metaData_calculation() {
startrow = global_rank*nm_pe;
if (global_rank == size-1)nm_pe = nm_pe+remaining;
long Nmeasures_tot = metaData.Nmeasures;
metaData.Nmeasures = nm_pe;
long Nvis_tot = metaData.Nvis;
metaData.Nvis = metaData.Nmeasures*metaData.freq_per_chan*metaData.polarisations;
metaData.Nweights = metaData.Nmeasures*metaData.polarisations;
......@@ -391,7 +392,9 @@ void readData() {
if( (file.pFile = fopen (filename,"rb")) != NULL )
{
fseek (file.pFile,startrow*sizeof(double),SEEK_SET);
fread(data.uu,metaData.Nmeasures*sizeof(double),1,file.pFile);
size_t res = fread(data.uu, sizeof(double), metaData.Nmeasures, file.pFile);
if( res != metaData.Nmeasures )
printf("an error occurred while reading file %s\n", filename);
fclose(file.pFile);
}
else
......@@ -405,7 +408,10 @@ void readData() {
if( (file.pFile = fopen (filename,"rb")) != NULL )
{
fseek (file.pFile,startrow*sizeof(double),SEEK_SET);
fread(data.vv,metaData.Nmeasures*sizeof(double),1,file.pFile);
size_t res = fread(data.vv, sizeof(double), metaData.Nmeasures, file.pFile);
if( res != metaData.Nmeasures )
printf("an error occurred while reading file %s\n", filename);
fclose(file.pFile);
}
else
......@@ -419,7 +425,9 @@ void readData() {
if( (file.pFile = fopen (filename,"rb")) != NULL )
{
fseek (file.pFile,startrow*sizeof(double),SEEK_SET);
fread(data.ww,metaData.Nmeasures*sizeof(double),1,file.pFile);
size_t res = fread(data.ww,sizeof(double), metaData.Nmeasures, file.pFile);
if( res != metaData.Nmeasures )
printf("an error occurred while reading file %s\n", filename);
fclose(file.pFile);
}
else
......@@ -433,7 +441,9 @@ void readData() {
if( (file.pFile = fopen (filename,"rb")) != NULL)
{
fseek (file.pFile,startrow*metaData.polarisations*sizeof(float),SEEK_SET);
fread(data.weights,(metaData.Nweights)*sizeof(float),1,file.pFile);
size_t res = fread(data.weights, sizeof(float), metaData.Nweights, file.pFile);
if( res != metaData.Nweights )
printf("an error occurred while reading file %s\n", filename);
fclose(file.pFile);
}
else
......@@ -447,7 +457,9 @@ void readData() {
if((file.pFile = fopen (filename,"rb")) != NULL )
{
fseek (file.pFile,startrow*metaData.freq_per_chan*metaData.polarisations*sizeof(float),SEEK_SET);
fread(data.visreal,metaData.Nvis*sizeof(float),1,file.pFile);
size_t res = fread(data.visreal, sizeof(float), metaData.Nvis, file.pFile);
if( res != metaData.Nvis )
printf("an error occurred while reading file %s\n", filename);
fclose(file.pFile);
}
else
......@@ -461,7 +473,9 @@ void readData() {
if( (file.pFile = fopen (filename,"rb")) != NULL )
{
fseek (file.pFile,startrow*metaData.freq_per_chan*metaData.polarisations*sizeof(float),SEEK_SET);
fread(data.visimg,metaData.Nvis*sizeof(float),1,file.pFile);
size_t res = fread(data.visimg, sizeof(float), metaData.Nvis, file.pFile);
if( res != metaData.Nvis )
printf("an error occurred while reading file %s\n", filename);
fclose(file.pFile);
}
else
......
......@@ -140,7 +140,7 @@ void wstack(
int num_threads)
{
long i;
long index;
//long index;
long visindex;
// initialize the convolution kernel
......@@ -242,7 +242,7 @@ void wstack(
visindex = i*freq_per_chan*polarizations;
double sum = 0.0;
//double sum = 0.0;
int j, k;
//if (i%1000 == 0)printf("%ld\n",i);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment