Skip to content
Snippets Groups Projects
Select Git revision
  • df22203d28acee345ba8bfa38e398f524431690b
  • master default protected
  • feature/kasm_0.9.2
3 results

entrypoint.sh

Blame
  • allvars_rccl.h 3.43 KiB
    /* file to store global variables*/
    
    #if defined(__STDC__)
    #  if (__STDC_VERSION__ >= 199901L)
    #     define _XOPEN_SOURCE 700
    #  endif
    #endif
    
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <unistd.h>
    
    
    #if !defined( RCCL_REDUCE )
    #include <stdatomic.h>
    #endif
    
    #include <mpi.h>
    
    #if defined (_OPENMP)
    #include <omp.h>
    #endif
    
    
    
    #if defined(USE_FFTW) && !defined(CUFFTMP) // use MPI fftw
    #include <fftw3-mpi.h>
    #endif
    
    #if defined(ACCOMP)               
    #include "w-stacking_omp.h"
    #else
    #include "w-stacking.h"
    #endif 
    
    #if defined(NVIDIA)
    #include <cuda_runtime.h>
    #endif
    
    #include "fft.h"
    #include "numa.h"
    #include "timing.h"
    #include "errcodes.h"
    
    #define PI 3.14159265359
    #define MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
    #define MAX(X, Y) (((X) > (Y)) ? (X) : (Y))
    #define NOVERBOSE
    #define NFILES 100
    
    #define NAME_LEN 50
    #define LONGNAME_LEN 1000
    
    
    #define REDUCE_MPI  0
    #define REDUCE_RING 1
    
    #if defined(DEBUG)
    #define dprintf(LEVEL, T, t, ...) if( (verbose_level >= (LEVEL)) &&	\
    				      ( ((t) ==-1 ) || ((T)==(t)) ) ) {	\
        printf(__VA_ARGS__); fflush(stdout); }
    
    #else
    #define dprintf(...)
    #endif
    
    //WARNING WHEN USING CLANG!!! CONFLICTING TYPES WITH math.h LIBRARY
    typedef double double_ty;
    #if defined(DOUBLE_PRECISION)
    typedef double float_ty;
    #else
    typedef float float_ty;
    #endif
    
    typedef unsigned int       myuint;
    typedef unsigned long long ull;
    
    
    extern struct io
    {
    	FILE * pFile;
            FILE * pFile1;
            FILE * pFilereal;
            FILE * pFileimg;
    } file;
    
    extern struct ip
    {
    	char ufile[NAME_LEN];
      	char vfile[NAME_LEN];
      	char wfile[NAME_LEN];
      	char weightsfile[NAME_LEN];
      	char visrealfile[NAME_LEN];
      	char visimgfile[NAME_LEN];
      	char metafile[NAME_LEN];
            char paramfile[NAME_LEN];
    } in;
    
    extern struct op
    {
    	char outfile[NAME_LEN];
            char outfile1[NAME_LEN];
            char outfile2[NAME_LEN];
            char outfile3[NAME_LEN];
            char fftfile[NAME_LEN];
            char gridded_writedata1[NAME_LEN];
            char gridded_writedata2[NAME_LEN];
            char fftfile_writedata1[NAME_LEN];
            char fftfile_writedata2[NAME_LEN];
            char fftfile2[NAME_LEN];
            char fftfile3[NAME_LEN];
            char logfile[NAME_LEN];
            char extension[NAME_LEN];
            char timingfile[NAME_LEN];
      
    } out, outparam;
    
    extern struct meta
    {
    
      myuint   Nmeasures;
      myull   Nvis;
      myuint   Nweights;
      myuint   freq_per_chan;
      myuint   polarisations;
      myuint   Ntimes;
      double dt;
      double thours;
      myuint   baselines;
      double uvmin;
      double uvmax;
      double wmin;
      double wmax;
    } metaData;
    
    
    extern struct parameter
    {
      int  num_threads;
      int  ndatasets;
      char datapath_multi[NFILES][LONGNAME_LEN];
      int  grid_size_x;
      int  grid_size_y;
      int  num_w_planes;
      int  w_support;
      int  reduce_method;
    } param;
    
    extern struct fileData
    {
            double * uu;
            double * vv;
            double * ww;
            float * weights;
            float * visreal;
            float * visimg;
    }data;
    
    
    extern char filename[LONGNAME_LEN], buf[NAME_LEN], num_buf[NAME_LEN];
    extern char datapath[LONGNAME_LEN];
    extern int  xaxis, yaxis;
    extern int  rank;
    extern int  size;
    extern myuint nsectors;
    extern myuint startrow;
    extern double_ty resolution, dx, dw, w_supporth;
    
    extern myuint **sectorarray;
    extern myuint  *histo_send;
    extern int    verbose_level; 
    
    
    extern myuint    size_of_grid;
    extern double_ty *grid_pointers, *grid, *gridss, *gridss_real, *gridss_img, *gridss_w;
    
    extern MPI_Comm MYMPI_COMM_WORLD;
    extern MPI_Win  slabwin;