From 2f970c77ce9f6ec7b5ddbb4d9ed5a02bf4f899db Mon Sep 17 00:00:00 2001 From: ryarza Date: Fri, 11 Sep 2020 13:53:33 -0700 Subject: [PATCH 01/21] Multipole boundaries --- Makefile | 4 +- src/global.cpp | 5 ++ src/global.h | 4 ++ src/gravity/grav3D.cpp | 33 +++++++++- src/gravity/grav3D.h | 18 +++++- src/gravity/gravity_boundaries.cpp | 92 +++++++++++++++++----------- src/gravity/gravity_functions.cpp | 6 +- src/grid3D.h | 4 ++ src/initial_conditions.cpp | 6 +- src/mpi_routines.cpp | 27 ++++++++- src/mpi_routines.h | 7 +++ src/special.h.old | 15 +++++ src/tides/multipole.cpp | 97 ++++++++++++++++++++++++++++++ 13 files changed, 273 insertions(+), 45 deletions(-) create mode 100644 src/special.h.old create mode 100644 src/tides/multipole.cpp diff --git a/Makefile b/Makefile index c489e4652..c89884f9c 100644 --- a/Makefile +++ b/Makefile @@ -98,10 +98,10 @@ DFLAGS += -DN_OMP_THREADS=$(OMP_NUM_THREADS) #DFLAGS += -DPRINT_OMP_DOMAIN #Stellar simulation -DFLAGS += -DTIDES +#DFLAGS += -DTIDES # Test Poisson solver -#DFLAGS += -DPOISSON_TEST +DFLAGS += -DPOISSON_TEST # Cosmology simulation # DFLAGS += -DCOSMOLOGY diff --git a/src/global.cpp b/src/global.cpp index 85c32632e..756d94372 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -307,6 +307,11 @@ parms->scale_outputs_file[0] = '\0'; parms->d[5] = atof(value); #endif//POISSON_TEST +#if defined TIDES || defined POISSON_TEST + else if (strcmp(name, "lmaxBoundaries")==0) + parms->lmaxBoundaries = atoi(value); +#endif + #ifdef SET_MPI_GRID // Set the MPI Processes grid [n_proc_x, n_proc_y, n_proc_z] else if (strcmp(name, "n_proc_x")==0) diff --git a/src/global.h b/src/global.h index 20e130909..07c2d9fda 100644 --- a/src/global.h +++ b/src/global.h @@ -247,6 +247,10 @@ struct parameters int d[6]; #endif +#if defined POISSON_TEST || defined TIDES + int lmaxBoundaries; +#endif + #ifdef COSMOLOGY Real H0; Real Omega_M; diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index fca6e1265..0485f8f82 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -13,10 +13,24 @@ #include "../parallel_omp.h" #endif - +#if defined TIDES || defined POISSON_TEST +#include "complex" +#endif Grav3D::Grav3D( void ){} +#if defined TIDES || defined POISSON_TEST +std::complex Grav3D::Y(int l, int m, Real theta, Real phi){ + const std::complex I(0.0,1.0); + if ( m < 0 ){ + return pow(-1., -m) * conj(Y(l, -m, theta, phi)); + } + else{ + return gsl_sf_legendre_sphPlm(l, m, cos(theta)) * std::exp(I * ( phi * m)); + } +} +#endif + void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx, int ny, int nz, int nx_real, int ny_real, int nz_real, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P ) { @@ -51,7 +65,7 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R n_cells_potential = ( nx_local + 2*N_GHOST_POTENTIAL ) * ( ny_local + 2*N_GHOST_POTENTIAL ) * ( nz_local + 2*N_GHOST_POTENTIAL ); //Set Initial and dt used for the extrapolation of the potential; - //The first timestep the potetential in not extrapolated ( INITIAL = TRUE ) + //The first timestep the potential in not extrapolated ( INITIAL = TRUE ) INITIAL = true; dt_prev = 0; dt_now = 0; @@ -67,15 +81,28 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R //Set the Gravitational Constant ( units must be consistent ) Gconst = GN; - if (strcmp(P->init, "Spherical_Overdensity_3D")==0 || strcmp(P->init, "poissonTest") == 0){ + if (strcmp(P->init, "Spherical_Overdensity_3D")==0){ Gconst = 1; chprintf("WARNING: Using Gravitational Constant G=1.\n"); } + + #ifdef POISSON_TEST + Gconst = 1; + chprintf("WARNING: Using Gravitational Constant G=1.\n"); + #endif #ifdef TIDES Gconst = G_CGS; chprintf("WARNING: Using Gravitational Constant in cgs units.\n"); #endif//TIDES + + #if defined TIDES || defined POISSON_TEST + Q = ( std::complex **) malloc((P->lmaxBoundaries + 1) * sizeof(std::complex *)); + for ( int l = 0; l < P->lmaxBoundaries + 1; l++ ){ + Q[l] = ( std::complex *) malloc((2*l+1)*sizeof(std::complex)); + } + lmaxBoundaries = P->lmaxBoundaries; + #endif //Flag to transfer the Potential boundaries TRANSFER_POTENTIAL_BOUNDARIES = false; diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index cabecaacf..c92ab36cc 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -4,6 +4,11 @@ #include #include"../global.h" +#if defined TIDES || defined POISSON_TEST +#include +#endif//TIDES + + #ifdef PFFT #include"potential_PFFT_3D.h" #endif @@ -107,7 +112,14 @@ class Grav3D #ifdef SOR Potential_SOR_3D Poisson_solver; - #endif + + #if defined TIDES || defined POISSON_TEST + std::complex **Q; + Real center[3]; + int lmaxBoundaries; + #endif//TIDES + + #endif//SOR #ifdef PARIS #if (defined(PFFT) || defined(CUFFT) || defined(SOR)) @@ -170,6 +182,10 @@ class Grav3D void Copy_Isolated_Boundaries_To_GPU( struct parameters *P ); #endif + #if defined TIDES || defined POISSON_TEST + std::complex Y(int l, int m, Real theta, Real phi); + #endif + }; diff --git a/src/gravity/gravity_boundaries.cpp b/src/gravity/gravity_boundaries.cpp index 322608aed..4f41bd383 100644 --- a/src/gravity/gravity_boundaries.cpp +++ b/src/gravity/gravity_boundaries.cpp @@ -6,6 +6,12 @@ #include "../grid3D.h" #include "grav3D.h" +#if defined TIDES || defined POISSON_TEST +//#include "../tides/special.h" +#include "complex" +#include "../error_handling.h" +#endif//TIDES || POISSON_TEST + #if defined (GRAV_ISOLATED_BOUNDARY_X) || defined (GRAV_ISOLATED_BOUNDARY_Y) || defined(GRAV_ISOLATED_BOUNDARY_Z) void Grid3D::Compute_Potential_Boundaries_Isolated( int dir ){ @@ -76,7 +82,7 @@ void Grid3D::Set_Potential_Boundaries_Isolated( int direction, int side, int *fl if ( side == 0 ) id_grid = (i+nGHST) + (k)*nx_g + (j+nGHST)*nx_g*ny_g; if ( side == 1 ) id_grid = (i+nGHST) + (k+ny_local+nGHST)*nx_g + (j+nGHST)*nx_g*ny_g; } - if ( direction == 1 ){ + if ( direction == 2 ){ if ( side == 0 ) id_grid = (i+nGHST) + (j+nGHST)*nx_g + (k)*nx_g*ny_g; if ( side == 1 ) id_grid = (i+nGHST) + (j+nGHST)*nx_g + (k+nz_local+nGHST)*nx_g*ny_g; } @@ -100,8 +106,6 @@ void Grid3D::Compute_Potential_Isolated_Boundary( int direction, int side, int Ly_local = Grav.ny_local * Grav.dy; Lz_local = Grav.nz_local * Grav.dz; - - #ifdef GRAV_ISOLATED_BOUNDARY_X if ( direction == 0 ){ domain_l = Grav.xMin; @@ -129,21 +133,21 @@ void Grid3D::Compute_Potential_Isolated_Boundary( int direction, int side, int if ( side == 1 ) pot_boundary = Grav.F.pot_boundary_z1; } #endif - + +/* Real M, cm_pos_x, cm_pos_y, cm_pos_z, pos_x, pos_y, pos_z, r, delta_x, delta_y, delta_z; M = 0.1005; cm_pos_x = 0.; cm_pos_y = 0.; cm_pos_z = 0.; - - #ifdef TIDES - M = S.Mstar; - cm_pos_x = 0.0; - cm_pos_y = 0.0; - cm_pos_z = 0.0; - #endif//TIDES - +*/ + int i, j, k, id; + Real pos[3], r; + #if defined TIDES || defined POISSON_TEST + std::complex potC; + Real phi, theta; + #endif Real pot_val; for ( k=0; k 1.e-15 * fabs(real(potC)) ) { + printf("Potential is complex, exiting!\n"); + chexit(-1); + } + else{ + pot_val = real(potC); + } + #endif//TIDES || POISSON_TEST pot_boundary[id] = pot_val; diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index c2bf8a544..2c0a45770 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -353,6 +353,11 @@ void Grid3D::Compute_Gravitational_Potential( struct parameters *P ){ // #endif Grav.BC_FLAGS_SET = true; } + + #if defined TIDES || defined POISSON_TEST +// Computes the moments required for the multipole expansion at the boundaries and assigns them to Grav.Q + getMoments(); + #endif//TIDES #ifdef GRAV_ISOLATED_BOUNDARY_X if ( Grav.boundary_flags[0] == 3 ) Compute_Potential_Boundaries_Isolated(0); @@ -370,7 +375,6 @@ void Grid3D::Compute_Gravitational_Potential( struct parameters *P ){ // chprintf("Isolated Z\n"); #endif - //Solve Poisson Equation to compute the potential //Poisson Equation: laplacian( phi ) = 4 * pi * G / scale_factor * ( dens - dens_average ) #ifdef SOR diff --git a/src/grid3D.h b/src/grid3D.h index 802568539..3ca369a66 100644 --- a/src/grid3D.h +++ b/src/grid3D.h @@ -755,6 +755,10 @@ class Grid3D void poissonTest( struct parameters P ); #endif + #if defined TIDES || POISSON_TEST + void getMoments(); + #endif + }; diff --git a/src/initial_conditions.cpp b/src/initial_conditions.cpp index 2837e81ba..ab15ceea8 100644 --- a/src/initial_conditions.cpp +++ b/src/initial_conditions.cpp @@ -1305,18 +1305,18 @@ void Grid3D::poissonTest( struct parameters P ){ // Roseanne's density field if ( r < 1. ){ for (int l = 0; l < 6; l++){ - C.density[id] += P.c[l] * pow(r, l) * pow(1. - r * r, 3.) * gsl_sf_legendre_Pl(l, cos(coords[P.d[l]] / r)); + C.density[id] += P.c[l] * pow(r, l) * pow(1. - r * r, 3.) * gsl_sf_legendre_Pl(l, coords[P.d[l]] / r); C.analyticalPotential[id] += P.c[l] * M_PI * ( - 0.5 * pow(r, l + 8.) / ( 2. * l + 9. ) + 2. * pow(r, l + 6.) / ( 2. * l + 7. ) - 3. * pow(r, l + 4.) / ( 2. * l + 5. ) + 2. * pow(r, l + 2.) / ( 2. * l + 3. ) - 0.5 * pow(r, l ) / ( 2. * l + 1. ) - ) * gsl_sf_legendre_Pl(l, cos(coords[P.d[l]] / r)); + ) * gsl_sf_legendre_Pl(l, coords[P.d[l]] / r); } } else{ for ( int l = 0; l < 6; l++){ - C.analyticalPotential[id] += - P.c[l] * 64. * M_PI * gsl_sf_legendre_Pl(l, cos(coords[P.d[l]] / r)) * 3. / ( 2 * l + 9 ) / ( 2 * l + 7 ) / ( 2 * l + 5 ) / ( 2 * l + 3 ) / ( 2 * l + 1 ) / pow(r, l + 1.); + C.analyticalPotential[id] += - P.c[l] * 64. * M_PI * gsl_sf_legendre_Pl(l, coords[P.d[l]] / r) * 3. / ( 2 * l + 9 ) / ( 2 * l + 7 ) / ( 2 * l + 5 ) / ( 2 * l + 3 ) / ( 2 * l + 1 ) / pow(r, l + 1.); } } diff --git a/src/mpi_routines.cpp b/src/mpi_routines.cpp index b08d22dd1..d60206249 100644 --- a/src/mpi_routines.cpp +++ b/src/mpi_routines.cpp @@ -9,6 +9,10 @@ #include "MPI_Comm_node.h" #include +#if defined TIDES || defined POISSON_TEST +#include "complex" +#endif + /*Global MPI Variables*/ int procID; /*process rank*/ int nproc; /*number of processes in global comm*/ @@ -21,11 +25,13 @@ MPI_Comm world; /*global communicator*/ MPI_Comm node; /*global communicator*/ MPI_Datatype MPI_CHREAL; /*set equal to MPI_FLOAT or MPI_DOUBLE*/ +MPI_Datatype MPI_CHCOMPLEX; #ifdef PARTICLES MPI_Datatype MPI_PART_INT; /*set equal to MPI_INT or MPI_LONG*/ #endif + //MPI_Requests for nonblocking comm MPI_Request *send_request; MPI_Request *recv_request; @@ -153,7 +159,14 @@ void InitializeChollaMPI(int *pargc, char **pargv[]) #if PRECISION == 2 MPI_CHREAL = MPI_DOUBLE; #endif /*PRECISION*/ - + + #if PRECISION == 1 + MPI_CHCOMPLEX = MPI_COMPLEX; + #endif + #if PRECISION == 2 + MPI_CHCOMPLEX = MPI_DOUBLE_COMPLEX; + #endif + #ifdef PARTICLES #ifdef PARTICLES_LONG_INTS MPI_PART_INT = MPI_LONG; @@ -752,6 +765,18 @@ Real ReduceRealSum(Real x) return y; } +std::complex ReduceComplexSum(std::complex x){ + std::complex in = x; + std::complex out; + std::complex y; + + MPI_Allreduce(&in, &out, 1, MPI_CHCOMPLEX, MPI_SUM, world); + + y = (std::complex) out; + + return y; +} + #ifdef PARTICLES /* MPI reduction wrapper for sum(part_int)*/ Real ReducePartIntSum(part_int_t x) diff --git a/src/mpi_routines.h b/src/mpi_routines.h index c7a7769e7..646b11e50 100644 --- a/src/mpi_routines.h +++ b/src/mpi_routines.h @@ -11,6 +11,10 @@ #include "fftw3-mpi.h" #endif /*FFTW*/ +#if defined TIDES || defined POISSON_TEST +#include "complex" +#endif + /*Global MPI Variables*/ extern int procID; /*process rank*/ extern int nproc; /*number of processes in global comm*/ @@ -151,6 +155,9 @@ Real ReduceRealAvg(Real x); /* MPI reduction wrapper for sum(Real)*/ Real ReduceRealSum(Real x); +/* MPI reduction wrapper for sum(Complex)*/ +std::complex ReduceComplexSum(std::complex x); + #ifdef PARTICLES /* MPI reduction wrapper for sum(part_int)*/ Real ReducePartIntSum(part_int_t x); diff --git a/src/special.h.old b/src/special.h.old new file mode 100644 index 000000000..8861fed4e --- /dev/null +++ b/src/special.h.old @@ -0,0 +1,15 @@ +#include +#include +#include + +std::complex Y(int l, int m, double theta, double phi){ + + const std::complex I(0.0,1.0); + if ( m < 0 ){ + return pow(-1., -m) * conj(Y(l, -m, theta, phi)); + } + else{ + return gsl_sf_legendre_sphPlm(l, m, cos(theta)) * std::exp(I * ( phi * m)); + } + +} diff --git a/src/tides/multipole.cpp b/src/tides/multipole.cpp new file mode 100644 index 000000000..a7402c22a --- /dev/null +++ b/src/tides/multipole.cpp @@ -0,0 +1,97 @@ +#include "../global.h" +#include "../grid3D.h" +#include "../io.h" + +#ifdef MPI_CHOLLA +#include "../mpi_routines.h" +#endif + +void Grid3D::getMoments(){ + + int id; + Real r, phi, theta, rhosq, totrhosq, totrhosqtemp; + Real pos[3], centertemp[3]; + std::complex Qtemp; + +// Find the center of the multipole expansion according to Couch et al. 2013 + totrhosqtemp = 0.; + for ( int ii = 0; ii < 3; ii++ ) centertemp[ii] = 0.; + + for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { + for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { + for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { + + id = i + j*H.nx + k*H.nx*H.ny; + Get_Position(i, j, k, &pos[0], &pos[1], &pos[2]); + rhosq = C.density[id] * C.density[id]; + + for ( int ii = 0; ii < 3; ii++ ) centertemp[ii] += rhosq * pos[ii]; + totrhosqtemp += rhosq; + + } + } + } + + #ifdef MPI_CHOLLA + totrhosq = ReduceRealSum(totrhosqtemp); + for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] = ReduceRealSum(centertemp[ii]); + #else + totrhosq = totrhosqtemp; + for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] = centertemp[ii]; + #endif//MPI_CHOLLA + + for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] /= totrhosq; + +/* + Grav.center[0] = 0.; + Grav.center[1] = 0.; + Grav.center[2] = 0.; +*/ + chprintf("Center: %.5e, %.5e, %.5e\n", Grav.center[0], Grav.center[1], Grav.center[2]); + +// Get the multipole moments + for ( int l = 0; l < Grav.lmaxBoundaries + 1; l++ ){ + for ( int m = - l; m < l + 1; m++ ){ + + Qtemp = 0.; + + for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { + for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { + for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { + +// Get the x, y, and z coordinates of this point with respect to the center of the expansion + id = i + j*H.nx + k*H.nx*H.ny; + Get_Position(i, j, k, &pos[0], &pos[1], &pos[2]); + for ( int ii = 0; ii < 3; ii++) pos[ii] -= Grav.center[ii]; + +// Turn into spherical coordinates + r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); + phi = atan2(pos[1], pos[0]); + theta = acos( pos[2] / r ); + +// Integrate + Qtemp += pow(r, l) * conj(Grav.Y(l, m, theta, phi)) * C.density[id]; + } + } + } + + #ifdef MPI_CHOLLA + Grav.Q[l][m + l] = ReduceComplexSum(Qtemp); + #else + Grav.Q[l][m + l] = Qtemp; + #endif//MPI_CHOLLA + + Grav.Q[l][m + l] *= H.dx * H.dy * H.dz; + + chprintf("Q[%i][%i]=%.5e+(%.5e)i\n", l, m, real(Grav.Q[l][m+l]), imag(Grav.Q[l][m+l])); + + } + } + + Real testphi = 0.2532; + Real testtheta = 0.9758; + int testm = -1; + int testl = 2; + chprintf("Y(%i, %i, %.5e, %.5e)=%.5e+(%.5e)i\n", testl, testm, testtheta, testphi, real(Grav.Y(testl,testm,testtheta, testphi)), imag(Grav.Y(testl, testm, testtheta, testphi))); + +} From dc86faeb091420c3496c5e47133d33023b77ed4c Mon Sep 17 00:00:00 2001 From: ryarza Date: Mon, 2 Nov 2020 05:58:05 -0800 Subject: [PATCH 02/21] fixed some things --- Makefile | 16 +- src/global.cpp | 83 ++++-- src/global.h | 14 +- src/gravity/grav3D.cpp | 40 ++- src/gravity/grav3D.h | 20 +- src/gravity/gravity_boundaries.cpp | 72 ++---- src/gravity/gravity_functions.cpp | 14 +- src/gravity/multipole.cu | 377 ++++++++++++++++++++++++++++ src/gravity/potential_SOR_3D.cpp | 6 +- src/gravity/potential_SOR_3D_gpu.cu | 30 +-- src/grid3D.cpp | 5 +- src/grid3D.h | 11 +- src/io.cpp | 65 +++-- src/main.cpp | 53 ++-- src/poisson_test.cpp | 45 ++++ src/special.h.old | 15 -- src/tides/multipole.cpp | 97 ------- src/tides/orbit.cpp | 308 ----------------------- src/tides/orbit.cu | 369 +++++++++++++++++++++++++++ src/tides/polytrope_functions.cpp | 117 ++++----- src/tides/tides.cpp | 52 +++- src/tides/tides.h | 28 +-- 22 files changed, 1136 insertions(+), 701 deletions(-) create mode 100644 src/gravity/multipole.cu create mode 100644 src/poisson_test.cpp delete mode 100644 src/special.h.old delete mode 100644 src/tides/multipole.cpp delete mode 100644 src/tides/orbit.cpp create mode 100644 src/tides/orbit.cu diff --git a/Makefile b/Makefile index c89884f9c..2a9db548b 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ OBJS := $(subst .c,.o,$(CFILES)) $(subst .cpp,.o,$(CPPFILES)) $(subst .cu,.o,$(G #To use GPUs, CUDA must be turned on here #Optional error checking can also be enabled -DFLAGS += -DCUDA #-DCUDA_ERROR_CHECK +DFLAGS += -DCUDA# -DCUDA_ERROR_CHECK #To use MPI, DFLAGS must include -DMPI_CHOLLA DFLAGS += -DMPI_CHOLLA -DBLOCK @@ -21,7 +21,7 @@ DFLAGS += -DMPI_CHOLLA -DBLOCK #DFLAGS += -DPRECISION=1 DFLAGS += -DPRECISION=2 -DFLAGS += -DH_CORRECTION +#DFLAGS += -DH_CORRECTION # Output #DFLAGS += -DBINARY @@ -38,14 +38,14 @@ DFLAGS += -DPPMP #DFLAGS += -DPPMC # Solver -#DFLAGS += -DEXACT +DFLAGS += -DEXACT #DFLAGS += -DROE -DFLAGS += -DHLLC +#DFLAGS += -DHLLC # Integrator -#DFLAGS += -DVL +DFLAGS += -DVL #DFLAGS += -DCTU -DFLAGS += -DSIMPLE +#DFLAGS += -DSIMPLE # Dual-Energy Formalism #DFLAGS += -DDE @@ -98,10 +98,10 @@ DFLAGS += -DN_OMP_THREADS=$(OMP_NUM_THREADS) #DFLAGS += -DPRINT_OMP_DOMAIN #Stellar simulation -#DFLAGS += -DTIDES +DFLAGS += -DTIDES # Test Poisson solver -DFLAGS += -DPOISSON_TEST +#DFLAGS += -DPOISSON_TEST # Cosmology simulation # DFLAGS += -DCOSMOLOGY diff --git a/src/global.cpp b/src/global.cpp index 756d94372..12f20f0a7 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -8,8 +8,8 @@ #include #include #include -#include"global.h" - +#include "global.h" +#include "io.h" /* Global variables */ Real gama; // Ratio of specific heats @@ -270,6 +270,14 @@ parms->scale_outputs_file[0] = '\0'; parms->Rstar = atof(value); else if (strcmp(name, "Mbh")==0) parms->Mbh = atof(value); + else if (strcmp(name, "relaxRate0")==0) + parms->relaxRate0 = atof(value); + else if (strcmp(name, "relaxRateBkgnd")==0) + parms->relaxRateBkgnd = atof(value); + else if (strcmp(name, "rhoAmb")==0) + parms->rhoAmb = atof(value); + else if (strcmp(name, "pAmb")==0) + parms->pAmb = atof(value); else if (strcmp(name, "polyN")==0) parms->polyN = atof(value); else if (strcmp(name, "rprt")==0) @@ -279,7 +287,6 @@ parms->scale_outputs_file[0] = '\0'; else if (strcmp(name, "r0rt") == 0) parms->r0rt = atof(value); #endif - #ifdef POISSON_TEST else if (strcmp(name, "c0")==0) parms->c[0] = atof(value); @@ -294,24 +301,19 @@ parms->scale_outputs_file[0] = '\0'; else if (strcmp(name, "c5")==0) parms->c[5] = atof(value); else if (strcmp(name, "d0")==0) - parms->d[0] = atof(value); + parms->d[0] = atoi(value); else if (strcmp(name, "d1")==0) - parms->d[1] = atof(value); + parms->d[1] = atoi(value); else if (strcmp(name, "d2")==0) - parms->d[2] = atof(value); + parms->d[2] = atoi(value); else if (strcmp(name, "d3")==0) - parms->d[3] = atof(value); + parms->d[3] = atoi(value); else if (strcmp(name, "d4")==0) - parms->d[4] = atof(value); + parms->d[4] = atoi(value); else if (strcmp(name, "d5")==0) - parms->d[5] = atof(value); + parms->d[5] = atoi(value); #endif//POISSON_TEST -#if defined TIDES || defined POISSON_TEST - else if (strcmp(name, "lmaxBoundaries")==0) - parms->lmaxBoundaries = atoi(value); -#endif - #ifdef SET_MPI_GRID // Set the MPI Processes grid [n_proc_x, n_proc_y, n_proc_z] else if (strcmp(name, "n_proc_x")==0) @@ -329,3 +331,56 @@ parms->scale_outputs_file[0] = '\0'; /* Close file */ fclose (fp); } + +void printCompileOptions(){ + +//Time integrator + chprintf("Integrator: "); + #ifdef CTU + chprintf("CTU"); + #elif defined VL + chprintf("VL"); + #elif defined CTU + chprintf("CTU"); + #else + chprintf("not recognized"); + #endif + +//CFL + chprintf(". CFL: %f", C_cfl); + +//Reconstruction + chprintf(". Reconstruction: "); + #ifdef PCM + chprintf("PCM"); + #elif defined PLMP + chprintf("PLMP"); + #elif defined PPLMC + chprintf("PPLMC"); + #elif defined PPMP + chprintf("PPMP"); + #elif defined PPMC + chprintf("PPMC"); + #else + chprintf("not recognized"); + #endif + +//Riemann solver + chprintf(". Riemann solver: "); + #ifdef EXACT + chprintf("exact"); + #elif defined ROE + chprintf("Roe"); + #elif defined HLLC + chprintf("HLLC"); + #else + chprintf("not recognized"); + #endif + + chprintf("\n"); + + #ifdef H_CORRECTION + chprintf("H correction enabled\n"); + #endif + +} diff --git a/src/global.h b/src/global.h index 07c2d9fda..36a94f350 100644 --- a/src/global.h +++ b/src/global.h @@ -50,8 +50,8 @@ typedef double Real; #define LOG_FILE_NAME "run_output.log" //Conserved Floor Values -#define TEMP_FLOOR 1e0 -#define DENS_FLOOR 1e-18 +#define TEMP_FLOOR 1e-3 +#define DENS_FLOOR 1e-24 //Parameter for Enzo dual Energy Condition #define DE_ETA_1 0.001 //Ratio of U to E for wich Inetrnal Energy is used to compute the Pressure @@ -236,10 +236,14 @@ struct parameters Real Mstar; Real Rstar; Real Mbh; + Real pAmb; + Real rhoAmb; Real tRelaxtDyn; Real polyN; Real rprt; Real r0rt; + Real relaxRate0; + Real relaxRateBkgnd; #endif//TIDES #ifdef POISSON_TEST @@ -247,10 +251,6 @@ struct parameters int d[6]; #endif -#if defined POISSON_TEST || defined TIDES - int lmaxBoundaries; -#endif - #ifdef COSMOLOGY Real H0; Real Omega_M; @@ -276,5 +276,7 @@ struct parameters * \brief Reads the parameters in the given file into a structure. */ extern void parse_params (char *param_file, struct parameters * parms); +extern void printCompileOptions(); + #endif //GLOBAL_H diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index 0485f8f82..08a7f5ddf 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -13,24 +13,8 @@ #include "../parallel_omp.h" #endif -#if defined TIDES || defined POISSON_TEST -#include "complex" -#endif - Grav3D::Grav3D( void ){} -#if defined TIDES || defined POISSON_TEST -std::complex Grav3D::Y(int l, int m, Real theta, Real phi){ - const std::complex I(0.0,1.0); - if ( m < 0 ){ - return pow(-1., -m) * conj(Y(l, -m, theta, phi)); - } - else{ - return gsl_sf_legendre_sphPlm(l, m, cos(theta)) * std::exp(I * ( phi * m)); - } -} -#endif - void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx, int ny, int nz, int nx_real, int ny_real, int nz_real, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P ) { @@ -95,14 +79,6 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R Gconst = G_CGS; chprintf("WARNING: Using Gravitational Constant in cgs units.\n"); #endif//TIDES - - #if defined TIDES || defined POISSON_TEST - Q = ( std::complex **) malloc((P->lmaxBoundaries + 1) * sizeof(std::complex *)); - for ( int l = 0; l < P->lmaxBoundaries + 1; l++ ){ - Q[l] = ( std::complex *) malloc((2*l+1)*sizeof(std::complex)); - } - lmaxBoundaries = P->lmaxBoundaries; - #endif //Flag to transfer the Potential boundaries TRANSFER_POTENTIAL_BOUNDARIES = false; @@ -154,6 +130,16 @@ void Grav3D::AllocateMemory_CPU(void) F.pot_boundary_z0 = (Real *) malloc(N_GHOST_POTENTIAL*nx_local*ny_local*sizeof(Real)); //array for the potential isolated boundary F.pot_boundary_z1 = (Real *) malloc(N_GHOST_POTENTIAL*nx_local*ny_local*sizeof(Real)); #endif + + #if defined TIDES || defined POISSON_TEST +//Real and imaginary parts of the multipole moments of the density distribution + ReQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); + ImQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); + Qblocks = ceil( ( nx_local * ny_local * nz_local ) / QTPB ); + bufferReQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); + bufferImQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); + #endif + } void Grav3D::Set_Boundary_Flags( int *flags ){ @@ -171,6 +157,12 @@ void Grav3D::Initialize_values_CPU(void){ F.potential_h[id_pot] = 0; F.potential_1_h[id_pot] = 0; } + + for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ + ReQ[i] = 0.; + ImQ[i] = 0.; + } + } void Grav3D::FreeMemory_CPU(void) diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index c92ab36cc..12aa38d9c 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -5,8 +5,9 @@ #include"../global.h" #if defined TIDES || defined POISSON_TEST -#include -#endif//TIDES +#define LMAX (5) +#define QTPB (128) +#endif #ifdef PFFT @@ -114,10 +115,15 @@ class Grav3D Potential_SOR_3D Poisson_solver; #if defined TIDES || defined POISSON_TEST - std::complex **Q; + Real *ReQ; + Real *ImQ; + Real *bufferReQ; + Real *bufferImQ; + int Qblocks; Real center[3]; - int lmaxBoundaries; - #endif//TIDES + int Qidx(int cidx, int l, int m); + void fillLegP(Real* legP, Real x); + #endif #endif//SOR @@ -182,10 +188,6 @@ class Grav3D void Copy_Isolated_Boundaries_To_GPU( struct parameters *P ); #endif - #if defined TIDES || defined POISSON_TEST - std::complex Y(int l, int m, Real theta, Real phi); - #endif - }; diff --git a/src/gravity/gravity_boundaries.cpp b/src/gravity/gravity_boundaries.cpp index 4f41bd383..a56c577a2 100644 --- a/src/gravity/gravity_boundaries.cpp +++ b/src/gravity/gravity_boundaries.cpp @@ -6,12 +6,6 @@ #include "../grid3D.h" #include "grav3D.h" -#if defined TIDES || defined POISSON_TEST -//#include "../tides/special.h" -#include "complex" -#include "../error_handling.h" -#endif//TIDES || POISSON_TEST - #if defined (GRAV_ISOLATED_BOUNDARY_X) || defined (GRAV_ISOLATED_BOUNDARY_Y) || defined(GRAV_ISOLATED_BOUNDARY_Z) void Grid3D::Compute_Potential_Boundaries_Isolated( int dir ){ @@ -134,21 +128,11 @@ void Grid3D::Compute_Potential_Isolated_Boundary( int direction, int side, int } #endif -/* - Real M, cm_pos_x, cm_pos_y, cm_pos_z, pos_x, pos_y, pos_z, r, delta_x, delta_y, delta_z; - M = 0.1005; - cm_pos_x = 0.; - cm_pos_y = 0.; - cm_pos_z = 0.; -*/ - int i, j, k, id; - Real pos[3], r; + Real pos[3], r, pot_val; #if defined TIDES || defined POISSON_TEST - std::complex potC; - Real phi, theta; + Real phi, theta, Ylmfac, lfac; #endif - Real pot_val; for ( k=0; k 1.e-15 * fabs(real(potC)) ) { - printf("Potential is complex, exiting!\n"); - chexit(-1); - } - else{ - pot_val = real(potC); - } - #endif//TIDES || POISSON_TEST + pot_val *= Grav.Gconst; + +// TEMPORARY OFF: Sphere potential +// r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); +// pot_val = - G_CGS * 1.989e33 / r; +// TEMPORARY OFF: Compare to sphere potential +// printf("pot_val/pot_sphere: %.10e\n", pot_val / ( - G_CGS * 1.989e33 / r )); + #endif pot_boundary[id] = pot_val; } } - } + } } diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index 2c0a45770..e44477649 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -7,6 +7,7 @@ #ifdef CUDA #include "../cuda_mpi_routines.h" +#include"../global_cuda.h" #endif #ifdef PARALLEL_OMP @@ -356,8 +357,8 @@ void Grid3D::Compute_Gravitational_Potential( struct parameters *P ){ #if defined TIDES || defined POISSON_TEST // Computes the moments required for the multipole expansion at the boundaries and assigns them to Grav.Q - getMoments(); - #endif//TIDES + setMoments(); + #endif #ifdef GRAV_ISOLATED_BOUNDARY_X if ( Grav.boundary_flags[0] == 3 ) Compute_Potential_Boundaries_Isolated(0); @@ -501,16 +502,17 @@ void Grid3D::Extrapolate_Grav_Potential_Function( int g_start, int g_end ){ } -/* +// TEMPORARY OFF: NO TIDAL POTENTIAL #ifdef TIDES + // Add the extrapolated tidal potential, but only if the relaxation has ended! + if ( S.relaxed == 1 ){ Get_Position(i+nGHST, j+nGHST, k+nGHST, &posx, &posy, &posz); pot_extrp += S.getTidalPotential(posx, posy, posz, S.extCij, S.extCijk, S.extCijkl); -// chprintf("Added extrapolated tidal potential\n"); } - #endif//TIDES -*/ + + #endif #ifdef COSMOLOGY //For cosmological simulation the potential is transformrd to 'comuving coordinates' diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu new file mode 100644 index 000000000..f829f1c62 --- /dev/null +++ b/src/gravity/multipole.cu @@ -0,0 +1,377 @@ +#if ( defined TIDES || defined POISSON_TEST ) && defined CUDA && defined GRAVITY + +#include "../global.h" +#include "../grid3D.h" +#include "grav3D.h" +#include "../io.h" + +#ifdef MPI_CHOLLA +#include "../mpi_routines.h" +#endif + +#ifdef POISSON_TEST +#include +#endif + +//The arrays we use for Legendre polynomials are 1D, so we need to do some index juggling to turn the tuple (thread number, l, m) into a single number +int Grav3D::Qidx(int cidx, int l, int m){ + + if ( m > l || l > LMAX || m < 0 ){ + printf("Wrong parameters!\n"); + return -1; + } + + int stride = ( 1 + LMAX ) * ( 2 + LMAX ) / 2; + int substride = l * ( l + 1 ) / 2; + return cidx * stride + substride + m; + +} + +//Same but for the device +__device__ int dQidx(int cidx, int l, int m){ + + if ( m > l || l > LMAX || m < 0 ){ + printf("Wrong parameters!\n"); + return -1; + } + + int stride = ( 1 + LMAX ) * ( 2 + LMAX ) / 2; + int substride = l * ( l + 1 ) / 2; + return cidx * stride + substride + m; + +} + +//Recursively computes Legendre polynomials up to order LMAX. Returns 1D array +__device__ void fillLegP(Real* legP, Real x) +{ + + for ( int l = 0; l <= LMAX; l++ ){ + for ( int m = 0; m <= l; m++ ){ + legP[dQidx(0,l,m)] = 0.; + } + } + +//Initial polynomial for recursion relations + legP[dQidx(0,0,0)] = 1./sqrt(4.*M_PI); + +//Diagonal + for( int m = 1; m <= LMAX; m++) + { + legP[dQidx(0,m,m)] = - sqrt( 1. + 1. / 2. / m ) * sqrt( 1. - x * x ) * legP[dQidx(0,m-1,m-1)]; + } + + for( int m = 0; m < LMAX; m++) + { + legP[dQidx(0,m+1,m)] = sqrt( 2. * m + 3. ) * x * legP[dQidx(0,m,m)]; + } + + for( int m = 0; m <= LMAX; m++){ + for( int l = m + 2; l <= LMAX; l++){ + Real c1 = sqrt( ((2.0*l+1)*(2.0*l-1)) / ((l+m)*(l-m))); + Real c2 = sqrt( (2.0*l+1)*(l-m-1.0)*(l+m-1.0) / ((2.0*l-3)*(l-m)*(l+m))); + legP[dQidx(0,l,m)] = c1 * x * legP[dQidx(0,l-1,m)] - c2 * legP[dQidx(0,l-2,m)]; + } + } + +} + +void Grav3D::fillLegP(Real* legP, Real x){ + + for ( int l = 0; l <= LMAX; l++ ){ + for ( int m = 0; m <= l; m++ ){ + legP[Qidx(0,l,m)] = 0.; + } + } + +//Initial polynomial for recursion relations + legP[Qidx(0,0,0)] = 1./sqrt(4.*M_PI); + +//Diagonal + for( int m = 1; m <= LMAX; m++) + { + legP[Qidx(0,m,m)] = - sqrt( 1. + 1. / 2. / m ) * sqrt( 1. - x * x ) * legP[Qidx(0,m-1,m-1)]; + } + + for( int m = 0; m < LMAX; m++) + { + legP[Qidx(0,m+1,m)] = sqrt( 2. * m + 3. ) * x * legP[Qidx(0,m,m)]; + } + + for( int m = 0; m <= LMAX; m++){ + for( int l = m + 2; l <= LMAX; l++){ + Real c1 = sqrt( ((2.0*l+1)*(2.0*l-1)) / ((l+m)*(l-m))); + Real c2 = sqrt( (2.0*l+1)*(l-m-1.0)*(l+m-1.0) / ((2.0*l-3)*(l-m)*(l+m))); + legP[Qidx(0,l,m)] = c1 * x * legP[Qidx(0,l-1,m)] - c2 * legP[Qidx(0,l-2,m)]; + } + } + +} + +__device__ int tidFake(int tid_x, int tid_y, int tid_z, int n_ghost, int *n){ + + int tid = ( tid_z + n_ghost ) * n[0] * n[1] + ( tid_y + n_ghost ) * n[0] + ( tid_x + n_ghost ); + #ifdef POISSON_TEST + int tid_z_fake = tid / ( n[0] * n[1]); + int tid_y_fake = ( tid - tid_z_fake * n[0] * n[1] ) / n[0]; + int tid_x_fake = tid - tid_z_fake * n[0] * n[1] - tid_y_fake * n[0]; + if ( tid_x_fake < n_ghost || tid_y_fake < n_ghost || tid_z_fake < n_ghost || tid_z_fake > n[2] - n_ghost || tid_y_fake > n[1] - n_ghost || tid_x_fake > n[0] - n_ghost || tid >= n[0] * n[1] * n[2] || tid_z_fake != tid_z + n_ghost || tid_y_fake != tid_y + n_ghost || tid_x_fake != tid_x + n_ghost){ + printf("Something wrong in cell mapping.\n"); + } + #endif + return tid; +} + +__global__ void QlmKernel(Real *rho, Real *center, Real *bounds, Real *dx, Real rmpole, int *n, int n_ghost, Real *partialReQ, Real *partialImQ){ + + __shared__ Real ReQ[QTPB * (1 + LMAX ) * (2 + LMAX ) / 2]; + __shared__ Real ImQ[QTPB * (1 + LMAX ) * (2 + LMAX ) / 2]; + + for ( int i = threadIdx.x * ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i < ( threadIdx.x + 1 ) * ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ + ReQ[i] = 0.; + ImQ[i] = 0.; + } + + int nreal[3]; + for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; + int nrealcells = nreal[0] * nreal[1] * nreal[2]; + + int tid = threadIdx.x + blockIdx.x * blockDim.x; + int tid_z = tid / ( nreal[0] * nreal[1] ); + int tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; + int tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + int cidx = threadIdx.x; + int stride = blockDim.x * gridDim.x; + + Real r, phi, fac, pos[3], dev_legP[(1+LMAX)*(2+LMAX)/2]; + + while ( tid < nrealcells ){ + + tid_z = tid / ( nreal[0] * nreal[1] ); + tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; + tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + + pos[0] = bounds[0] + dx[0] * ( tid_x + 0.5) - center[0]; + pos[1] = bounds[1] + dx[1] * ( tid_y + 0.5) - center[1]; + pos[2] = bounds[2] + dx[2] * ( tid_z + 0.5) - center[2]; + r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); + + phi = atan2(pos[1], pos[0]); + + fillLegP(dev_legP, pos[2] / r); + + for ( int l = 0; l <= LMAX; l++ ){ + fac = pow(r, l) * rho[tidFake(tid_x, tid_y, tid_z, n_ghost, n)]; + + for ( int m = 0; m <= l; m++ ){ + ReQ[dQidx(cidx, l, m)] += dev_legP[dQidx(0,l,m)] * fac * cos(m * phi); + ImQ[dQidx(cidx, l, m)] += dev_legP[dQidx(0,l,m)] * fac * sin(m * phi); + } + } + tid += stride; + } + + __syncthreads(); + + int i = blockDim.x / 2; + while ( i > 0 ){ + if ( cidx < i){ + for ( int l = 0; l <= LMAX; l++ ){ + for ( int m = 0; m <= l; m++ ){ + ReQ[dQidx(cidx, l, m)] += ReQ[dQidx(cidx + i, l, m)]; + ImQ[dQidx(cidx, l, m)] += ImQ[dQidx(cidx + i, l, m)]; + } + } + } + __syncthreads(); + i /= 2; + } + + if ( cidx == 0 ){ + for ( int l = 0; l <= LMAX; l++ ){ + for ( int m = 0; m <= l; m++ ){ + partialReQ[dQidx(blockIdx.x, l, m)] = ReQ[dQidx(0, l, m)]; + partialImQ[dQidx(blockIdx.x, l, m)] = ImQ[dQidx(0, l, m)]; + } + } + } +} + +/* +__global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_ghost, Real *partialCenter){ + + + int nreal[3]; + for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; + int nrealcells = nreal[0] * nreal[1] * nreal[2]; + int tid = threadIdx.x + blockIdx.x * blockDim.x; + int tid_z = tid / ( nreal[0] * nreal[1] ); + int tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; + int tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + int cidx = threadIdx.x; + int stride = blockDim.x * gridDim.x; + + while ( tid < nrealcells ){ + + tid_z = tid / ( nreal[0] * nreal[1] ); + tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; + tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + + pos[0] = bounds[0] + dx[0] * ( tid_x + 0.5) - center[0]; + pos[1] = bounds[1] + dx[1] * ( tid_y + 0.5) - center[1]; + pos[2] = bounds[2] + dx[2] * ( tid_z + 0.5) - center[2]; + r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); + rhosq= rho[tidFake(...)] * rho[tidFake(...)]; + + + +} +*/ + +void Grid3D::setMoments(){ + + Real dx[3], bounds[3]; + int n[3]; + dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; + Real dV = dx[0] * dx[1] * dx[2]; + bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; + n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; + + #ifdef POISSON_TEST + struct timeval timecheck; + long start, end; + + gettimeofday(&timecheck, NULL); + start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; + #endif +/* + int id; + Real rhosq, totrhosq; + Real pos[3]; + +// Find the center of the multipole expansion according to Couch et al. 2013 + totrhosq = 0.; + + for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + + for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { + for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { + for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { + + id = i + j*H.nx + k*H.nx*H.ny; + Get_Position(i, j, k, &pos[0], &pos[1], &pos[2]); + rhosq = C.density[id] * C.density[id]; + + for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] += rhosq * pos[ii]; + totrhosq += rhosq; + + } + } + } + + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); + #endif//MPI_CHOLLA + + for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; +*/ + for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + +// chprintf(" Center of the multipole expansion: %.5e, %.5e, %.5e\n", Grav.center[0], Grav.center[1], Grav.center[2]); + + #ifdef POISSON_TEST + gettimeofday(&timecheck, NULL); + end = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; + + Real timeused = ( (Real) ( end - start ) ); + chprintf("Computing the center of the expansion took %.10e milliseconds\n", timeused); + + + gettimeofday(&timecheck, NULL); + start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; + #endif + + Real *dev_rho, *dev_center, *dev_bounds, *dev_dx, *dev_partialReQ, *dev_partialImQ; + int *dev_n; + +//Allocate memory in GPU + cudaMalloc( (void**)&dev_rho, n[0] * n[1] * n[2] *sizeof(Real) ); + cudaMalloc( (void**)&dev_center, 3 * sizeof(Real)); + cudaMalloc( (void**)&dev_bounds, 3 * sizeof(Real)); + cudaMalloc( (void**)&dev_n, 3 * sizeof(int)); + cudaMalloc( (void**)&dev_dx, 3 * sizeof(Real)); + cudaMalloc( (void**)&dev_partialReQ, Grav.Qblocks*((1 + LMAX ) * (2 + LMAX ) / 2)*sizeof(Real) ); + cudaMalloc( (void**)&dev_partialImQ, Grav.Qblocks*((1 + LMAX ) * (2 + LMAX ) / 2)*sizeof(Real) ); + +//Copy inputs to GPU + cudaMemcpy( dev_rho, C.density, n[0] * n[1] * n[2]*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( dev_center, Grav.center, 3*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( dev_bounds, bounds, 3*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( dev_n, n, 3*sizeof(int), cudaMemcpyHostToDevice); + cudaMemcpy( dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); + +//Call Kernel + cudaDeviceSynchronize(); + QlmKernel<<>>(dev_rho, dev_center, dev_bounds, dev_dx, H.xdglobal / 2., dev_n, H.n_ghost, dev_partialReQ, dev_partialImQ); + +//Copy result to CPU + cudaMemcpy(Grav.bufferReQ, dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); + cudaMemcpy(Grav.bufferImQ, dev_partialImQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); + +//Free GPU + cudaFree(dev_rho); + cudaFree(dev_center); + cudaFree(dev_bounds); + cudaFree(dev_dx); + cudaFree(dev_n); + cudaFree(dev_partialReQ); + cudaFree(dev_partialImQ); + + for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ + Grav.ReQ[i] = 0.; + Grav.ImQ[i] = 0.; + } + +//Do final reduction on CPU + for ( int l = 0; l <= LMAX; l++ ){ + for ( int m = 0; m <= l; m++ ){ + for ( int b = 0; b < Grav.Qblocks; b++ ){ + + Grav.ReQ[Grav.Qidx(0,l,m)] += Grav.bufferReQ[Grav.Qidx(b, l, m)]; + Grav.ImQ[Grav.Qidx(0,l,m)] += Grav.bufferImQ[Grav.Qidx(b, l, m)]; + + } + + Grav.ReQ[Grav.Qidx(0,l,m)] *= dV; + Grav.ImQ[Grav.Qidx(0,l,m)] *= dV; + + } + } + + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, Grav.ReQ, (1 + LMAX ) * (2 + LMAX ) / 2, MPI_CHREAL, MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, Grav.ImQ, (1 + LMAX ) * (2 + LMAX ) / 2, MPI_CHREAL, MPI_SUM, world); + #endif + + #ifdef POISSON_TEST + gettimeofday(&timecheck, NULL); + end = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; + + timeused = ( (Real) ( end - start ) ); + chprintf("Computing Qlm took %.10e milliseconds\n", timeused); + + int lmidx; + for ( int l = 0; l <= LMAX; l++ ){ + for ( int m = 0; m <= l; m++ ){ + lmidx = Grav.Qidx(0,l,m); + + chprintf("ReQ[%i][%i]=%.20e\n", l, m, Grav.ReQ[lmidx]); + chprintf("ImQ[%i][%i]=%.20e\n", l, m, Grav.ImQ[lmidx]); + + } + } + #endif + +} + +#endif diff --git a/src/gravity/potential_SOR_3D.cpp b/src/gravity/potential_SOR_3D.cpp index b525388ba..a5f37722c 100644 --- a/src/gravity/potential_SOR_3D.cpp +++ b/src/gravity/potential_SOR_3D.cpp @@ -131,8 +131,10 @@ void Grid3D::Get_Potential_SOR( Real Grav_Constant, Real dens_avrg, Real current Grav.Poisson_solver.Set_Isolated_Boundary_Conditions( Grav.boundary_flags, P ); - #if defined POISSON_TEST || defined TIDES + #ifdef POISSON_TEST Real epsilon = 1.e-10; + #elif defined TIDES + Real epsilon = 1.e-8; #else Real epsilon = 1.e-4; #endif @@ -218,7 +220,7 @@ void Potential_SOR_3D::Set_Isolated_Boundary_Conditions( int *boundary_flags, st if ( P->xl_bcnd != 3 && P->xu_bcnd != 3 && P->yl_bcnd != 3 && P->yu_bcnd != 3 && P->zl_bcnd != 3 && P->zu_bcnd != 3 ) return; - chprintf( " Setting Isolated Boundaries \n"); +// chprintf( " Setting Isolated Boundaries \n"); if ( boundary_flags[0] == 3 ) Set_Isolated_Boundary_GPU( 0, 0, F.boundary_isolated_x0_d ); if ( boundary_flags[1] == 3 ) Set_Isolated_Boundary_GPU( 0, 1, F.boundary_isolated_x1_d ); if ( boundary_flags[2] == 3 ) Set_Isolated_Boundary_GPU( 1, 0, F.boundary_isolated_y0_d ); diff --git a/src/gravity/potential_SOR_3D_gpu.cu b/src/gravity/potential_SOR_3D_gpu.cu index b7575e283..64668f33c 100644 --- a/src/gravity/potential_SOR_3D_gpu.cu +++ b/src/gravity/potential_SOR_3D_gpu.cu @@ -138,22 +138,23 @@ __global__ void Iteration_Step_SOR( int n_cells, Real *density_d, Real *potentia tid_pot = tid_x + tid_y*nx_pot + tid_z*nx_pot*ny_pot; // //Set neighbors ids - int indx_l, indx_r, indx_d, indx_u, indx_b, indx_t, indx_l2, indx_r2, indx_d2, indx_u2, indx_b2, indx_t2; + int indx_l, indx_r, indx_d, indx_u, indx_b, indx_t; +// int indx_l2, indx_r2, indx_d2, indx_u2, indx_b2, indx_t2; indx_l = tid_x-1; //Left - indx_l2 = tid_x-2; //Two to the left +// indx_l2 = tid_x-2; //Two to the left indx_r = tid_x+1; //Right - indx_r2 = tid_x+2; //Two to the right +// indx_r2 = tid_x+2; //Two to the right indx_d = tid_y-1; //Down - indx_d2 = tid_y-2; //Two down +// indx_d2 = tid_y-2; //Two down indx_u = tid_y+1; //Up - indx_u2 = tid_y+2; //Two up +// indx_u2 = tid_y+2; //Two up indx_b = tid_z-1; //Bottom - indx_b2 = tid_z-2; //Two bottom +// indx_b2 = tid_z-2; //Two bottom indx_t = tid_z+1; //Top - indx_t2 = tid_z+2; //Two top +// indx_t2 = tid_z+2; //Two top //Boundary Conditions are loaded to the potential array, the natural indices work! @@ -173,21 +174,22 @@ __global__ void Iteration_Step_SOR( int n_cells, Real *density_d, Real *potentia // indx_b = tid_z == n_ghost ? tid_z+1 : tid_z-1; //Bottom // indx_t = tid_z == nz_pot-n_ghost-1 ? tid_z-1 : tid_z+1; //Top - Real rho, phi_c, phi_l2, phi_l, phi_r, phi_r2, phi_d2, phi_d, phi_u, phi_u2, phi_b2, phi_b, phi_t, phi_t2, phi_new; + Real rho, phi_c, phi_l, phi_r, phi_d, phi_u, phi_b, phi_t, phi_new; +// Real phi_l2, phi_r2, phi_d2, phi_u2, phi_b2, phi_t2; rho = density_d[tid]; phi_c = potential_d[tid_pot]; - phi_l2 = potential_d[ indx_l2 + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; +// phi_l2 = potential_d[ indx_l2 + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; phi_l = potential_d[ indx_l + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; phi_r = potential_d[ indx_r + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; - phi_r2 = potential_d[ indx_r2 + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; - phi_d2 = potential_d[ tid_x + indx_d2 * nx_pot + tid_z * nx_pot * ny_pot ]; +// phi_r2 = potential_d[ indx_r2 + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; +// phi_d2 = potential_d[ tid_x + indx_d2 * nx_pot + tid_z * nx_pot * ny_pot ]; phi_d = potential_d[ tid_x + indx_d * nx_pot + tid_z * nx_pot * ny_pot ]; phi_u = potential_d[ tid_x + indx_u * nx_pot + tid_z * nx_pot * ny_pot ]; - phi_u2 = potential_d[ tid_x + indx_u2 * nx_pot + tid_z * nx_pot * ny_pot ]; - phi_b2 = potential_d[ tid_x + tid_y * nx_pot + indx_b2 * nx_pot * ny_pot ]; +// phi_u2 = potential_d[ tid_x + indx_u2 * nx_pot + tid_z * nx_pot * ny_pot ]; +// phi_b2 = potential_d[ tid_x + tid_y * nx_pot + indx_b2 * nx_pot * ny_pot ]; phi_b = potential_d[ tid_x + tid_y * nx_pot + indx_b * nx_pot * ny_pot ]; phi_t = potential_d[ tid_x + tid_y * nx_pot + indx_t * nx_pot * ny_pot ]; - phi_t2 = potential_d[ tid_x + tid_y * nx_pot + indx_t2 * nx_pot * ny_pot ]; +// phi_t2 = potential_d[ tid_x + tid_y * nx_pot + indx_t2 * nx_pot * ny_pot ]; /* if ( tid < 10 ){ diff --git a/src/grid3D.cpp b/src/grid3D.cpp index c3f2fdccf..7c91369fb 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -64,7 +64,7 @@ Grid3D::Grid3D(void) #ifdef PPMC H.n_ghost=4; #endif //PPMC - + #ifdef GRAVITY H.n_ghost_potential_offset = H.n_ghost - N_GHOST_POTENTIAL; #endif @@ -118,7 +118,8 @@ void Grid3D::Initialize(struct parameters *P) // Set the CFL coefficient (a global variable) C_cfl = 0.3; - C_cfl /= 5.; +//TEMPORARY ON: Lower CFL + C_cfl /= 3.; #ifndef MPI_CHOLLA diff --git a/src/grid3D.h b/src/grid3D.h index 3ca369a66..8a315eb68 100644 --- a/src/grid3D.h +++ b/src/grid3D.h @@ -607,12 +607,14 @@ class Grid3D void Uniform_Grid(); void Zeldovich_Pancake( struct parameters P ); - + + #ifdef TIDES // Initial Conditions for a Polytropic Star void Polytropic_Star( struct parameters &P ); // Relax the polytrope to achive hydrostatic equilibrium void Polytropic_Star_Relaxation( struct parameters &P ); + #endif #ifdef MPI_CHOLLA @@ -746,17 +748,18 @@ class Grid3D #endif #ifdef TIDES - void AccBh(Real posBhx, Real posBhy, Real posBhz, Real *accBhx, Real *accBhy, Real *accBhz); +// void AccBh(Real posBhx, Real posBhy, Real posBhz, Real *accBhx, Real *accBhy, Real *accBhz); void damp(); void updateCOM(); #endif #ifdef POISSON_TEST void poissonTest( struct parameters P ); + void poissonErrorNorm(); #endif - #if defined TIDES || POISSON_TEST - void getMoments(); + #if defined POISSON_TEST || defined TIDES + void setMoments(); #endif }; diff --git a/src/io.cpp b/src/io.cpp index 7d63703b3..3950045e4 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -596,36 +596,36 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) #ifdef TIDES - attribute_id = H5Acreate(file_id, "posFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "xFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.posFrame); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "velFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "vFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.velFrame); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "accFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "aFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.accFrame); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "posBh", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "xBH", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.posBh); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "velBh", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "vBH", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.velBh); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "accBh", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "aBH", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.accBh); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "posSt", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.posSt); + attribute_id = H5Acreate(file_id, "xstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.xstar); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "velSt", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.velSt); + attribute_id = H5Acreate(file_id, "vstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.vstar); status = H5Aclose(attribute_id); // attribute_id = H5Acreate(file_id, "accSt", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); @@ -1230,26 +1230,6 @@ void Grid3D::Write_Grid_HDF5(hid_t file_id) dims[2] = nz_dset; dataspace_id = H5Screate_simple(3, dims, NULL); - #ifdef POISSON_TEST - // Copy the analytical potential array to the memory buffer - for (int k=H.n_ghost; k 0.) G.Polytropic_Star_Relaxation( P ); - nfile = P.nfile; - chprintf("nfile after relaxation: %i\n", P.nfile); + if ( strcmp(P.init, "Polytropic_Star") == 0 && G.S.tRelax > 0. ){ + P.nfile = nfile; +// If solving a polytropic star, do the relaxation step to achive hydrostactic equilibrium + G.Polytropic_Star_Relaxation( P ); + nfile = P.nfile; + chprintf("nfile after relaxation: %i\n", P.nfile); + } + G.S.relaxed = 1; #endif -*/ #ifdef OUTPUT if (strcmp(P.init, "Read_Grid") != 0 || G.H.Output_Now ) { @@ -157,18 +160,10 @@ int main(int argc, char *argv[]) nfile++; #endif //OUTPUT +//If doing Poisson test, exit after first computation #ifdef POISSON_TEST - #ifdef MPI_CHOLLA - MPI_Barrier(world); - #endif//MPI_CHOLLA - chprintf("Poisson equation solved. Exiting now...\n"); - G.Reset(); - - #ifdef MPI_CHOLLA - MPI_Finalize(); - #endif//MPI_CHOLLA - - return 0; + G.poissonErrorNorm(); + exit(0); #endif//POISSON_TEST // increment the next output time @@ -209,16 +204,16 @@ int main(int argc, char *argv[]) #ifdef TIDES G.S.update(G.H.t, G.H.dt); - G.updateCOM(); #endif // Advance the grid by one timestep dti = G.Update_Hydro_Grid(); #ifdef TIDES +// TEMPORARY ON: No tides damping // Damp very low densities by a constant factor - G.damp(); - #endif//TIDES +// G.damp(); + #endif // update the simulation time ( t += dt ) G.Update_Time(); @@ -228,6 +223,10 @@ int main(int argc, char *argv[]) G.Compute_Gravitational_Potential( &P); #endif + #ifdef TIDES + G.updateCOM(); + #endif + // add one to the timestep count G.H.n_step++; diff --git a/src/poisson_test.cpp b/src/poisson_test.cpp new file mode 100644 index 000000000..7e77599dc --- /dev/null +++ b/src/poisson_test.cpp @@ -0,0 +1,45 @@ +#ifdef POISSON_TEST +#include "grid3D.h" +#include "io.h" + +#ifndef MPI_CHOLLA +#include "cmath" +#endif + +void Grid3D::poissonErrorNorm(){ + + Real l2norm; + Real deltasq = 0.; + + #ifndef MPI_CHOLLA + int nx_global = H.nx_real; + int ny_global = H.ny_real; + int nz_global = H.nz_real; + #endif + + int apotidx, potidx; + for ( int k = 0; k < H.nz_real; k++ ){ + for ( int j = 0; j < H.ny_real; j++ ){ + for ( int i = 0; i < H.nx_real; i++ ){ + apotidx = ( i + H.n_ghost ) + ( j + H.n_ghost ) * H.nx + ( k + H.n_ghost ) * H.nx * H.ny; + potidx = (i+N_GHOST_POTENTIAL) + (j+N_GHOST_POTENTIAL)*(Grav.nx_local+2*N_GHOST_POTENTIAL) + (k+N_GHOST_POTENTIAL)*(Grav.nx_local+2*N_GHOST_POTENTIAL)*(Grav.ny_local+2*N_GHOST_POTENTIAL); + +// printf("apot pot %.10e %.10e\n", Grav.F.potential_h[potidx], C.analyticalPotential[apotidx]); + if ( fabs(Grav.F.potential_h[potidx]) < 1.e-10 || fabs(C.analyticalPotential[apotidx]) < 1.e-10 ) chprintf("Potential is wrong...\n"); + + deltasq += pow( C.analyticalPotential[apotidx] - Grav.F.potential_h[potidx], 2. ); + } + } + } + + + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, &deltasq, 1, MPI_CHREAL, MPI_SUM, world); + #endif + + l2norm = sqrt( deltasq / nx_global / ny_global / nz_global ); + chprintf("L2 norm = %.20e\n", l2norm); + +} + +#endif diff --git a/src/special.h.old b/src/special.h.old deleted file mode 100644 index 8861fed4e..000000000 --- a/src/special.h.old +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include - -std::complex Y(int l, int m, double theta, double phi){ - - const std::complex I(0.0,1.0); - if ( m < 0 ){ - return pow(-1., -m) * conj(Y(l, -m, theta, phi)); - } - else{ - return gsl_sf_legendre_sphPlm(l, m, cos(theta)) * std::exp(I * ( phi * m)); - } - -} diff --git a/src/tides/multipole.cpp b/src/tides/multipole.cpp deleted file mode 100644 index a7402c22a..000000000 --- a/src/tides/multipole.cpp +++ /dev/null @@ -1,97 +0,0 @@ -#include "../global.h" -#include "../grid3D.h" -#include "../io.h" - -#ifdef MPI_CHOLLA -#include "../mpi_routines.h" -#endif - -void Grid3D::getMoments(){ - - int id; - Real r, phi, theta, rhosq, totrhosq, totrhosqtemp; - Real pos[3], centertemp[3]; - std::complex Qtemp; - -// Find the center of the multipole expansion according to Couch et al. 2013 - totrhosqtemp = 0.; - for ( int ii = 0; ii < 3; ii++ ) centertemp[ii] = 0.; - - for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { - for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { - for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { - - id = i + j*H.nx + k*H.nx*H.ny; - Get_Position(i, j, k, &pos[0], &pos[1], &pos[2]); - rhosq = C.density[id] * C.density[id]; - - for ( int ii = 0; ii < 3; ii++ ) centertemp[ii] += rhosq * pos[ii]; - totrhosqtemp += rhosq; - - } - } - } - - #ifdef MPI_CHOLLA - totrhosq = ReduceRealSum(totrhosqtemp); - for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] = ReduceRealSum(centertemp[ii]); - #else - totrhosq = totrhosqtemp; - for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] = centertemp[ii]; - #endif//MPI_CHOLLA - - for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] /= totrhosq; - -/* - Grav.center[0] = 0.; - Grav.center[1] = 0.; - Grav.center[2] = 0.; -*/ - chprintf("Center: %.5e, %.5e, %.5e\n", Grav.center[0], Grav.center[1], Grav.center[2]); - -// Get the multipole moments - for ( int l = 0; l < Grav.lmaxBoundaries + 1; l++ ){ - for ( int m = - l; m < l + 1; m++ ){ - - Qtemp = 0.; - - for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { - for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { - for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { - -// Get the x, y, and z coordinates of this point with respect to the center of the expansion - id = i + j*H.nx + k*H.nx*H.ny; - Get_Position(i, j, k, &pos[0], &pos[1], &pos[2]); - for ( int ii = 0; ii < 3; ii++) pos[ii] -= Grav.center[ii]; - -// Turn into spherical coordinates - r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); - phi = atan2(pos[1], pos[0]); - theta = acos( pos[2] / r ); - -// Integrate - Qtemp += pow(r, l) * conj(Grav.Y(l, m, theta, phi)) * C.density[id]; - } - } - } - - #ifdef MPI_CHOLLA - Grav.Q[l][m + l] = ReduceComplexSum(Qtemp); - #else - Grav.Q[l][m + l] = Qtemp; - #endif//MPI_CHOLLA - - Grav.Q[l][m + l] *= H.dx * H.dy * H.dz; - - chprintf("Q[%i][%i]=%.5e+(%.5e)i\n", l, m, real(Grav.Q[l][m+l]), imag(Grav.Q[l][m+l])); - - } - } - - Real testphi = 0.2532; - Real testtheta = 0.9758; - int testm = -1; - int testl = 2; - chprintf("Y(%i, %i, %.5e, %.5e)=%.5e+(%.5e)i\n", testl, testm, testtheta, testphi, real(Grav.Y(testl,testm,testtheta, testphi)), imag(Grav.Y(testl, testm, testtheta, testphi))); - -} diff --git a/src/tides/orbit.cpp b/src/tides/orbit.cpp deleted file mode 100644 index fd28b0d6f..000000000 --- a/src/tides/orbit.cpp +++ /dev/null @@ -1,308 +0,0 @@ -#ifdef TIDES - -#include "../global.h" -#include "../grid3D.h" -#include "tides.h" -#include "../io.h" -#include - -#ifdef MPI_CHOLLA -#include "../mpi_routines.h" -#endif - -void Grid3D::updateCOM(){ - - Real posx, posy, posz; - Real velxStTemp = 0.; - Real velyStTemp = 0.; - Real velzStTemp = 0.; - Real posxStTemp = 0.; - Real posyStTemp = 0.; - Real poszStTemp = 0.; - Real totrhoTemp = 0.; - - #ifdef MPI_CHOLLA - Real totrho; - #endif - - Real rho; - int i, j, k, id; - - for (k=H.n_ghost; k + +#define COMTPB (1024) + +#ifdef MPI_CHOLLA +#include "../mpi_routines.h" +#endif + +__global__ void comKernel(Real *rho, Real *momentum_x, Real *momentum_y, Real *momentum_z, Real *bounds, Real *dx, int *n, int n_ghost, Real *partialxstar, Real *partialvstar){ + + __shared__ Real xstar[COMTPB * 3]; + __shared__ Real vstar[COMTPB * 3]; + + for ( int i = 3 * threadIdx.x; i < 3 * ( threadIdx.x + 1 ); i++ ){ + xstar[i] = 0.; + vstar[i] = 0.; + } + + int nreal[3]; + for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; + int nrealcells = nreal[0] * nreal[1] * nreal[2]; + + int tid = threadIdx.x + blockIdx.x * blockDim.x; + int tid_z = tid / ( nreal[0] * nreal[1] ); + int tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; + int tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + + Real x[3]; + int fakeid; + + while ( tid < nrealcells ){ + + tid_z = tid / ( nreal[0] * nreal[1] ); + tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; + tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + fakeid = ( tid_z + n_ghost ) * n[0] * n[1] + ( tid_y + n_ghost ) * n[0] + ( tid_x + n_ghost ); + + x[0] = bounds[0] + dx[0] * ( tid_x + 0.5); + x[1] = bounds[1] + dx[1] * ( tid_y + 0.5); + x[2] = bounds[2] + dx[2] * ( tid_z + 0.5); + +// Position of the center of mass + for ( int ii = 0; ii < 3; ii++ ) xstar[threadIdx.x * 3 + ii] += x[ii] * rho[fakeid]; + +// Velocity of the center of mass + vstar[threadIdx.x * 3 ] += momentum_x[fakeid]; + vstar[threadIdx.x * 3 + 1] += momentum_y[fakeid]; + vstar[threadIdx.x * 3 + 2] += momentum_z[fakeid]; + + tid += blockDim.x * gridDim.x; + } + + __syncthreads(); + + int i = blockDim.x / 2; + while ( i > 0 ){ + if ( threadIdx.x < i){ + for ( int ii = 0; ii < 3; ii++ ){ + xstar[threadIdx.x * 3 + ii] += xstar[( threadIdx.x + i) * 3 + ii]; + vstar[threadIdx.x * 3 + ii] += vstar[( threadIdx.x + i) * 3 + ii]; + } + } + __syncthreads(); + i /= 2; + } + + if ( threadIdx.x == 0 ){ + for ( int ii = 0; ii < 3; ii++){ + partialxstar[3 * blockIdx.x + ii] = xstar[ii]; + partialvstar[3 * blockIdx.x + ii] = vstar[ii]; + } + } + +} + +void Grid3D::updateCOM(){ + S.Mbox = Grav.ReQ[0] * sqrt( 4 * M_PI ); + Real totrho = S.Mbox / H.dx / H.dy / H.dz; +/* + for ( int i = 0; i < 3; i++ ) S.xstar[i] = 0.; + for ( int i = 0; i < 3; i++ ) S.vstar[i] = 0.; + + Real rho, x[3]; + int id; + + for (int k = H.n_ghost; k>>(dev_rho, dev_momentum_x, dev_momentum_y, dev_momentum_z, dev_bounds, dev_dx, dev_n, H.n_ghost, dev_partialxstar, dev_partialvstar); + +//Copy result to CPU + cudaMemcpy(S.bufferxstar, dev_partialxstar, sizeof(Real) * S.comBlocks * 3, cudaMemcpyDeviceToHost); + cudaMemcpy(S.buffervstar, dev_partialvstar, sizeof(Real) * S.comBlocks * 3, cudaMemcpyDeviceToHost); + +//Free GPU + cudaFree(dev_rho); + cudaFree(dev_momentum_x); + cudaFree(dev_momentum_y); + cudaFree(dev_momentum_z); + cudaFree(dev_n); + cudaFree(dev_bounds); + cudaFree(dev_dx); + cudaFree(dev_partialxstar); + cudaFree(dev_partialvstar); + + for ( int ii = 0; ii < 3; ii++ ){ + S.vstar[ii] = 0.; + S.xstar[ii] = 0.; + for ( int i = 0; i < S.comBlocks; i++ ){ + S.xstar[ii] += S.bufferxstar[3*i + ii]; + S.vstar[ii] += S.buffervstar[3*i + ii]; + } + } + + for ( int i = 0; i < 3; i++ ){ + S.xstar[i] /= totrho; + S.vstar[i] /= totrho; + } + + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, S.xstar, 3, MPI_CHREAL, MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, S.vstar, 3, MPI_CHREAL, MPI_SUM, world); + #endif +/* + Real xeps[3]; + Real veps[3]; + for ( int i = 0; i < 3; i++ ){ + xeps[i] = S.xstar[i] / xstarslow[i] - 1.; + veps[i] = S.vstar[i] / vstarslow[i] - 1.; + } + + chprintf("xstar new: %.10e, %.10e, %.10e\n", S.xstar[0], S.xstar[1], S.xstar[2]); + chprintf("xstar old: %.10e, %.10e, %.10e\n", xstarslow[0], xstarslow[1], xstarslow[2]); + chprintf("vstar new: %.10e, %.10e, %.10e\n", S.vstar[0], S.vstar[1], S.vstar[2]); + chprintf("vstar old: %.10e, %.10e, %.10e\n", vstarslow[0], vstarslow[1], vstarslow[2]); + chprintf("xstar relative error: %.16e, %.16e, %.16e\n", xeps[0], xeps[1], xeps[2]); + chprintf("vstar relative error: %.16e, %.16e, %.16e\n", veps[0], veps[1], veps[2]); +*/ +} + +Real Star::geteta(Real t){ + + Real num; + Real den; + Real totdyn = t / tdynOrb; + Real aux = 3. * totdyn + sqrt( 8. + 9. * totdyn * totdyn ); + + num = - 2. + pow( aux , 2./3.); + den = sqrt(2.) * pow(aux, 1./3.); + + return num / den; + +} + +Real Star::getdeta(Real t){ + + Real totdyn = t / tdynOrb; + Real aux = 3. * totdyn + sqrt( 8. + 9. * totdyn * totdyn ); + Real num = 2. + pow(aux, 2./3.); + Real den = sqrt( 16. + 18. * totdyn * totdyn ) * pow(aux, 1./3.); + + return num / den / tdynOrb; + +} + +Real Star::getddeta(Real t){ + + Real totdyn = t / tdynOrb; + Real aux0 = 8. + 9. * totdyn * totdyn; + Real aux1 = 3. * totdyn + sqrt( 8. + 9. * totdyn * totdyn); + + Real prefac = pow(aux1,1./3.); + Real term1 = 2. * ( sqrt(aux0) - 2. * pow(aux1, 1./3.) ); + Real term2 = 3. * totdyn * ( -6. - ( - 3. * totdyn + sqrt(aux0) ) * pow(aux1, 1./3.)); + Real num = prefac * ( term1 + term2 ); + Real den = 2. * sqrt(2.) * pow(aux0, 3./2.); + + return num / den / tdynOrb / tdynOrb; + +} + +// Updates the coordinates of the frame for t and t + dt / 2 +void Star::updateFrameCoords(Real t, Real dt){ + + Real deta = getdeta (t); + Real ddeta = getddeta(t); + Real MstFrac = Mbh / ( Mstar + Mbh ); + + Real etaExt = geteta (t + dt / 2.); + Real detaExt = getdeta (t + dt / 2.); + Real ddetaExt = getddeta(t + dt / 2.); + + posFrame[0] = MstFrac * rp * ( 1. - eta * eta ); + posFrame[1] = MstFrac * rp * 2. * eta; + posFrame[2] = 0.; + + velFrame[0] = MstFrac * (-2.) * rp * eta * deta; + velFrame[1] = MstFrac * 2. * rp * deta; + velFrame[2] = 0.; + + accFrame[0] = MstFrac * (-2.) * rp * ( deta * deta + eta * ddeta ); + accFrame[1] = MstFrac * 2. * rp * ddeta; + accFrame[2] = 0.; + + posFrameExt[0] = MstFrac * rp * ( 1. - etaExt * etaExt ); + posFrameExt[1] = MstFrac * rp * 2. * etaExt; + posFrameExt[2] = 0.; + + velFrameExt[0] = MstFrac * (-2.) * rp * etaExt * detaExt; + velFrameExt[1] = MstFrac * 2. * rp * detaExt; + velFrameExt[2] = 0.; + + accFrameExt[0] = MstFrac * (-2.) * rp * ( detaExt * detaExt + etaExt * ddetaExt ); + accFrameExt[1] = MstFrac * 2. * rp * ddetaExt; + accFrameExt[2] = 0.; + +} + +/* +// Given the density in the cells and the position of the black hole, this function returns the three components of the acceleration of the black hole +void Grid3D::updateBhAcc(){ + +//These variables hold the positions of the cell centers and the distance between the cell center and the bh + Real posx, posy, posz, r; +//Will hold density + Real rho; + +//We need the volume of the cell because we compute the acceleration between two point masses: the BH and a mass rho * dV at the center of the cell + Real dV = H.dx * H.dy * H.dz; + +// To compute the acceleration the BH experiences, we sum over the acceleration caused by every cell in the star. + int id; + Real accBhTemp[3]; + for (int k=H.n_ghost; k // Kronecker delta int kronDelta(int i, int j){ @@ -14,7 +15,7 @@ int kronDelta(int i, int j){ } -void Star::initialize(struct parameters &P, Real t, Real dt){ +void Star::initialize(struct parameters &P, Real t, Real dt, int nx, int ny, int nz){ Mstar = P.Mstar; Mbh = P.Mbh; @@ -53,23 +54,60 @@ void Star::initialize(struct parameters &P, Real t, Real dt){ //Initial time t0 = sqrt(2.) * tdynOrb * eta0 * ( 1. + eta0 * eta0 / 3. ); - chprintf("t0 = %.20e\n", t0); - - chprintf(" Dynamical time of the star : %.5e\n", tdynStar); - chprintf(" Dynamical time of the orbit: %.5e\n", tdynOrb ); - chprintf(" Initial eta : %.5e\n", eta0 ); // Total energy of the star E0star = ( G_CGS * Mstar * Mstar / Rstar ) * ( 3. / ( polyN - 5. ) + 1. / ( 5. - polyN ) / ( P.gamma - 1. ) ); //Relaxation time tRelax = P.tRelaxtDyn * tdynStar; + relaxRate0 = P.relaxRate0; + relaxRateBkgnd = P.relaxRateBkgnd; update(t, dt); -// E0orb = getEorb(); + + comBlocks = ceil ( nx * ny * nz / COMTPB ); + bufferxstar = (Real *) malloc( sizeof(Real) * comBlocks * 3); + buffervstar = (Real *) malloc( sizeof(Real) * comBlocks * 3); + + chprintf(" Star:\n"); + chprintf(" Mass : %.10e g\n", Mstar); + chprintf(" Radius: %.10e cm\n", Rstar); + chprintf(" n_poly: %.10e\n", polyN); + chprintf(" t_dyn : %.10e s\n", tdynStar); + + chprintf(" Orbit:\n"); + chprintf(" Mass ratio : %.10e\n", q); + chprintf(" t_dyn : %.10e s\n", tdynOrb); + chprintf(" Tidal radius : %.10e cm\n", rt ); + chprintf(" Initial dist : %.10e cm\n", r0 ); + chprintf(" Periapsis dist: %.10e cm\n", rp ); + chprintf(" Periapsis time: %.10e s\n", -t0 ); + + if ( tRelax > 0 ) chprintf(" Relaxation enabled. Initial relax rate: %f. Background relax rate: %.f\n", relaxRate0, relaxRateBkgnd); } +void Star::update(Real t, Real dt){ + +//The time along the orbit is different from the hydro time because we relax the star, and because the time along the orbit is measured with t = 0 at periapsis. When the star is not relaxed, we hold the star at the initial position along the orbit (but we compute no tidal forces!). After it's relaxed, we compute the time along the orbit accounting for the offset from the initial conditions. Remember that t0 is negative. + +//When relaxed == 0, the tidal tensors aren't used anyways. + if ( relaxed == 0 ){ + tOrb = t0; + } + else{ + tOrb = t + t0; + } + +// Important: first do frames, then tidal tensors since they depend on the frames! + eta = geteta(tOrb); + updateFrameCoords (tOrb, dt); + updateBhCoords (tOrb, dt); + updateTidalTensors(tOrb, dt); + +} + + // Given a position and a set of tidal tensors, return the tidal potential Real Star::getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]){ diff --git a/src/tides/tides.h b/src/tides/tides.h index 3c014445d..c59078385 100644 --- a/src/tides/tides.h +++ b/src/tides/tides.h @@ -6,18 +6,20 @@ #include #include #include "../global.h" -//#include "../grid3D.h" + +#define COMTPB (1024) class Star { public: - //Star Real Mstar; Real Rstar; Real polyN; Real tRelax; + Real relaxRate0; + Real relaxRateBkgnd; Real tdynStar; int relaxed; @@ -51,7 +53,7 @@ class Star Real velFrameExt[3]; Real accFrameExt[3]; -// Coordinates of the bh +//Coordinates of the bh Real posBh[3]; Real velBh[3]; Real accBh[3]; @@ -62,13 +64,9 @@ class Star Real accBhExt[3]; // Coordinates of the star - Real posSt[3]; - Real velSt[3]; - Real accSt[3]; - - Real posStExt[3]; - Real velStExt[3]; - Real accStExt[3]; + Real xstar[3]; + Real vstar[3]; + Real astar[3]; //Tidal tensors at the current time and at t + dt / 2 @@ -81,7 +79,7 @@ class Star Real Cijkl[3][3][3][3]; //Functions that change the state of S - void initialize(struct parameters &P, Real t, Real dt); + void initialize(struct parameters &P, Real t, Real dt, int nx, int ny, int nz); void update(Real t, Real dt); void updateFrameCoords(Real t, Real dt); void updateBhCoords(Real t, Real dt); @@ -95,10 +93,10 @@ class Star //Returns the tidal potential given a set of tidal tensors Real getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]); -//Returns the position of the center of the frame at time t - void getFrameAndBhPos(Real t, Real *xFrame, Real *yFrame, Real *zFrame, Real *xBh, Real *yBh, Real *zBh); - - Real getEorb(); +//Used for computing the center of mass position and speed in the GPU + int comBlocks; + Real *bufferxstar; + Real *buffervstar; }; From fe59e1c0b21db0a41d13619c95131bf1e1a32b78 Mon Sep 17 00:00:00 2001 From: ryarza Date: Thu, 5 Nov 2020 08:00:23 -0800 Subject: [PATCH 03/21] Did retab, print useful info --- Makefile | 6 +- src/global.cpp | 147 ++++++------ src/global.h | 20 +- src/gravity/grav3D.cpp | 34 +-- src/gravity/grav3D.h | 30 +-- src/gravity/gravity_boundaries.cpp | 72 +++--- src/gravity/gravity_functions.cpp | 37 +-- src/gravity/multipole.cu | 142 ++++++------ src/gravity/potential_SOR_3D.cpp | 19 +- src/grid3D.cpp | 3 +- src/main.cpp | 66 +++--- src/tides/orbit.cu | 350 ++++++++++++++--------------- src/tides/tides.cpp | 282 +++++++++++------------ 13 files changed, 608 insertions(+), 600 deletions(-) diff --git a/Makefile b/Makefile index 2a9db548b..d91485c30 100644 --- a/Makefile +++ b/Makefile @@ -38,9 +38,9 @@ DFLAGS += -DPPMP #DFLAGS += -DPPMC # Solver -DFLAGS += -DEXACT +#DFLAGS += -DEXACT #DFLAGS += -DROE -#DFLAGS += -DHLLC +DFLAGS += -DHLLC # Integrator DFLAGS += -DVL @@ -52,7 +52,7 @@ DFLAGS += -DVL # Apply a minimum value to conserved values DFLAGS += -DDENSITY_FLOOR -DFLAGS += -DTEMPERATURE_FLOOR +#DFLAGS += -DTEMPERATURE_FLOOR # Allocate GPU memory only once at the first timestep #DFLAGS += -DDYNAMIC_GPU_ALLOC diff --git a/src/global.cpp b/src/global.cpp index 12f20f0a7..5fcb25a43 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -280,38 +280,38 @@ parms->scale_outputs_file[0] = '\0'; parms->pAmb = atof(value); else if (strcmp(name, "polyN")==0) parms->polyN = atof(value); - else if (strcmp(name, "rprt")==0) - parms->rprt = atof(value); - else if (strcmp(name, "tRelaxtDyn")==0) - parms->tRelaxtDyn = atof(value); - else if (strcmp(name, "r0rt") == 0) - parms->r0rt = atof(value); + else if (strcmp(name, "rprt")==0) + parms->rprt = atof(value); + else if (strcmp(name, "tRelaxtDyn")==0) + parms->tRelaxtDyn = atof(value); + else if (strcmp(name, "r0rt") == 0) + parms->r0rt = atof(value); #endif #ifdef POISSON_TEST - else if (strcmp(name, "c0")==0) - parms->c[0] = atof(value); - else if (strcmp(name, "c1")==0) - parms->c[1] = atof(value); - else if (strcmp(name, "c2")==0) - parms->c[2] = atof(value); - else if (strcmp(name, "c3")==0) - parms->c[3] = atof(value); - else if (strcmp(name, "c4")==0) - parms->c[4] = atof(value); - else if (strcmp(name, "c5")==0) - parms->c[5] = atof(value); - else if (strcmp(name, "d0")==0) - parms->d[0] = atoi(value); - else if (strcmp(name, "d1")==0) - parms->d[1] = atoi(value); - else if (strcmp(name, "d2")==0) - parms->d[2] = atoi(value); - else if (strcmp(name, "d3")==0) - parms->d[3] = atoi(value); - else if (strcmp(name, "d4")==0) - parms->d[4] = atoi(value); - else if (strcmp(name, "d5")==0) - parms->d[5] = atoi(value); + else if (strcmp(name, "c0")==0) + parms->c[0] = atof(value); + else if (strcmp(name, "c1")==0) + parms->c[1] = atof(value); + else if (strcmp(name, "c2")==0) + parms->c[2] = atof(value); + else if (strcmp(name, "c3")==0) + parms->c[3] = atof(value); + else if (strcmp(name, "c4")==0) + parms->c[4] = atof(value); + else if (strcmp(name, "c5")==0) + parms->c[5] = atof(value); + else if (strcmp(name, "d0")==0) + parms->d[0] = atoi(value); + else if (strcmp(name, "d1")==0) + parms->d[1] = atoi(value); + else if (strcmp(name, "d2")==0) + parms->d[2] = atoi(value); + else if (strcmp(name, "d3")==0) + parms->d[3] = atoi(value); + else if (strcmp(name, "d4")==0) + parms->d[4] = atoi(value); + else if (strcmp(name, "d5")==0) + parms->d[5] = atoi(value); #endif//POISSON_TEST #ifdef SET_MPI_GRID @@ -335,52 +335,53 @@ parms->scale_outputs_file[0] = '\0'; void printCompileOptions(){ //Time integrator - chprintf("Integrator: "); - #ifdef CTU - chprintf("CTU"); - #elif defined VL - chprintf("VL"); - #elif defined CTU - chprintf("CTU"); - #else - chprintf("not recognized"); - #endif - -//CFL - chprintf(". CFL: %f", C_cfl); + chprintf("Integrator: "); + #ifdef CTU + chprintf("CTU"); + #elif defined VL + chprintf("VL"); + #elif defined CTU + chprintf("CTU"); + #else + chprintf("not recognized"); + #endif //Reconstruction - chprintf(". Reconstruction: "); - #ifdef PCM - chprintf("PCM"); - #elif defined PLMP - chprintf("PLMP"); - #elif defined PPLMC - chprintf("PPLMC"); - #elif defined PPMP - chprintf("PPMP"); - #elif defined PPMC - chprintf("PPMC"); - #else - chprintf("not recognized"); - #endif + chprintf(". Reconstruction: "); + #ifdef PCM + chprintf("PCM"); + #elif defined PLMP + chprintf("PLMP"); + #elif defined PPLMC + chprintf("PPLMC"); + #elif defined PPMP + chprintf("PPMP"); + #elif defined PPMC + chprintf("PPMC"); + #else + chprintf("not recognized"); + #endif //Riemann solver - chprintf(". Riemann solver: "); - #ifdef EXACT - chprintf("exact"); - #elif defined ROE - chprintf("Roe"); - #elif defined HLLC - chprintf("HLLC"); - #else - chprintf("not recognized"); - #endif - - chprintf("\n"); - - #ifdef H_CORRECTION - chprintf("H correction enabled\n"); - #endif + chprintf(". Riemann solver: "); + #ifdef EXACT + chprintf("exact"); + #elif defined ROE + chprintf("Roe"); + #elif defined HLLC + chprintf("HLLC"); + #else + chprintf("not recognized"); + #endif + +//H correction + chprintf(". H correction: "); + #ifdef H_CORRECTION + chprintf("enabled"); + #else + chprintf("disabled"); + #endif + + chprintf("\n"); } diff --git a/src/global.h b/src/global.h index 36a94f350..39577ade9 100644 --- a/src/global.h +++ b/src/global.h @@ -51,7 +51,7 @@ typedef double Real; //Conserved Floor Values #define TEMP_FLOOR 1e-3 -#define DENS_FLOOR 1e-24 +#define DENS_FLOOR 1e-25 //Parameter for Enzo dual Energy Condition #define DE_ETA_1 0.001 //Ratio of U to E for wich Inetrnal Energy is used to compute the Pressure @@ -236,19 +236,19 @@ struct parameters Real Mstar; Real Rstar; Real Mbh; - Real pAmb; - Real rhoAmb; - Real tRelaxtDyn; + Real pAmb; + Real rhoAmb; + Real tRelaxtDyn; Real polyN; - Real rprt; - Real r0rt; - Real relaxRate0; - Real relaxRateBkgnd; + Real rprt; + Real r0rt; + Real relaxRate0; + Real relaxRateBkgnd; #endif//TIDES #ifdef POISSON_TEST - Real c[6]; - int d[6]; + Real c[6]; + int d[6]; #endif #ifdef COSMOLOGY diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index 08a7f5ddf..d694f1d77 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -70,16 +70,16 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R chprintf("WARNING: Using Gravitational Constant G=1.\n"); } - #ifdef POISSON_TEST - Gconst = 1; - chprintf("WARNING: Using Gravitational Constant G=1.\n"); - #endif + #ifdef POISSON_TEST + Gconst = 1; + chprintf("WARNING: Using Gravitational Constant G=1.\n"); + #endif #ifdef TIDES Gconst = G_CGS; chprintf("WARNING: Using Gravitational Constant in cgs units.\n"); - #endif//TIDES - + #endif + //Flag to transfer the Potential boundaries TRANSFER_POTENTIAL_BOUNDARIES = false; @@ -131,14 +131,14 @@ void Grav3D::AllocateMemory_CPU(void) F.pot_boundary_z1 = (Real *) malloc(N_GHOST_POTENTIAL*nx_local*ny_local*sizeof(Real)); #endif - #if defined TIDES || defined POISSON_TEST + #if defined TIDES || defined POISSON_TEST //Real and imaginary parts of the multipole moments of the density distribution - ReQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); - ImQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); - Qblocks = ceil( ( nx_local * ny_local * nz_local ) / QTPB ); - bufferReQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); - bufferImQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); - #endif + ReQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); + ImQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); + Qblocks = ceil( ( nx_local * ny_local * nz_local ) / QTPB ); + bufferReQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); + bufferImQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); + #endif } @@ -158,10 +158,10 @@ void Grav3D::Initialize_values_CPU(void){ F.potential_1_h[id_pot] = 0; } - for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ - ReQ[i] = 0.; - ImQ[i] = 0.; - } + for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ + ReQ[i] = 0.; + ImQ[i] = 0.; + } } diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index 12aa38d9c..579871479 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -5,11 +5,10 @@ #include"../global.h" #if defined TIDES || defined POISSON_TEST -#define LMAX (5) -#define QTPB (128) +#define LMAX (7) +#define QTPB (64) #endif - #ifdef PFFT #include"potential_PFFT_3D.h" #endif @@ -20,6 +19,7 @@ #ifdef SOR #include"potential_SOR_3D.h" +#define SOREPSILON (1.e-12) #endif #ifdef PARIS @@ -114,18 +114,18 @@ class Grav3D #ifdef SOR Potential_SOR_3D Poisson_solver; - #if defined TIDES || defined POISSON_TEST - Real *ReQ; - Real *ImQ; - Real *bufferReQ; - Real *bufferImQ; - int Qblocks; - Real center[3]; - int Qidx(int cidx, int l, int m); - void fillLegP(Real* legP, Real x); - #endif - - #endif//SOR + #if defined TIDES || defined POISSON_TEST + Real *ReQ; + Real *ImQ; + Real *bufferReQ; + Real *bufferImQ; + int Qblocks; + Real center[3]; + int Qidx(int cidx, int l, int m); + void fillLegP(Real* legP, Real x); + #endif + + #endif #ifdef PARIS #if (defined(PFFT) || defined(CUFFT) || defined(SOR)) diff --git a/src/gravity/gravity_boundaries.cpp b/src/gravity/gravity_boundaries.cpp index a56c577a2..01223dc3c 100644 --- a/src/gravity/gravity_boundaries.cpp +++ b/src/gravity/gravity_boundaries.cpp @@ -129,10 +129,10 @@ void Grid3D::Compute_Potential_Isolated_Boundary( int direction, int side, int #endif int i, j, k, id; - Real pos[3], r, pot_val; - #if defined TIDES || defined POISSON_TEST - Real phi, theta, Ylmfac, lfac; - #endif + Real pos[3], r, pot_val; + #if defined TIDES || defined POISSON_TEST + Real phi, theta, Ylmfac, lfac; + #endif for ( k=0; k n[2] - n_ghost || tid_y_fake > n[1] - n_ghost || tid_x_fake > n[0] - n_ghost || tid >= n[0] * n[1] * n[2] || tid_z_fake != tid_z + n_ghost || tid_y_fake != tid_y + n_ghost || tid_x_fake != tid_x + n_ghost){ printf("Something wrong in cell mapping.\n"); } - #endif + #endif return tid; } @@ -126,10 +126,10 @@ __global__ void QlmKernel(Real *rho, Real *center, Real *bounds, Real *dx, Real __shared__ Real ReQ[QTPB * (1 + LMAX ) * (2 + LMAX ) / 2]; __shared__ Real ImQ[QTPB * (1 + LMAX ) * (2 + LMAX ) / 2]; - for ( int i = threadIdx.x * ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i < ( threadIdx.x + 1 ) * ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ - ReQ[i] = 0.; - ImQ[i] = 0.; - } + for ( int i = threadIdx.x * ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i < ( threadIdx.x + 1 ) * ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ + ReQ[i] = 0.; + ImQ[i] = 0.; + } int nreal[3]; for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; @@ -200,10 +200,10 @@ __global__ void QlmKernel(Real *rho, Real *center, Real *bounds, Real *dx, Real __global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_ghost, Real *partialCenter){ - int nreal[3]; - for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; - int nrealcells = nreal[0] * nreal[1] * nreal[2]; - int tid = threadIdx.x + blockIdx.x * blockDim.x; + int nreal[3]; + for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; + int nrealcells = nreal[0] * nreal[1] * nreal[2]; + int tid = threadIdx.x + blockIdx.x * blockDim.x; int tid_z = tid / ( nreal[0] * nreal[1] ); int tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; int tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; @@ -220,76 +220,76 @@ __global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_gh pos[1] = bounds[1] + dx[1] * ( tid_y + 0.5) - center[1]; pos[2] = bounds[2] + dx[2] * ( tid_z + 0.5) - center[2]; r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); - rhosq= rho[tidFake(...)] * rho[tidFake(...)]; + rhosq= rho[tidFake(...)] * rho[tidFake(...)]; - + } */ void Grid3D::setMoments(){ - Real dx[3], bounds[3]; - int n[3]; - dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; - Real dV = dx[0] * dx[1] * dx[2]; - bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; - n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; + Real dx[3], bounds[3]; + int n[3]; + dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; + Real dV = dx[0] * dx[1] * dx[2]; + bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; + n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; - #ifdef POISSON_TEST - struct timeval timecheck; - long start, end; + #ifdef POISSON_TEST + struct timeval timecheck; + long start, end; - gettimeofday(&timecheck, NULL); - start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - #endif -/* - int id; - Real rhosq, totrhosq; - Real pos[3]; + gettimeofday(&timecheck, NULL); + start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; + #endif + + int id; + Real rhosq, totrhosq; + Real x[3]; // Find the center of the multipole expansion according to Couch et al. 2013 - totrhosq = 0.; + totrhosq = 0.; - for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; - for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { - for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { - for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { + for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { + for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { + for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { - id = i + j*H.nx + k*H.nx*H.ny; - Get_Position(i, j, k, &pos[0], &pos[1], &pos[2]); - rhosq = C.density[id] * C.density[id]; + id = i + j*H.nx + k*H.nx*H.ny; + Get_Position(i, j, k, &x[0], &x[1], &x[2]); + rhosq = C.density[id] * C.density[id]; - for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] += rhosq * pos[ii]; - totrhosq += rhosq; - - } - } - } + for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] += rhosq * x[ii]; + totrhosq += rhosq; + + } + } + } - #ifdef MPI_CHOLLA - MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); - MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); - #endif//MPI_CHOLLA + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); + #endif//MPI_CHOLLA - for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; -*/ - for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; -// chprintf(" Center of the multipole expansion: %.5e, %.5e, %.5e\n", Grav.center[0], Grav.center[1], Grav.center[2]); +// for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; - #ifdef POISSON_TEST - gettimeofday(&timecheck, NULL); + chprintf(" Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); + + #ifdef POISSON_TEST + gettimeofday(&timecheck, NULL); end = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - Real timeused = ( (Real) ( end - start ) ); - chprintf("Computing the center of the expansion took %.10e milliseconds\n", timeused); + Real timeused = ( (Real) ( end - start ) ); + chprintf("Computing the center of the expansion took %.10e milliseconds\n", timeused); - gettimeofday(&timecheck, NULL); - start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - #endif + gettimeofday(&timecheck, NULL); + start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; + #endif Real *dev_rho, *dev_center, *dev_bounds, *dev_dx, *dev_partialReQ, *dev_partialImQ; int *dev_n; @@ -311,7 +311,7 @@ void Grid3D::setMoments(){ cudaMemcpy( dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); //Call Kernel - cudaDeviceSynchronize(); + cudaDeviceSynchronize(); QlmKernel<<>>(dev_rho, dev_center, dev_bounds, dev_dx, H.xdglobal / 2., dev_n, H.n_ghost, dev_partialReQ, dev_partialImQ); //Copy result to CPU @@ -348,29 +348,29 @@ void Grid3D::setMoments(){ } } - #ifdef MPI_CHOLLA - MPI_Allreduce(MPI_IN_PLACE, Grav.ReQ, (1 + LMAX ) * (2 + LMAX ) / 2, MPI_CHREAL, MPI_SUM, world); - MPI_Allreduce(MPI_IN_PLACE, Grav.ImQ, (1 + LMAX ) * (2 + LMAX ) / 2, MPI_CHREAL, MPI_SUM, world); - #endif + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, Grav.ReQ, (1 + LMAX ) * (2 + LMAX ) / 2, MPI_CHREAL, MPI_SUM, world); + MPI_Allreduce(MPI_IN_PLACE, Grav.ImQ, (1 + LMAX ) * (2 + LMAX ) / 2, MPI_CHREAL, MPI_SUM, world); + #endif - #ifdef POISSON_TEST - gettimeofday(&timecheck, NULL); + #ifdef POISSON_TEST + gettimeofday(&timecheck, NULL); end = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - timeused = ( (Real) ( end - start ) ); - chprintf("Computing Qlm took %.10e milliseconds\n", timeused); + timeused = ( (Real) ( end - start ) ); + chprintf("Computing Qlm took %.10e milliseconds\n", timeused); - int lmidx; + int lmidx; for ( int l = 0; l <= LMAX; l++ ){ for ( int m = 0; m <= l; m++ ){ - lmidx = Grav.Qidx(0,l,m); + lmidx = Grav.Qidx(0,l,m); chprintf("ReQ[%i][%i]=%.20e\n", l, m, Grav.ReQ[lmidx]); chprintf("ImQ[%i][%i]=%.20e\n", l, m, Grav.ImQ[lmidx]); - } - } - #endif + } + } + #endif } diff --git a/src/gravity/potential_SOR_3D.cpp b/src/gravity/potential_SOR_3D.cpp index a5f37722c..24b8d5e31 100644 --- a/src/gravity/potential_SOR_3D.cpp +++ b/src/gravity/potential_SOR_3D.cpp @@ -50,6 +50,12 @@ void Potential_SOR_3D::Initialize( Real Lx, Real Ly, Real Lz, Real x_min, Real y chprintf( " Using Poisson Solver: SOR\n"); + chprintf(" Convergence epsilon: %.10e\n", SOREPSILON); + + #ifdef TIDES + chprintf(" Maximum angular order: %i", LMAX); + #endif + chprintf( " SOR: L[ %f %f %f ] N[ %d %d %d ] dx[ %f %f %f ]\n", Lbox_x, Lbox_y, Lbox_z, nx_local, ny_local, nz_local, dx, dy, dz ); chprintf( " SOR: Allocating memory...\n"); @@ -130,15 +136,6 @@ void Grid3D::Get_Potential_SOR( Real Grav_Constant, Real dens_avrg, Real current Grav.Copy_Isolated_Boundaries_To_GPU( P ); Grav.Poisson_solver.Set_Isolated_Boundary_Conditions( Grav.boundary_flags, P ); - - #ifdef POISSON_TEST - Real epsilon = 1.e-10; - #elif defined TIDES - Real epsilon = 1.e-8; - #else - Real epsilon = 1.e-4; - #endif -// chprintf("SOR convergence epsilon: %.5e", epsilon); int max_iter = 10000000; int n_iter = 0; @@ -170,7 +167,7 @@ void Grid3D::Get_Potential_SOR( Real Grav_Constant, Real dens_avrg, Real current Grav.Poisson_solver.TRANSFER_POISSON_BOUNDARIES = false; } - Grav.Poisson_solver.Poisson_Partial_Iteration( 0, omega, epsilon ); + Grav.Poisson_solver.Poisson_Partial_Iteration( 0, omega, SOREPSILON ); if ( set_boundaries ){ Grav.Poisson_solver.TRANSFER_POISSON_BOUNDARIES = true; @@ -178,7 +175,7 @@ void Grid3D::Get_Potential_SOR( Real Grav_Constant, Real dens_avrg, Real current Grav.Poisson_solver.TRANSFER_POISSON_BOUNDARIES = false; } - Grav.Poisson_solver.Poisson_Partial_Iteration( 1, omega, epsilon ); + Grav.Poisson_solver.Poisson_Partial_Iteration( 1, omega, SOREPSILON ); n_iter += 1; diff --git a/src/grid3D.cpp b/src/grid3D.cpp index 7c91369fb..7f2ad90ad 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -117,9 +117,8 @@ void Grid3D::Initialize(struct parameters *P) int nz_in = P->nz; // Set the CFL coefficient (a global variable) - C_cfl = 0.3; //TEMPORARY ON: Lower CFL - C_cfl /= 3.; + C_cfl = 0.25; #ifndef MPI_CHOLLA diff --git a/src/main.cpp b/src/main.cpp index d5e95a289..2cfc13ba9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -45,7 +45,6 @@ int main(int argc, char *argv[]) int nfile = 0; // number of output files Real outtime = 0; // current output time - // read in command line arguments if (argc != 2) { @@ -58,13 +57,13 @@ int main(int argc, char *argv[]) // create the grid Grid3D G; -//Print useful compile options to keep track of exactly how the code was run - printCompileOptions(); +// Print compile options to keep track of the exact state of the code + printCompileOptions(); // read in the parameters parse_params (param_file, &P); // and output to screen - chprintf ("Parameter values: nx = %d, ny = %d, nz = %d, tout = %f, init = %s, boundaries = %d %d %d %d %d %d\n", + chprintf ("Parameter values: nx = %d, ny = %d, nz = %d, tout = %f, init = %s, boundaries = %i %i %i %i %i %i\n", P.nx, P.ny, P.nz, P.tout, P.init, P.xl_bcnd, P.xu_bcnd, P.yl_bcnd, P.yu_bcnd, P.zl_bcnd, P.zu_bcnd); if (strcmp(P.init, "Read_Grid") == 0 ) chprintf ("Input directory: %s\n", P.indir); chprintf ("Output directory: %s\n", P.outdir); @@ -75,6 +74,7 @@ int main(int argc, char *argv[]) // initialize the grid G.Initialize(&P); chprintf("Local number of grid cells: %d %d %d %d\n", G.H.nx_real, G.H.ny_real, G.H.nz_real, G.H.n_cells); + chprintf("CFL: %f\n", C_cfl); // Set initial conditions and calculate first dt chprintf("Setting initial conditions...\n"); @@ -94,7 +94,6 @@ int main(int argc, char *argv[]) Write_Message_To_Log_File( message ); #endif - #ifdef CPU_TIME G.Timer.Initialize(); #endif @@ -120,9 +119,9 @@ int main(int argc, char *argv[]) G.Compute_Gravitational_Potential( &P); #endif - #ifdef TIDES - G.updateCOM(); - #endif + #ifdef TIDES + G.updateCOM(); + #endif // Set boundary conditions (assign appropriate values to ghost cells) for hydro and potential chprintf("Setting boundary conditions...\n"); @@ -138,16 +137,15 @@ int main(int argc, char *argv[]) chprintf("Ratio of specific heats gamma = %f\n",gama); chprintf("Nstep = %d Timestep = %f Simulation time = %f\n", G.H.n_step, G.H.dt, G.H.t); - #ifdef TIDES - if ( strcmp(P.init, "Polytropic_Star") == 0 && G.S.tRelax > 0. ){ - P.nfile = nfile; -// If solving a polytropic star, do the relaxation step to achive hydrostactic equilibrium - G.Polytropic_Star_Relaxation( P ); - nfile = P.nfile; - chprintf("nfile after relaxation: %i\n", P.nfile); - } - G.S.relaxed = 1; + if ( strcmp(P.init, "Polytropic_Star") == 0 && G.S.tRelax > 0. ){ + P.nfile = nfile; +// If solving a polytropic star, do the relaxation step to achive hydrostactic equilibrium + G.Polytropic_Star_Relaxation( P ); + nfile = P.nfile; + chprintf("nfile after relaxation: %i\n", P.nfile); + } + G.S.relaxed = 1; #endif #ifdef OUTPUT @@ -161,10 +159,10 @@ int main(int argc, char *argv[]) #endif //OUTPUT //If doing Poisson test, exit after first computation - #ifdef POISSON_TEST - G.poissonErrorNorm(); - exit(0); - #endif//POISSON_TEST + #ifdef POISSON_TEST + G.poissonErrorNorm(); + exit(0); + #endif//POISSON_TEST // increment the next output time outtime += P.outstep; @@ -201,31 +199,29 @@ int main(int argc, char *argv[]) //Transfer the particles that moved outside the local domain G.Transfer_Particles_Boundaries(P); #endif - - #ifdef TIDES - G.S.update(G.H.t, G.H.dt); - #endif // Advance the grid by one timestep dti = G.Update_Hydro_Grid(); - #ifdef TIDES -// TEMPORARY ON: No tides damping -// Damp very low densities by a constant factor -// G.damp(); - #endif + #ifdef TIDES +// TEMPORARY ON: No tides damping +// Damp very low densities by a constant factor +// G.damp(); + #endif // update the simulation time ( t += dt ) G.Update_Time(); + G.set_dt(dti); + + #ifdef TIDES + G.S.update(G.H.t, G.H.dt); + #endif #ifdef GRAVITY //Compute Gravitational potential for next step G.Compute_Gravitational_Potential( &P); #endif - #ifdef TIDES - G.updateCOM(); - #endif // add one to the timestep count G.H.n_step++; @@ -261,6 +257,10 @@ int main(int argc, char *argv[]) if (G.H.t == outtime || G.H.Output_Now ) { +// TEMPORARY: Compute COM only when outputting (it's not used for anything else as of now) + #ifdef TIDES + G.updateCOM(); + #endif #ifdef OUTPUT /*output the grid data*/ WriteData(G, P, nfile); diff --git a/src/tides/orbit.cu b/src/tides/orbit.cu index 149b226c7..07cb42240 100644 --- a/src/tides/orbit.cu +++ b/src/tides/orbit.cu @@ -14,8 +14,8 @@ __global__ void comKernel(Real *rho, Real *momentum_x, Real *momentum_y, Real *momentum_z, Real *bounds, Real *dx, int *n, int n_ghost, Real *partialxstar, Real *partialvstar){ - __shared__ Real xstar[COMTPB * 3]; - __shared__ Real vstar[COMTPB * 3]; + __shared__ Real xstar[COMTPB * 3]; + __shared__ Real vstar[COMTPB * 3]; for ( int i = 3 * threadIdx.x; i < 3 * ( threadIdx.x + 1 ); i++ ){ xstar[i] = 0.; @@ -32,26 +32,26 @@ __global__ void comKernel(Real *rho, Real *momentum_x, Real *momentum_y, Real *m int tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; Real x[3]; - int fakeid; + int fakeid; while ( tid < nrealcells ){ tid_z = tid / ( nreal[0] * nreal[1] ); tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; - fakeid = ( tid_z + n_ghost ) * n[0] * n[1] + ( tid_y + n_ghost ) * n[0] + ( tid_x + n_ghost ); + fakeid = ( tid_z + n_ghost ) * n[0] * n[1] + ( tid_y + n_ghost ) * n[0] + ( tid_x + n_ghost ); x[0] = bounds[0] + dx[0] * ( tid_x + 0.5); x[1] = bounds[1] + dx[1] * ( tid_y + 0.5); x[2] = bounds[2] + dx[2] * ( tid_z + 0.5); -// Position of the center of mass - for ( int ii = 0; ii < 3; ii++ ) xstar[threadIdx.x * 3 + ii] += x[ii] * rho[fakeid]; +// Position of the center of mass + for ( int ii = 0; ii < 3; ii++ ) xstar[threadIdx.x * 3 + ii] += x[ii] * rho[fakeid]; -// Velocity of the center of mass - vstar[threadIdx.x * 3 ] += momentum_x[fakeid]; - vstar[threadIdx.x * 3 + 1] += momentum_y[fakeid]; - vstar[threadIdx.x * 3 + 2] += momentum_z[fakeid]; +// Velocity of the center of mass + vstar[threadIdx.x * 3 ] += momentum_x[fakeid]; + vstar[threadIdx.x * 3 + 1] += momentum_y[fakeid]; + vstar[threadIdx.x * 3 + 2] += momentum_z[fakeid]; tid += blockDim.x * gridDim.x; } @@ -61,9 +61,9 @@ __global__ void comKernel(Real *rho, Real *momentum_x, Real *momentum_y, Real *m int i = blockDim.x / 2; while ( i > 0 ){ if ( threadIdx.x < i){ - for ( int ii = 0; ii < 3; ii++ ){ - xstar[threadIdx.x * 3 + ii] += xstar[( threadIdx.x + i) * 3 + ii]; - vstar[threadIdx.x * 3 + ii] += vstar[( threadIdx.x + i) * 3 + ii]; + for ( int ii = 0; ii < 3; ii++ ){ + xstar[threadIdx.x * 3 + ii] += xstar[( threadIdx.x + i) * 3 + ii]; + vstar[threadIdx.x * 3 + ii] += vstar[( threadIdx.x + i) * 3 + ii]; } } __syncthreads(); @@ -71,54 +71,54 @@ __global__ void comKernel(Real *rho, Real *momentum_x, Real *momentum_y, Real *m } if ( threadIdx.x == 0 ){ - for ( int ii = 0; ii < 3; ii++){ - partialxstar[3 * blockIdx.x + ii] = xstar[ii]; - partialvstar[3 * blockIdx.x + ii] = vstar[ii]; - } + for ( int ii = 0; ii < 3; ii++){ + partialxstar[3 * blockIdx.x + ii] = xstar[ii]; + partialvstar[3 * blockIdx.x + ii] = vstar[ii]; + } } } void Grid3D::updateCOM(){ - S.Mbox = Grav.ReQ[0] * sqrt( 4 * M_PI ); - Real totrho = S.Mbox / H.dx / H.dy / H.dz; + S.Mbox = Grav.ReQ[0] * sqrt( 4 * M_PI ); + Real totrho = S.Mbox / H.dx / H.dy / H.dz; /* - for ( int i = 0; i < 3; i++ ) S.xstar[i] = 0.; - for ( int i = 0; i < 3; i++ ) S.vstar[i] = 0.; + for ( int i = 0; i < 3; i++ ) S.xstar[i] = 0.; + for ( int i = 0; i < 3; i++ ) S.vstar[i] = 0.; - Real rho, x[3]; - int id; + Real rho, x[3]; + int id; - for (int k = H.n_ghost; k 0 ) chprintf(" Relaxation enabled. Initial relax rate: %f. Background relax rate: %.f\n", relaxRate0, relaxRateBkgnd); + if ( tRelax > 0 ) chprintf(" Relaxation enabled. Initial relax rate: %f. Background relax rate: %.f\n", relaxRate0, relaxRateBkgnd); } @@ -92,18 +92,18 @@ void Star::update(Real t, Real dt){ //The time along the orbit is different from the hydro time because we relax the star, and because the time along the orbit is measured with t = 0 at periapsis. When the star is not relaxed, we hold the star at the initial position along the orbit (but we compute no tidal forces!). After it's relaxed, we compute the time along the orbit accounting for the offset from the initial conditions. Remember that t0 is negative. //When relaxed == 0, the tidal tensors aren't used anyways. - if ( relaxed == 0 ){ - tOrb = t0; - } - else{ - tOrb = t + t0; - } + if ( relaxed == 0 ){ + tOrb = t0; + } + else{ + tOrb = t + t0; + } // Important: first do frames, then tidal tensors since they depend on the frames! - eta = geteta(tOrb); - updateFrameCoords (tOrb, dt); - updateBhCoords (tOrb, dt); - updateTidalTensors(tOrb, dt); + eta = geteta(tOrb); + updateFrameCoords (tOrb, dt); + updateBhCoords (tOrb, dt); + updateTidalTensors(tOrb, dt); } @@ -113,32 +113,32 @@ void Star::update(Real t, Real dt){ Real Star::getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]){ //Coordinates where the potential is requested - Real coords[3]; - coords[0] = x; - coords[1] = y; - coords[2] = z; + Real coords[3]; + coords[0] = x; + coords[1] = y; + coords[2] = z; - Real tidalPot; + Real tidalPot; // Using tidal tensors - tidalPot = 0.; - for ( int i = 0; i < 3; i++ ){ - for ( int j = 0; j < 3; j++){ - tidalPot += 0.5 * Cij[i][j] * coords[i] * coords[j]; - for ( int k = 0; k < 3; k++){ - tidalPot += (1./6.) + Cijk[i][j][k] * coords[i] * coords[j] * coords[k]; - for ( int l = 0; l < 3; l++){ - tidalPot += (1./24.) * Cijkl[i][j][k][l] * coords[i] * coords[j] * coords[k] * coords[l]; - } - } - } - } + tidalPot = 0.; + for ( int i = 0; i < 3; i++ ){ + for ( int j = 0; j < 3; j++){ + tidalPot += 0.5 * Cij[i][j] * coords[i] * coords[j]; + for ( int k = 0; k < 3; k++){ + tidalPot += (1./6.) + Cijk[i][j][k] * coords[i] * coords[j] * coords[k]; + for ( int l = 0; l < 3; l++){ + tidalPot += (1./24.) * Cijkl[i][j][k][l] * coords[i] * coords[j] * coords[k] * coords[l]; + } + } + } + } // Using the exact Newtonian potential -// Real r0 = sqrt( ); -// tidalPot = - G_CGS * Mbh / rOrb +// Real r0 = sqrt( ); +// tidalPot = - G_CGS * Mbh / rOrb - return tidalPot; + return tidalPot; } // Updates the tidal tensors, which only depend on the position of the center of the frame. @@ -146,77 +146,77 @@ Real Star::getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3 void Star::updateTidalTensors(Real t, Real dt){ //Coordinates - Real r = sqrt( pow( posFrame[0] - posBh[0], 2. ) + pow( posFrame[1] - posBh[1], 2. ) + pow( posFrame[2] - posBh[2], 2. )); - Real r2 = r * r; - Real r3 = r2 * r; - Real r4 = r3 * r; - Real r5 = r4 * r; - - Real rExt = sqrt( pow( posFrameExt[0] - posBhExt[0], 2. ) + pow( posFrameExt[1] - posBhExt[1], 2. ) + pow( posFrameExt[2] - posBhExt[2], 2. )); - Real r2Ext = rExt * rExt; - Real r3Ext = r2Ext * rExt; - Real r4Ext = r3Ext * rExt; - Real r5Ext = r4Ext * rExt; - - for ( int i = 0; i < 3; i++ ){ - for ( int j = 0; j < 3; j++ ){ - -// Quadrupole tensor at t - Cij[i][j] = kronDelta(i, j) - 3. * posFrame[i] * posFrame[j] / r2; - Cij[i][j] *= G_CGS * Mbh / r3; - -// Quadrupole tensor at t + dt/2 - extCij[i][j] = kronDelta(i, j) - 3. * posFrameExt[i] * posFrameExt[j] / r2Ext; - extCij[i][j] *= G_CGS * Mbh / r3Ext; - - for ( int k = 0; k < 3; k++){ - -// Octupole tensor at t - Cijk[i][j][k] = 15. * posFrame[i] * posFrame[j] * posFrame[k] / r3 - - 3. * ( posFrame[i] * kronDelta(j, k) + posFrame[j] * kronDelta(i, k) + posFrame[k] * kronDelta(i, j) ) / r; - Cijk[i][j][k] *= G_CGS * Mbh / r4; - -// Octupole tensor at t + dt / 2 - extCijk[i][j][k] = 15. * posFrameExt[i] * posFrameExt[j] * posFrameExt[k] / r3Ext - - 3. * ( posFrameExt[i] * kronDelta(j, k) + posFrameExt[j] * kronDelta(i, k) + posFrameExt[k] * kronDelta(i, j) ) / rExt; - extCijk[i][j][k] *= G_CGS * Mbh / r4Ext; - - for ( int l = 0; l < 3; l++){ - -// Hexadecapole tensor - Cijkl[i][j][k][l] = - 105. * posFrame[i] * posFrame[j] * posFrame[k] * posFrame[l] / r4 - + 15. * ( kronDelta(i, l) * posFrame[j] * posFrame[k] - + kronDelta(j, l) * posFrame[i] * posFrame[k] - + kronDelta(k, l) * posFrame[i] * posFrame[j] - + kronDelta(i, j) * posFrame[k] * posFrame[l] - + kronDelta(j, k) * posFrame[i] * posFrame[l] - + kronDelta(i, k) * posFrame[j] * posFrame[l] - ) / r2 - - 3. * ( kronDelta(i, j) * kronDelta(k, l) - + kronDelta(j, k) * kronDelta(i, l) - + kronDelta(i, k) * kronDelta(j, l) - ); - Cijkl[i][j][k][l] *= G_CGS * Mbh / r5; - -// Hexadecapole tensor at t + dt / 2 - extCijkl[i][j][k][l] = - 105. * posFrameExt[i] * posFrameExt[j] * posFrameExt[k] * posFrameExt[l] / r4Ext - + 15. * ( kronDelta(i, l) * posFrameExt[j] * posFrameExt[k] - + kronDelta(j, l) * posFrameExt[i] * posFrameExt[k] - + kronDelta(k, l) * posFrameExt[i] * posFrameExt[j] - + kronDelta(i, j) * posFrameExt[k] * posFrameExt[l] - + kronDelta(j, k) * posFrameExt[i] * posFrameExt[l] - + kronDelta(i, k) * posFrameExt[j] * posFrameExt[l] - ) / r2Ext - - 3. * ( kronDelta(i, j) * kronDelta(k, l) - + kronDelta(j, k) * kronDelta(i, l) - + kronDelta(i, k) * kronDelta(j, l) - ); - extCijkl[i][j][k][l] *= G_CGS * Mbh / r5Ext; - - } - } - } - } + Real r = sqrt( pow( posFrame[0] - posBh[0], 2. ) + pow( posFrame[1] - posBh[1], 2. ) + pow( posFrame[2] - posBh[2], 2. )); + Real r2 = r * r; + Real r3 = r2 * r; + Real r4 = r3 * r; + Real r5 = r4 * r; + + Real rExt = sqrt( pow( posFrameExt[0] - posBhExt[0], 2. ) + pow( posFrameExt[1] - posBhExt[1], 2. ) + pow( posFrameExt[2] - posBhExt[2], 2. )); + Real r2Ext = rExt * rExt; + Real r3Ext = r2Ext * rExt; + Real r4Ext = r3Ext * rExt; + Real r5Ext = r4Ext * rExt; + + for ( int i = 0; i < 3; i++ ){ + for ( int j = 0; j < 3; j++ ){ + +// Quadrupole tensor at t + Cij[i][j] = kronDelta(i, j) - 3. * posFrame[i] * posFrame[j] / r2; + Cij[i][j] *= G_CGS * Mbh / r3; + +// Quadrupole tensor at t + dt/2 + extCij[i][j] = kronDelta(i, j) - 3. * posFrameExt[i] * posFrameExt[j] / r2Ext; + extCij[i][j] *= G_CGS * Mbh / r3Ext; + + for ( int k = 0; k < 3; k++){ + +// Octupole tensor at t + Cijk[i][j][k] = 15. * posFrame[i] * posFrame[j] * posFrame[k] / r3 + - 3. * ( posFrame[i] * kronDelta(j, k) + posFrame[j] * kronDelta(i, k) + posFrame[k] * kronDelta(i, j) ) / r; + Cijk[i][j][k] *= G_CGS * Mbh / r4; + +// Octupole tensor at t + dt / 2 + extCijk[i][j][k] = 15. * posFrameExt[i] * posFrameExt[j] * posFrameExt[k] / r3Ext + - 3. * ( posFrameExt[i] * kronDelta(j, k) + posFrameExt[j] * kronDelta(i, k) + posFrameExt[k] * kronDelta(i, j) ) / rExt; + extCijk[i][j][k] *= G_CGS * Mbh / r4Ext; + + for ( int l = 0; l < 3; l++){ + +// Hexadecapole tensor + Cijkl[i][j][k][l] = - 105. * posFrame[i] * posFrame[j] * posFrame[k] * posFrame[l] / r4 + + 15. * ( kronDelta(i, l) * posFrame[j] * posFrame[k] + + kronDelta(j, l) * posFrame[i] * posFrame[k] + + kronDelta(k, l) * posFrame[i] * posFrame[j] + + kronDelta(i, j) * posFrame[k] * posFrame[l] + + kronDelta(j, k) * posFrame[i] * posFrame[l] + + kronDelta(i, k) * posFrame[j] * posFrame[l] + ) / r2 + - 3. * ( kronDelta(i, j) * kronDelta(k, l) + + kronDelta(j, k) * kronDelta(i, l) + + kronDelta(i, k) * kronDelta(j, l) + ); + Cijkl[i][j][k][l] *= G_CGS * Mbh / r5; + +// Hexadecapole tensor at t + dt / 2 + extCijkl[i][j][k][l] = - 105. * posFrameExt[i] * posFrameExt[j] * posFrameExt[k] * posFrameExt[l] / r4Ext + + 15. * ( kronDelta(i, l) * posFrameExt[j] * posFrameExt[k] + + kronDelta(j, l) * posFrameExt[i] * posFrameExt[k] + + kronDelta(k, l) * posFrameExt[i] * posFrameExt[j] + + kronDelta(i, j) * posFrameExt[k] * posFrameExt[l] + + kronDelta(j, k) * posFrameExt[i] * posFrameExt[l] + + kronDelta(i, k) * posFrameExt[j] * posFrameExt[l] + ) / r2Ext + - 3. * ( kronDelta(i, j) * kronDelta(k, l) + + kronDelta(j, k) * kronDelta(i, l) + + kronDelta(i, k) * kronDelta(j, l) + ); + extCijkl[i][j][k][l] *= G_CGS * Mbh / r5Ext; + + } + } + } + } } From 08f71e0f69ff77d8867ca810540125b3b8c34b9b Mon Sep 17 00:00:00 2001 From: ryarza Date: Thu, 5 Nov 2020 08:02:49 -0800 Subject: [PATCH 04/21] Even more retab --- src/tides/polytrope_functions.cpp | 386 +++++++++++++++--------------- src/tides/tides.h | 116 ++++----- 2 files changed, 251 insertions(+), 251 deletions(-) diff --git a/src/tides/polytrope_functions.cpp b/src/tides/polytrope_functions.cpp index 1fcebae55..9779e2e7a 100644 --- a/src/tides/polytrope_functions.cpp +++ b/src/tides/polytrope_functions.cpp @@ -70,14 +70,14 @@ int Binary_Search( int N, Real val, Real *data, int indx_l, int indx_r ){ Real Interpolate( int n, int rootIdx, Real xi, Real *xiVals, Real *thetaVals, Real *dthetaVals ){ // if ( x <= xVals[0] ) return thetaVals[0]; // if ( x >= xVals[n-1] ) return thetaVals[n-1]; - if ( xi < 0. ) chprintf("Error: radius requested < 0" ); -// if ( r > P.Rstar ) chprintf("Error: radius requested > Rstar"); - if ( xi > xiVals[rootIdx] ){ - Real val = thetaVals[rootIdx] + ( xi - xiVals[rootIdx] ) * dthetaVals[rootIdx]; - chprintf("This cell is after the last xi. Returning %.10e\n", val); - return val; - } - if ( xi > xiVals[rootIdx+1]) chprintf("wtf\n"); + if ( xi < 0. ) chprintf("Error: radius requested < 0" ); +// if ( r > P.Rstar ) chprintf("Error: radius requested > Rstar"); + if ( xi > xiVals[rootIdx] ){ + Real val = thetaVals[rootIdx] + ( xi - xiVals[rootIdx] ) * dthetaVals[rootIdx]; + chprintf("This cell is after the last xi. Returning %.10e\n", val); + return val; + } + if ( xi > xiVals[rootIdx+1]) chprintf("wtf\n"); // Find the closest index for which xVal is less than x; int indx = Binary_Search( n, xi, xiVals, 0, n-1 ); @@ -94,12 +94,12 @@ Real Interpolate( int n, int rootIdx, Real xi, Real *xiVals, Real *thetaVals, Re void Grid3D::Polytropic_Star( struct parameters &P ){ - S.initialize(P, H.t, H.dt, H.nx, H.ny, H.nz); - chprintf(" Lane-Emden solver:\n"); + S.initialize(P, H.t, H.dt, H.nx, H.ny, H.nz); + chprintf(" Lane-Emden solver:\n"); //Solve Lane–Emden equation for the polytrope // int n_points = 500000000; - int n_points = 10000000; + int n_points = 10000000; Real *xi_vals = new Real[n_points]; Real *theta_vals = new Real[n_points]; Real *theta_deriv = new Real[n_points]; @@ -110,22 +110,22 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ xi_min = 1.e-10; - if ( P.polyN == 0. ){ - xi_max = 2.46; - } - else if ( P.polyN == 1. ){ - xi_max = 3.15; - } - else if ( P.polyN == 1.5 ){ - xi_max = 3.65376; - } - else{ - xi_max = 7.; - } + if ( P.polyN == 0. ){ + xi_max = 2.46; + } + else if ( P.polyN == 1. ){ + xi_max = 3.15; + } + else if ( P.polyN == 1.5 ){ + xi_max = 3.65376; + } + else{ + xi_max = 7.; + } dxi = xi_max / ( n_points - 1. ); - xi_vals[0] = 0.; - xi_vals[1] = xi_min; + xi_vals[0] = 0.; + xi_vals[1] = xi_min; for ( int i = 2; i < n_points; i++){ xi_vals[i] = i * dxi; } @@ -134,21 +134,21 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ vector poly_coords; // The first elements of this vector will be the known boundary conditions - poly_coords.push_back( Real2(1., 0.) ); - theta_vals[0] = 1.; - theta_deriv[0] = 0.; + poly_coords.push_back( Real2(1., 0.) ); + theta_vals[0] = 1.; + theta_deriv[0] = 0.; // We can't start the integration from the previous point because there'll be division by zero. Instead, integrate the first point from the known Taylor series solution to the equation - Real thetaTaylor, dthetaTaylor; + Real thetaTaylor, dthetaTaylor; thetaTaylor = 1. - (1./6.) * xi_min * xi_min + P.polyN * pow(xi_min, 4.) / 120. - P.polyN * ( 8. * P.polyN - 5.) * pow(xi_min, 6.) / 15120.; dthetaTaylor = - xi_min / 3. + P.polyN * pow(xi_min, 3.) / 30. - pow(xi_min, 5.) * P.polyN * ( -5. + 8 * P.polyN ) / 2520.; - poly_coords.push_back( Real2( thetaTaylor, dthetaTaylor ) ); + poly_coords.push_back( Real2( thetaTaylor, dthetaTaylor ) ); -// chprintf("Taylor series: %.10e, %.10e", thetaTaylor, dthetaTaylor); +// chprintf("Taylor series: %.10e, %.10e", thetaTaylor, dthetaTaylor); - theta_vals[1] = poly_coords[1].x; + theta_vals[1] = poly_coords[1].x; theta_deriv[1] = poly_coords[1].y; //Solve the polytrope equation using the RK4 module @@ -173,22 +173,22 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ } /* - for ( int i = 0; i < root_indx + 1; i++){ - chprintf("xi = %.10e, theta = %.10e, dtheta = %.10e\n", xi_vals[i], theta_vals[i], theta_deriv[i]); - } + for ( int i = 0; i < root_indx + 1; i++){ + chprintf("xi = %.10e, theta = %.10e, dtheta = %.10e\n", xi_vals[i], theta_vals[i], theta_deriv[i]); + } */ -// Linear interpolation estimate of the root - Real xi_root = ( xi_vals[root_indx + 1] * theta_vals[root_indx] - xi_vals[root_indx] * theta_vals[root_indx + 1] ) / ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); - chprintf( " Root at xi = %.5e. Theta values before and after: %.5e %.5e\n", xi_root, theta_vals[root_indx], theta_vals[root_indx+1] ); +// Linear interpolation estimate of the root + Real xi_root = ( xi_vals[root_indx + 1] * theta_vals[root_indx] - xi_vals[root_indx] * theta_vals[root_indx + 1] ) / ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); + chprintf( " Root at xi = %.5e. Theta values before and after: %.5e %.5e\n", xi_root, theta_vals[root_indx], theta_vals[root_indx+1] ); -// Linear extrapolation estimate of the derivative evaluated at the root +// Linear extrapolation estimate of the derivative evaluated at the root Real theta_deriv_root = xi_vals[root_indx + 1] * theta_vals[root_indx] * ( theta_deriv[root_indx - 1] - theta_deriv[root_indx] ); - theta_deriv_root += xi_vals[root_indx - 1] * theta_deriv[root_indx] * ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); - theta_deriv_root += xi_vals[root_indx] * ( theta_vals[root_indx + 1] * theta_deriv[root_indx] - theta_vals[root_indx] * theta_deriv[root_indx - 1] ); - theta_deriv_root /= ( xi_vals[root_indx - 1] - xi_vals[root_indx] ) * ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); + theta_deriv_root += xi_vals[root_indx - 1] * theta_deriv[root_indx] * ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); + theta_deriv_root += xi_vals[root_indx] * ( theta_vals[root_indx + 1] * theta_deriv[root_indx] - theta_vals[root_indx] * theta_deriv[root_indx - 1] ); + theta_deriv_root /= ( xi_vals[root_indx - 1] - xi_vals[root_indx] ) * ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); - chprintf( " d(theta)/d(xi) at the root: %.5e\n", theta_deriv_root ); + chprintf( " d(theta)/d(xi) at the root: %.5e\n", theta_deriv_root ); //Convert to physical values Real dens_avrg = ( 3 * P.Mstar ) / ( 4 * M_PI * pow( P.Rstar, 3) ); @@ -198,10 +198,10 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ Real K = pressure_central * pow( dens_central, -(P.polyN+1)/P.polyN ); Real alpha = sqrt( (P.polyN + 1) * K / ( 4 * M_PI * G_CGS ) ) * pow( dens_central, (1.-P.polyN)/(2*P.polyN) ); - chprintf( " rho_c / rho_av: %.5e g/cm^3\n", dens_central / dens_avrg ); - chprintf( " p_c : %.5e erg/cm^3\n", pressure_central ); + chprintf( " rho_c / rho_av: %.5e g/cm^3\n", dens_central / dens_avrg ); + chprintf( " p_c : %.5e erg/cm^3\n", pressure_central ); Real cs_center = sqrt( pressure_central / dens_central * P.gamma ); - chprintf( " t_cross : %.5e s\n ", P.Rstar / cs_center); + chprintf( " t_cross : %.5e s\n ", P.Rstar / cs_center); // chprintf( " K: %f \n", K ); // chprintf( " alpha: %f \n", alpha ); for ( int i=0; i tRelax - if ( t < S.tRelax || dens < 1.e1 * 1.e-10 ){ - vx *= relaxRate; - vy *= relaxRate; - vy *= relaxRate; - } +// Guillochon+ 2013 relaxation +// The first criterion will apply to all cells when t < tRelax, and only to low density cells when t > tRelax + if ( t < S.tRelax || dens < 1.e1 * 1.e-10 ){ + vx *= relaxRate; + vy *= relaxRate; + vy *= relaxRate; + } - v2 = vx*vx + vy*vy + vz*vz; -// v = sqrt( v2 ); + v2 = vx*vx + vy*vy + vz*vz; +// v = sqrt( v2 ); -// Compute the energy with the updated kinetic energy - E = U + 0.5*dens*v2; +// Compute the energy with the updated kinetic energy + E = U + 0.5*dens*v2; -// Save the updated values +// Save the updated values C.momentum_x[id] = dens*vx; C.momentum_y[id] = dens*vy; C.momentum_z[id] = dens*vz; @@ -430,7 +430,7 @@ void Grid3D::damp(){ #ifdef MPI_CHOLLA max_speed_global = ReduceRealMax( max_speed ); #endif - */ + */ } @@ -448,43 +448,43 @@ void Grid3D::Polytropic_Star_Relaxation( struct parameters &P ){ WriteData(*this, P, P.nfile); P.nfile++; - while (H.t < S.tRelax ){ - - chprintf(" Relaxation n_step: %d\n", n_step + 0 ); - - S.update(H.t, H.dt); - updateCOM(); - // calculate the timestep - set_dt(dti); - - // Advance the grid by one timestep - dti = Update_Hydro_Grid(); - - // update the simulation time ( t += dt ) - Update_Time(); - - // add one to the timestep count - n_step++; - - #ifdef GRAVITY - //Compute Gravitational potential for next step - Compute_Gravitational_Potential( &P); - #endif - - //Include the damping terms in momentum and energy - damp(); - -// TODO: Change from number of steps to time so that it's consistent with the rest of the code - // Output - if (n_step % int(P.outstep) == 0){ - WriteData(*this, P, P.nfile); - P.nfile++; - } - - // set boundary conditions for next time step - Set_Boundary_Conditions_Grid(P); - - chprintf("n_step: %d sim time: %10.7f sim timestep: %7.4e \n\n", n_step, H.t, H.dt); + while (H.t < S.tRelax ){ + + chprintf(" Relaxation n_step: %d\n", n_step + 0 ); + + S.update(H.t, H.dt); + updateCOM(); + // calculate the timestep + set_dt(dti); + + // Advance the grid by one timestep + dti = Update_Hydro_Grid(); + + // update the simulation time ( t += dt ) + Update_Time(); + + // add one to the timestep count + n_step++; + + #ifdef GRAVITY + //Compute Gravitational potential for next step + Compute_Gravitational_Potential( &P); + #endif + + //Include the damping terms in momentum and energy + damp(); + +// TODO: Change from number of steps to time so that it's consistent with the rest of the code + // Output + if (n_step % int(P.outstep) == 0){ + WriteData(*this, P, P.nfile); + P.nfile++; + } + + // set boundary conditions for next time step + Set_Boundary_Conditions_Grid(P); + + chprintf("n_step: %d sim time: %10.7f sim timestep: %7.4e \n\n", n_step, H.t, H.dt); } diff --git a/src/tides/tides.h b/src/tides/tides.h index c59078385..87ce28067 100644 --- a/src/tides/tides.h +++ b/src/tides/tides.h @@ -14,89 +14,89 @@ class Star public: //Star - Real Mstar; - Real Rstar; - Real polyN; - Real tRelax; - Real relaxRate0; - Real relaxRateBkgnd; - Real tdynStar; - int relaxed; + Real Mstar; + Real Rstar; + Real polyN; + Real tRelax; + Real relaxRate0; + Real relaxRateBkgnd; + Real tdynStar; + int relaxed; //Total mass in the box. Used to compute mass loss for close encounters - Real Mbox; + Real Mbox; //Tides - Real rp; - Real r0; - Real tdynOrb; - Real Mbh; - Real q; - Real mu; - Real rt; - Real t0; - Real tOrb; - Real eta0; - Real eta; - Real E0orb; - Real Eorb; - Real E0star; - Real DEoE; + Real rp; + Real r0; + Real tdynOrb; + Real Mbh; + Real q; + Real mu; + Real rt; + Real t0; + Real tOrb; + Real eta0; + Real eta; + Real E0orb; + Real Eorb; + Real E0star; + Real DEoE; //Coordinates of the center of the box - Real posFrame[3]; - Real velFrame[3]; - Real accFrame[3]; + Real posFrame[3]; + Real velFrame[3]; + Real accFrame[3]; //Extrapolated - Real posFrameExt[3]; - Real velFrameExt[3]; - Real accFrameExt[3]; + Real posFrameExt[3]; + Real velFrameExt[3]; + Real accFrameExt[3]; //Coordinates of the bh - Real posBh[3]; - Real velBh[3]; - Real accBh[3]; + Real posBh[3]; + Real velBh[3]; + Real accBh[3]; //Extrapolated - Real posBhExt[3]; - Real velBhExt[3]; - Real accBhExt[3]; + Real posBhExt[3]; + Real velBhExt[3]; + Real accBhExt[3]; -// Coordinates of the star - Real xstar[3]; - Real vstar[3]; - Real astar[3]; +// Coordinates of the star + Real xstar[3]; + Real vstar[3]; + Real astar[3]; //Tidal tensors at the current time and at t + dt / 2 - Real extCij[3][3]; - Real extCijk[3][3][3]; - Real extCijkl[3][3][3][3]; + Real extCij[3][3]; + Real extCijk[3][3][3]; + Real extCijkl[3][3][3][3]; - Real Cij[3][3]; - Real Cijk[3][3][3]; - Real Cijkl[3][3][3][3]; + Real Cij[3][3]; + Real Cijk[3][3][3]; + Real Cijkl[3][3][3][3]; //Functions that change the state of S - void initialize(struct parameters &P, Real t, Real dt, int nx, int ny, int nz); - void update(Real t, Real dt); - void updateFrameCoords(Real t, Real dt); - void updateBhCoords(Real t, Real dt); - void updateTidalTensors(Real t, Real dt); + void initialize(struct parameters &P, Real t, Real dt, int nx, int ny, int nz); + void update(Real t, Real dt); + void updateFrameCoords(Real t, Real dt); + void updateBhCoords(Real t, Real dt); + void updateTidalTensors(Real t, Real dt); //Value of eta (proxy for time) and its first two derivatives with respect to time. These are used to track the coordinates of the center of the frame at all times analytically - Real geteta(Real t); - Real getdeta(Real t); - Real getddeta(Real t); + Real geteta(Real t); + Real getdeta(Real t); + Real getddeta(Real t); //Returns the tidal potential given a set of tidal tensors - Real getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]); + Real getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]); //Used for computing the center of mass position and speed in the GPU - int comBlocks; - Real *bufferxstar; - Real *buffervstar; + int comBlocks; + Real *bufferxstar; + Real *buffervstar; }; From ede53af5b5b311c5a0ec2b9262c723f91ee3d2f1 Mon Sep 17 00:00:00 2001 From: ryarza Date: Thu, 5 Nov 2020 08:06:20 -0800 Subject: [PATCH 05/21] Even more retab --- src/gravity/potential_SOR_3D_gpu.cu | 44 ++++++++--------- src/io.cpp | 12 ++--- src/mpi_routines.cpp | 74 ++++++++++++++--------------- src/mpi_routines.h | 12 ++--- 4 files changed, 69 insertions(+), 73 deletions(-) diff --git a/src/gravity/potential_SOR_3D_gpu.cu b/src/gravity/potential_SOR_3D_gpu.cu index 64668f33c..f39e3e396 100644 --- a/src/gravity/potential_SOR_3D_gpu.cu +++ b/src/gravity/potential_SOR_3D_gpu.cu @@ -139,22 +139,22 @@ __global__ void Iteration_Step_SOR( int n_cells, Real *density_d, Real *potentia // //Set neighbors ids int indx_l, indx_r, indx_d, indx_u, indx_b, indx_t; -// int indx_l2, indx_r2, indx_d2, indx_u2, indx_b2, indx_t2; +// int indx_l2, indx_r2, indx_d2, indx_u2, indx_b2, indx_t2; indx_l = tid_x-1; //Left -// indx_l2 = tid_x-2; //Two to the left +// indx_l2 = tid_x-2; //Two to the left indx_r = tid_x+1; //Right -// indx_r2 = tid_x+2; //Two to the right +// indx_r2 = tid_x+2; //Two to the right indx_d = tid_y-1; //Down -// indx_d2 = tid_y-2; //Two down +// indx_d2 = tid_y-2; //Two down indx_u = tid_y+1; //Up -// indx_u2 = tid_y+2; //Two up +// indx_u2 = tid_y+2; //Two up indx_b = tid_z-1; //Bottom -// indx_b2 = tid_z-2; //Two bottom +// indx_b2 = tid_z-2; //Two bottom indx_t = tid_z+1; //Top -// indx_t2 = tid_z+2; //Two top +// indx_t2 = tid_z+2; //Two top //Boundary Conditions are loaded to the potential array, the natural indices work! @@ -175,7 +175,7 @@ __global__ void Iteration_Step_SOR( int n_cells, Real *density_d, Real *potentia // indx_t = tid_z == nz_pot-n_ghost-1 ? tid_z-1 : tid_z+1; //Top Real rho, phi_c, phi_l, phi_r, phi_d, phi_u, phi_b, phi_t, phi_new; -// Real phi_l2, phi_r2, phi_d2, phi_u2, phi_b2, phi_t2; +// Real phi_l2, phi_r2, phi_d2, phi_u2, phi_b2, phi_t2; rho = density_d[tid]; phi_c = potential_d[tid_pot]; // phi_l2 = potential_d[ indx_l2 + tid_y * nx_pot + tid_z * nx_pot * ny_pot ]; @@ -192,23 +192,23 @@ __global__ void Iteration_Step_SOR( int n_cells, Real *density_d, Real *potentia // phi_t2 = potential_d[ tid_x + tid_y * nx_pot + indx_t2 * nx_pot * ny_pot ]; /* - if ( tid < 10 ){ - printf("l2: %f\n", phi_l2); - printf("r2: %f\n", phi_r2); - printf("d2: %f\n", phi_d2); - printf("u2: %f\n", phi_u2); - printf("b2: %f\n", phi_b2); - printf("t2: %f\n", phi_t2); - } + if ( tid < 10 ){ + printf("l2: %f\n", phi_l2); + printf("r2: %f\n", phi_r2); + printf("d2: %f\n", phi_d2); + printf("u2: %f\n", phi_u2); + printf("b2: %f\n", phi_b2); + printf("t2: %f\n", phi_t2); + } */ -// 4th order SOR step +// 4th order SOR step /* - phi_new = (1. - omega) *phi_c + phi_new = (1. - omega) *phi_c + ( omega / 90. ) * ( - phi_l2 + 16. * phi_l + 16. * phi_r - phi_r2 - - phi_d2 + 16. * phi_d + 16. * phi_u - phi_u2 - - phi_b2 + 16. * phi_b + 16. * phi_t - phi_t2 - - 12. * dx * dx * rho - ); + - phi_d2 + 16. * phi_d + 16. * phi_u - phi_u2 + - phi_b2 + 16. * phi_b + 16. * phi_t - phi_t2 + - 12. * dx * dx * rho + ); */ phi_new = (1-omega)*phi_c + omega/6*( phi_l + phi_r + phi_d + phi_u + phi_b + phi_t - dx*dx*rho ); diff --git a/src/io.cpp b/src/io.cpp index 3950045e4..640630196 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -473,7 +473,7 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) attribute_id = H5Acreate(file_id, "eta0", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.eta0); status = H5Aclose(attribute_id); - + attribute_id = H5Acreate(file_id, "eta", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.eta); status = H5Aclose(attribute_id); @@ -594,7 +594,7 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, Real_data); status = H5Aclose(attribute_id); - #ifdef TIDES + #ifdef TIDES attribute_id = H5Acreate(file_id, "xFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.posFrame); @@ -631,7 +631,7 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) // attribute_id = H5Acreate(file_id, "accSt", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); // status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.accSt); // status = H5Aclose(attribute_id); - #endif//TIDES + #endif//TIDES // Close the dataspace status = H5Sclose(dataspace_id); @@ -1501,8 +1501,8 @@ void Grid3D::Write_Grid_HDF5(hid_t file_id) #ifdef GRAVITY - #ifdef POISSON_TEST - // Copy the analytical potential array to the memory buffer. Remember that we defined the analytical potential inside G, so it has the hydro number of ghost zones + #ifdef POISSON_TEST + // Copy the analytical potential array to the memory buffer. Remember that we defined the analytical potential inside G, so it has the hydro number of ghost zones for (int k=0; k< H.nz_real; k++) { for (int j=0; j< H.ny_real; j++) { for (int i=0; i< H.nx_real; i++) { @@ -1518,7 +1518,7 @@ void Grid3D::Write_Grid_HDF5(hid_t file_id) status = H5Dwrite(dataset_id, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dataset_buffer); // Free the dataset id status = H5Dclose(dataset_id); - #endif + #endif #ifdef OUTPUT_POTENTIAL // Copy the potential array to the memory buffer diff --git a/src/mpi_routines.cpp b/src/mpi_routines.cpp index d60206249..e124153e4 100644 --- a/src/mpi_routines.cpp +++ b/src/mpi_routines.cpp @@ -160,12 +160,12 @@ void InitializeChollaMPI(int *pargc, char **pargv[]) MPI_CHREAL = MPI_DOUBLE; #endif /*PRECISION*/ - #if PRECISION == 1 - MPI_CHCOMPLEX = MPI_COMPLEX; - #endif - #if PRECISION == 2 - MPI_CHCOMPLEX = MPI_DOUBLE_COMPLEX; - #endif + #if PRECISION == 1 + MPI_CHCOMPLEX = MPI_COMPLEX; + #endif + #if PRECISION == 2 + MPI_CHCOMPLEX = MPI_DOUBLE_COMPLEX; + #endif #ifdef PARTICLES #ifdef PARTICLES_LONG_INTS @@ -755,26 +755,26 @@ Real ReduceRealAvg(Real x) Real ReduceRealSum(Real x) { - Real in = x; - Real out; - Real y; + Real in = x; + Real out; + Real y; - MPI_Allreduce(&in, &out, 1, MPI_CHREAL, MPI_SUM, world); - y = (Real) out; + MPI_Allreduce(&in, &out, 1, MPI_CHREAL, MPI_SUM, world); + y = (Real) out; - return y; + return y; } std::complex ReduceComplexSum(std::complex x){ - std::complex in = x; - std::complex out; - std::complex y; + std::complex in = x; + std::complex out; + std::complex y; - MPI_Allreduce(&in, &out, 1, MPI_CHCOMPLEX, MPI_SUM, world); + MPI_Allreduce(&in, &out, 1, MPI_CHCOMPLEX, MPI_SUM, world); - y = (std::complex) out; + y = (std::complex) out; - return y; + return y; } #ifdef PARTICLES @@ -1244,13 +1244,13 @@ void TileBlockDecomposition(void) //initialize np_x, np_y, np_z int np_x = 1; - int np_y = 1; - int np_z = 1; - //printf("nproc %d n_gpf %d\n",nproc,n_gpf); + int np_y = 1; + int np_z = 1; + //printf("nproc %d n_gpf %d\n",nproc,n_gpf); - /*find the greatest prime factor of the number of MPI processes*/ + /*find the greatest prime factor of the number of MPI processes*/ n_gpf = greatest_prime_factor(nproc); - //printf("nproc %d n_gpf %d\n",nproc,n_gpf); + //printf("nproc %d n_gpf %d\n",nproc,n_gpf); /*base decomposition on whether n_gpf==2*/ if(n_gpf!=2) @@ -1275,17 +1275,17 @@ void TileBlockDecomposition(void) /*increase ny, nz round-robin*/ while(np_x*np_y*np_z < nproc) { - np_y*=2; - if(np_x*np_y*np_z==nproc) - break; - np_z*=2; + np_y*=2; + if(np_x*np_y*np_z==nproc) + break; + np_z*=2; } } } }else{ - /*nproc is a power of 2*/ + /*nproc is a power of 2*/ /*if we are dealing with two dimensions, we can just assign domain*/ if(nz_global==1) { @@ -1315,21 +1315,21 @@ void TileBlockDecomposition(void) int n_tmp; if(np_z>np_y) { - n_tmp = np_y; - np_y = np_z; - np_z = n_tmp; + n_tmp = np_y; + np_y = np_z; + np_z = n_tmp; } if(np_y>np_x) { - n_tmp = np_x; - np_x = np_y; - np_y = n_tmp; + n_tmp = np_x; + np_x = np_y; + np_y = n_tmp; } if(np_z>np_y) { - n_tmp = np_y; - np_y = np_z; - np_z = n_tmp; + n_tmp = np_y; + np_y = np_z; + np_z = n_tmp; } //save result diff --git a/src/mpi_routines.h b/src/mpi_routines.h index 646b11e50..91ca751ea 100644 --- a/src/mpi_routines.h +++ b/src/mpi_routines.h @@ -11,10 +11,6 @@ #include "fftw3-mpi.h" #endif /*FFTW*/ -#if defined TIDES || defined POISSON_TEST -#include "complex" -#endif - /*Global MPI Variables*/ extern int procID; /*process rank*/ extern int nproc; /*number of processes in global comm*/ @@ -22,8 +18,8 @@ extern int root; /*rank of root process*/ extern int procID_node; /*process rank on node*/ extern int nproc_node; /*number of MPI processes on node*/ -extern MPI_Comm world; /*global communicator*/ -extern MPI_Comm node; /*communicator for each node*/ +extern MPI_Comm world; /*global communicator*/ +extern MPI_Comm node; /*communicator for each node*/ extern MPI_Datatype MPI_CHREAL; /*data type describing float precision*/ @@ -43,8 +39,8 @@ extern int source[6]; /* Decomposition flag */ extern int flag_decomp; -#define SLAB_DECOMP 1 //slab decomposition flag -#define BLOCK_DECOMP 2 //block decomposition flag +#define SLAB_DECOMP 1 //slab decomposition flag +#define BLOCK_DECOMP 2 //block decomposition flag //Communication buffers // For SLAB From 81615e2ccd5ccd244235c2e2d720aaa2dda9154c Mon Sep 17 00:00:00 2001 From: ryarza Date: Thu, 5 Nov 2020 08:07:52 -0800 Subject: [PATCH 06/21] Deleted old complex formulation --- src/mpi_routines.cpp | 2 ++ src/mpi_routines.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mpi_routines.cpp b/src/mpi_routines.cpp index e124153e4..5e95787c0 100644 --- a/src/mpi_routines.cpp +++ b/src/mpi_routines.cpp @@ -765,6 +765,7 @@ Real ReduceRealSum(Real x) return y; } +/* std::complex ReduceComplexSum(std::complex x){ std::complex in = x; std::complex out; @@ -776,6 +777,7 @@ std::complex ReduceComplexSum(std::complex x){ return y; } +*/ #ifdef PARTICLES /* MPI reduction wrapper for sum(part_int)*/ diff --git a/src/mpi_routines.h b/src/mpi_routines.h index 91ca751ea..39bfdf9e0 100644 --- a/src/mpi_routines.h +++ b/src/mpi_routines.h @@ -152,7 +152,7 @@ Real ReduceRealAvg(Real x); Real ReduceRealSum(Real x); /* MPI reduction wrapper for sum(Complex)*/ -std::complex ReduceComplexSum(std::complex x); +//std::complex ReduceComplexSum(std::complex x); #ifdef PARTICLES /* MPI reduction wrapper for sum(part_int)*/ From d57665ffcc402f44faa0f1adee620e30c18df243 Mon Sep 17 00:00:00 2001 From: ryarza Date: Wed, 11 Nov 2020 09:18:52 -0800 Subject: [PATCH 07/21] Changed prints for usefulness; COM calculation in GPU --- Makefile | 3 +- src/VL_3D_cuda.cu | 4 + src/global.cpp | 24 +++- src/global.h | 7 +- src/gravity/grav3D.cpp | 18 +-- src/gravity/grav3D.h | 11 +- src/gravity/gravity_functions.cpp | 4 +- src/gravity/multipole.cu | 184 ++++++++++++++++++++---------- src/gravity/potential_SOR_3D.cpp | 10 +- src/grid3D.cpp | 12 +- src/grid3D.h | 2 + src/initial_conditions.cpp | 9 +- src/main.cpp | 54 +++++---- src/tides/polytrope_functions.cpp | 13 +-- src/tides/tides.cpp | 32 +++--- src/tides/tides.h | 2 +- 16 files changed, 244 insertions(+), 145 deletions(-) diff --git a/Makefile b/Makefile index d91485c30..feb650aa5 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,8 @@ DFLAGS += -DVL # Apply a minimum value to conserved values DFLAGS += -DDENSITY_FLOOR -#DFLAGS += -DTEMPERATURE_FLOOR +DFLAGS += -DTEMPERATURE_FLOOR +DFLAGS += -DPRESSURE_FLOOR # Allocate GPU memory only once at the first timestep #DFLAGS += -DDYNAMIC_GPU_ALLOC diff --git a/src/VL_3D_cuda.cu b/src/VL_3D_cuda.cu index 3d5ef41e0..07cc3e032 100644 --- a/src/VL_3D_cuda.cu +++ b/src/VL_3D_cuda.cu @@ -181,6 +181,10 @@ Real VL_Algorithm_3D_CUDA(Real *host_conserved0, Real *host_conserved1, int nx, hipLaunchKernelGGL(Update_Conserved_Variables_3D_half, dim1dGrid, dim1dBlock, 0, 0, dev_conserved, dev_conserved_half, F_x, F_y, F_z, nx_s, ny_s, nz_s, n_ghost, dx, dy, dz, 0.5*dt, gama, n_fields, density_floor ); CudaCheckError(); + #ifdef TEMPERATURE_FLOOR + hipLaunchKernelGGL(Apply_Temperature_Floor, dim1dGrid, dim1dBlock, 0, 0, dev_conserved_half, nx_s, ny_s, nz_s, n_ghost, n_fields, U_floor ); + CudaCheckError(); + #endif //TEMPERATURE_FLOOR // Step 4: Construct left and right interface values using updated conserved variables #ifdef PCM diff --git a/src/global.cpp b/src/global.cpp index 5fcb25a43..3062dcb74 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -332,10 +332,12 @@ parms->scale_outputs_file[0] = '\0'; fclose (fp); } -void printCompileOptions(){ +void printHydroParams(){ + + chprintf("\nHydro solver parameters:\n"); //Time integrator - chprintf("Integrator: "); + chprintf(" Integrator: "); #ifdef CTU chprintf("CTU"); #elif defined VL @@ -346,8 +348,10 @@ void printCompileOptions(){ chprintf("not recognized"); #endif + chprintf("\n"); + //Reconstruction - chprintf(". Reconstruction: "); + chprintf(" Reconstruction: "); #ifdef PCM chprintf("PCM"); #elif defined PLMP @@ -362,8 +366,10 @@ void printCompileOptions(){ chprintf("not recognized"); #endif + chprintf("\n"); + //Riemann solver - chprintf(". Riemann solver: "); + chprintf(" Riemann solver: "); #ifdef EXACT chprintf("exact"); #elif defined ROE @@ -374,8 +380,10 @@ void printCompileOptions(){ chprintf("not recognized"); #endif + chprintf("\n"); + //H correction - chprintf(". H correction: "); + chprintf(" H correction: "); #ifdef H_CORRECTION chprintf("enabled"); #else @@ -384,4 +392,10 @@ void printCompileOptions(){ chprintf("\n"); + chprintf(" CFL: %f\n", C_cfl); + chprintf(" Floors:\n"); + chprintf(" T : %.10e\n", TEMP_FLOOR); + chprintf(" rho: %.10e\n", DENS_FLOOR); + chprintf(" P : %.10e\n", PRES_FLOOR); + } diff --git a/src/global.h b/src/global.h index 39577ade9..1aff1b79f 100644 --- a/src/global.h +++ b/src/global.h @@ -50,8 +50,9 @@ typedef double Real; #define LOG_FILE_NAME "run_output.log" //Conserved Floor Values -#define TEMP_FLOOR 1e-3 -#define DENS_FLOOR 1e-25 +#define TEMP_FLOOR 0. +#define DENS_FLOOR (1.e-25) +#define PRES_FLOOR (1.e-10) //Parameter for Enzo dual Energy Condition #define DE_ETA_1 0.001 //Ratio of U to E for wich Inetrnal Energy is used to compute the Pressure @@ -276,7 +277,7 @@ struct parameters * \brief Reads the parameters in the given file into a structure. */ extern void parse_params (char *param_file, struct parameters * parms); -extern void printCompileOptions(); +extern void printHydroParams(); #endif //GLOBAL_H diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index d694f1d77..a7d4fa368 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -67,18 +67,18 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R Gconst = GN; if (strcmp(P->init, "Spherical_Overdensity_3D")==0){ Gconst = 1; - chprintf("WARNING: Using Gravitational Constant G=1.\n"); +// chprintf("WARNING: Using Gravitational Constant G=1.\n"); } #ifdef POISSON_TEST Gconst = 1; - chprintf("WARNING: Using Gravitational Constant G=1.\n"); #endif #ifdef TIDES Gconst = G_CGS; - chprintf("WARNING: Using Gravitational Constant in cgs units.\n"); #endif + + chprintf(" Using G = %.10e\n", Gconst); //Flag to transfer the Potential boundaries TRANSFER_POTENTIAL_BOUNDARIES = false; @@ -90,10 +90,11 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R Initialize_values_CPU(); - chprintf( "Gravity Initialized: \n Lbox: %0.2f %0.2f %0.2f \n Local: %d %d %d \n Global: %d %d %d \n", - Lbox_x, Lbox_y, Lbox_z, nx_local, ny_local, nz_local, nx_total, ny_total, nz_total ); +// chprintf( "Gravity Initialized: \n Lbox: %0.2f %0.2f %0.2f \n Local: %d %d %d \n Global: %d %d %d \n", +// Lbox_x, Lbox_y, Lbox_z, nx_local, ny_local, nz_local, nx_total, ny_total, nz_total ); +// chprintf("Gravity initialized.\n"); - chprintf( " dx:%f dy:%f dz:%f\n", dx, dy, dz ); +// chprintf( " dx:%f dy:%f dz:%f\n", dx, dy, dz ); chprintf( " N ghost potential: %d\n", N_GHOST_POTENTIAL); chprintf( " N ghost offset: %d\n", n_ghost_pot_offset); @@ -135,9 +136,12 @@ void Grav3D::AllocateMemory_CPU(void) //Real and imaginary parts of the multipole moments of the density distribution ReQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); ImQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); - Qblocks = ceil( ( nx_local * ny_local * nz_local ) / QTPB ); + Qblocks = ceil( ( nx_local * ny_local * nz_local ) / QTPB ); + centerBlocks = ceil( ( nx_local * ny_local * nz_local ) / CENTERTPB ); bufferReQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); bufferImQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); + bufferCenter = (Real *) malloc( sizeof(Real) * centerBlocks * 3 ); + bufferTotrhosq = (Real *) malloc( sizeof(Real) * centerBlocks ); #endif } diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index 579871479..e50807e42 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -5,8 +5,9 @@ #include"../global.h" #if defined TIDES || defined POISSON_TEST -#define LMAX (7) -#define QTPB (64) +#define LMAX (12) +#define QTPB (32) +#define CENTERTPB (1024) #endif #ifdef PFFT @@ -19,7 +20,7 @@ #ifdef SOR #include"potential_SOR_3D.h" -#define SOREPSILON (1.e-12) +#define SOREPSILON (1.e-8) #endif #ifdef PARIS @@ -119,7 +120,9 @@ class Grav3D Real *ImQ; Real *bufferReQ; Real *bufferImQ; - int Qblocks; + Real *bufferCenter; + Real *bufferTotrhosq; + int Qblocks, centerBlocks; Real center[3]; int Qidx(int cidx, int l, int m); void fillLegP(Real* legP, Real x); diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index c3ea0d2da..98e59c90e 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -515,10 +515,10 @@ void Grid3D::Extrapolate_Grav_Potential_Function( int g_start, int g_end ){ Get_Position(i+nGHST, j+nGHST, k+nGHST, &x[0], &x[1], &x[2]); // TEMPORARY ON: Analytical tidal potential for newtonian potential instead of tidal tensors - framePot = G_CGS * S.Mbh * ( x[0] * dxaux[0] + x[1] * dxaux[1] + x[2] * dxaux[2] ) / pow(dxaux[0] * dxaux[0] + dxaux[1] * dxaux[1] + dxaux[2] * dxaux[2], 1.5); + framePot = - G_CGS * S.Mbh * ( x[0] * dxaux[0] + x[1] * dxaux[1] + x[2] * dxaux[2] ) / pow(dxaux[0] * dxaux[0] + dxaux[1] * dxaux[1] + dxaux[2] * dxaux[2], 1.5); globalPot = - G_CGS * S.Mbh / sqrt( pow((x[0] - dxaux[0]), 2.) + pow(x[1] - dxaux[1], 2.) + pow(x[2] - dxaux[2], 2.) ); - pot_extrp += globalPot + framePot; + pot_extrp += globalPot - framePot; // chprintf("Tensor / analytical: %.10e\n", S.getTidalPotential(x[0], x[1], x[2], S.extCij, S.extCijk, S.extCijkl) / ( globalPot + framePot )); // pot_extrp += S.getTidalPotential(posx, posy, posz, S.extCij, S.extCijk, S.extCijkl); } diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu index 286f7800d..4ae29e510 100644 --- a/src/gravity/multipole.cu +++ b/src/gravity/multipole.cu @@ -155,16 +155,18 @@ __global__ void QlmKernel(Real *rho, Real *center, Real *bounds, Real *dx, Real pos[2] = bounds[2] + dx[2] * ( tid_z + 0.5) - center[2]; r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); - phi = atan2(pos[1], pos[0]); + if ( r < rmpole ){ + phi = atan2(pos[1], pos[0]); - fillLegP(dev_legP, pos[2] / r); + fillLegP(dev_legP, pos[2] / r); - for ( int l = 0; l <= LMAX; l++ ){ - fac = pow(r, l) * rho[tidFake(tid_x, tid_y, tid_z, n_ghost, n)]; + for ( int l = 0; l <= LMAX; l++ ){ + fac = pow(r, l) * rho[tidFake(tid_x, tid_y, tid_z, n_ghost, n)]; - for ( int m = 0; m <= l; m++ ){ - ReQ[dQidx(cidx, l, m)] += dev_legP[dQidx(0,l,m)] * fac * cos(m * phi); - ImQ[dQidx(cidx, l, m)] += dev_legP[dQidx(0,l,m)] * fac * sin(m * phi); + for ( int m = 0; m <= l; m++ ){ + ReQ[dQidx(cidx, l, m)] += dev_legP[dQidx(0,l,m)] * fac * cos(m * phi); + ImQ[dQidx(cidx, l, m)] += dev_legP[dQidx(0,l,m)] * fac * sin(m * phi); + } } } tid += stride; @@ -196,59 +198,140 @@ __global__ void QlmKernel(Real *rho, Real *center, Real *bounds, Real *dx, Real } } -/* -__global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_ghost, Real *partialCenter){ +__global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_ghost, Real *partialCenter, Real *partialTotrhosq){ - int nreal[3]; + __shared__ Real bCenter[3 * CENTERTPB]; + __shared__ Real bTotrhosq[CENTERTPB]; + + for ( int i = threadIdx.x * 3; i < ( threadIdx.x + 1 ) * 3; i++ ) bCenter[i] = 0.; + bTotrhosq[threadIdx.x] = 0.; + + int nreal[3], tid[3]; for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; int nrealcells = nreal[0] * nreal[1] * nreal[2]; - int tid = threadIdx.x + blockIdx.x * blockDim.x; - int tid_z = tid / ( nreal[0] * nreal[1] ); - int tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; - int tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; - int cidx = threadIdx.x; - int stride = blockDim.x * gridDim.x; + int tid1d = threadIdx.x + blockIdx.x * blockDim.x; + tid[2] = tid1d / ( nreal[0] * nreal[1] ); + tid[1] = ( tid1d - tid[2] * nreal[0] * nreal[1] ) / nreal[0]; + tid[0] = tid1d - tid[2] * nreal[0] * nreal[1] - tid[1] * nreal[0]; + + Real x[3], rhosq; + int fid; + + while ( tid1d < nrealcells ){ + tid[2] = tid1d / ( nreal[0] * nreal[1] ); + tid[1] = ( tid1d - tid[2] * nreal[0] * nreal[1] ) / nreal[0]; + tid[0] = tid1d - tid[2] * nreal[0] * nreal[1] - tid[1] * nreal[0]; + fid = tidFake(tid[0], tid[1], tid[2], n_ghost, n); + + rhosq = rho[fid] * rho[fid]; + + bTotrhosq[threadIdx.x] += rhosq; + for ( int i = 0; i < 3; i++ ){ + x[i] = bounds[i] + dx[i] * ( tid[i] + 0.5); + bCenter[3 * threadIdx.x + i] += x[i] * rhosq; + } - while ( tid < nrealcells ){ + tid1d += blockDim.x * gridDim.x; - tid_z = tid / ( nreal[0] * nreal[1] ); - tid_y = ( tid - tid_z * nreal[0] * nreal[1] ) / nreal[0]; - tid_x = tid - tid_z * nreal[0] * nreal[1] - tid_y * nreal[0]; + } - pos[0] = bounds[0] + dx[0] * ( tid_x + 0.5) - center[0]; - pos[1] = bounds[1] + dx[1] * ( tid_y + 0.5) - center[1]; - pos[2] = bounds[2] + dx[2] * ( tid_z + 0.5) - center[2]; - r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); - rhosq= rho[tidFake(...)] * rho[tidFake(...)]; + __syncthreads(); + + int i = blockDim.x / 2; + while ( i > 0 ){ + if ( threadIdx.x < i ){ + for ( int ii = 0; ii < 3; ii++ ) bCenter[3 * threadIdx.x + ii] += bCenter[3 * ( threadIdx.x + i ) + ii]; + bTotrhosq[threadIdx.x] += bTotrhosq[threadIdx.x + i]; + } + __syncthreads(); + i /= 2; + } - + if ( threadIdx.x == 0 ){ + for ( int i = 0; i < 3; i++) partialCenter[3 * blockIdx.x + i] = bCenter[i]; + partialTotrhosq[blockIdx.x] = bTotrhosq[0]; + } } -*/ -void Grid3D::setMoments(){ - Real dx[3], bounds[3]; +void Grid3D::setCenter(){ + + Real dx[3], bounds[3], totrhosq; int n[3]; dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; - Real dV = dx[0] * dx[1] * dx[2]; bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; - #ifdef POISSON_TEST - struct timeval timecheck; - long start, end; + Real *dev_rho, *dev_bounds, *dev_dx, *dev_partialCenter, *dev_partialTotrhosq; + int *dev_n; - gettimeofday(&timecheck, NULL); - start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - #endif +//Allocate memory in GPU + cudaMalloc( (void**)&dev_rho , n[0] * n[1] * n[2] * sizeof(Real) ); + cudaMalloc( (void**)&dev_bounds , 3 * sizeof(Real)); + cudaMalloc( (void**)&dev_n , 3 * sizeof(int)); + cudaMalloc( (void**)&dev_dx , 3 * sizeof(Real)); + cudaMalloc( (void**)&dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real) ); + cudaMalloc( (void**)&dev_partialTotrhosq, 3 * Grav.centerBlocks * sizeof(Real) ); + +//Copy inputs to GPU + cudaMemcpy( dev_rho, C.density, n[0] * n[1] * n[2]*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( dev_bounds, bounds, 3*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( dev_n, n, 3*sizeof(int), cudaMemcpyHostToDevice); + cudaMemcpy( dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); + +//Call Kernel + cudaDeviceSynchronize(); + centerKernel<<>>(dev_rho, dev_bounds, dev_dx, dev_n, H.n_ghost, dev_partialCenter, dev_partialTotrhosq); + +//Copy result to CPU + cudaMemcpy(Grav.bufferCenter , dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost); + cudaMemcpy(Grav.bufferTotrhosq, dev_partialTotrhosq, Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost); + +//Free GPU + cudaFree(dev_rho); + cudaFree(dev_bounds); + cudaFree(dev_dx); + cudaFree(dev_n); + cudaFree(dev_partialTotrhosq); + cudaFree(dev_partialCenter); + +//Do final reduction on CPU + totrhosq = 0.; + for ( int i = 0; i < Grav.centerBlocks; i++ ){ + totrhosq += Grav.bufferTotrhosq[i]; + } + MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); + + for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + for ( int i = 0; i < Grav.centerBlocks; i++ ){ + for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] += Grav.bufferCenter[3 * i + ii]; + } + MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); + + for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; + +} + +//TODO: rmpole should be the distance from the center of the expansion to the nearest boundary cell, not from the center of the domain to the nearest boundary cell +void Grid3D::setMoments(){ + Real dx[3], bounds[3]; + int n[3]; + dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; + Real dV = dx[0] * dx[1] * dx[2]; + bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; + n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; +/* int id; Real rhosq, totrhosq; Real x[3]; +*/ -// Find the center of the multipole expansion according to Couch et al. 2013 +////////// Find the center of the expansion according to Couch et al. 2013 + setCenter(); +/* totrhosq = 0.; for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; @@ -271,25 +354,12 @@ void Grid3D::setMoments(){ #ifdef MPI_CHOLLA MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); - #endif//MPI_CHOLLA + #endif for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; - -// for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; - - chprintf(" Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); - - #ifdef POISSON_TEST - gettimeofday(&timecheck, NULL); - end = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - - Real timeused = ( (Real) ( end - start ) ); - chprintf("Computing the center of the expansion took %.10e milliseconds\n", timeused); - - - gettimeofday(&timecheck, NULL); - start = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - #endif +*/ + if ( H.n_step > 0) chprintf(" "); + chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); Real *dev_rho, *dev_center, *dev_bounds, *dev_dx, *dev_partialReQ, *dev_partialImQ; int *dev_n; @@ -354,12 +424,6 @@ void Grid3D::setMoments(){ #endif #ifdef POISSON_TEST - gettimeofday(&timecheck, NULL); - end = (long)timecheck.tv_sec * 1000 + (long)timecheck.tv_usec / 1000; - - timeused = ( (Real) ( end - start ) ); - chprintf("Computing Qlm took %.10e milliseconds\n", timeused); - int lmidx; for ( int l = 0; l <= LMAX; l++ ){ for ( int m = 0; m <= l; m++ ){ diff --git a/src/gravity/potential_SOR_3D.cpp b/src/gravity/potential_SOR_3D.cpp index 24b8d5e31..61678ba99 100644 --- a/src/gravity/potential_SOR_3D.cpp +++ b/src/gravity/potential_SOR_3D.cpp @@ -49,16 +49,16 @@ void Potential_SOR_3D::Initialize( Real Lx, Real Ly, Real Lz, Real x_min, Real y TRANSFER_POISSON_BOUNDARIES = false; - chprintf( " Using Poisson Solver: SOR\n"); - chprintf(" Convergence epsilon: %.10e\n", SOREPSILON); + chprintf( " Poisson solver: SOR\n"); + chprintf( " Convergence epsilon: %.5e\n", SOREPSILON); #ifdef TIDES - chprintf(" Maximum angular order: %i", LMAX); + chprintf( " Maximum angular order: %i\n", LMAX); #endif - chprintf( " SOR: L[ %f %f %f ] N[ %d %d %d ] dx[ %f %f %f ]\n", Lbox_x, Lbox_y, Lbox_z, nx_local, ny_local, nz_local, dx, dy, dz ); +// chprintf( " SOR: L[ %f %f %f ] N[ %d %d %d ] dx[ %f %f %f ]\n", Lbox_x, Lbox_y, Lbox_z, nx_local, ny_local, nz_local, dx, dy, dz ); - chprintf( " SOR: Allocating memory...\n"); + chprintf( " Allocating memory...\n"); AllocateMemory_CPU(); AllocateMemory_GPU(); diff --git a/src/grid3D.cpp b/src/grid3D.cpp index 7f2ad90ad..e2fd331d7 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -227,6 +227,12 @@ void Grid3D::Initialize(struct parameters *P) H.density_floor = 0.0; #endif + #ifdef PRESSURE_FLOOR + H.pressure_floor = PRES_FLOOR; + #else + H.pressure_floor = 0.; + #endif + #ifdef TEMPERATURE_FLOOR H.temperature_floor = TEMP_FLOOR; #else @@ -240,7 +246,6 @@ void Grid3D::Initialize(struct parameters *P) H.Output_Initial = true; - } @@ -532,8 +537,11 @@ Real Grid3D::Update_Grid(void) Real U_floor, density_floor; density_floor = H.density_floor; // Minimum of internal energy from minumum of temperature - U_floor = H.temperature_floor / (gama - 1) / MP * KB * 1e-10;; + U_floor = H.pressure_floor / ( gama - 1 ) / H.density_floor; +//TEMPORARY: U floor = 0 + U_floor = 0; #ifdef COSMOLOGY + U_floor = H.temperature_floor / (gama - 1) / MP * KB * 1e-10;; U_floor /= Cosmo.v_0_gas * Cosmo.v_0_gas / Cosmo.current_a / Cosmo.current_a; #endif diff --git a/src/grid3D.h b/src/grid3D.h index 8a315eb68..1848ca51a 100644 --- a/src/grid3D.h +++ b/src/grid3D.h @@ -224,6 +224,7 @@ struct Header // Values for lower limit for density and temperature Real density_floor; Real temperature_floor; + Real pressure_floor; Real Ekin_avrg; @@ -760,6 +761,7 @@ class Grid3D #if defined POISSON_TEST || defined TIDES void setMoments(); + void setCenter(); #endif }; diff --git a/src/initial_conditions.cpp b/src/initial_conditions.cpp index ab15ceea8..de7e3ebec 100644 --- a/src/initial_conditions.cpp +++ b/src/initial_conditions.cpp @@ -31,6 +31,10 @@ void Grid3D::Set_Initial_Conditions(parameters P) { Set_Domain_Properties(P); Set_Gammas(P.gamma); + #ifdef TIDES + S.initialize(P, H.t, H.dt, H.nx, H.ny, H.nz); + #endif + if (strcmp(P.init, "Constant")==0) { Constant(P.rho, P.vx, P.vy, P.vz, P.P); } else if (strcmp(P.init, "Sound_Wave")==0) { @@ -77,19 +81,16 @@ void Grid3D::Set_Initial_Conditions(parameters P) { } else if (strcmp(P.init, "Zeldovich_Pancake")==0) { Zeldovich_Pancake(P); } - #ifdef TIDES else if (strcmp(P.init, "Polytropic_Star")==0) { Polytropic_Star(P); } - #endif//TIDES - + #endif #ifdef POISSON_TEST else if (strcmp(P.init, "poissonTest") == 0) { poissonTest(P); } #endif - else { chprintf ("ABORT: %s: Unknown initial conditions!\n", P.init); chexit(-1); diff --git a/src/main.cpp b/src/main.cpp index 2cfc13ba9..f6cd075fd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -57,27 +57,22 @@ int main(int argc, char *argv[]) // create the grid Grid3D G; -// Print compile options to keep track of the exact state of the code - printCompileOptions(); // read in the parameters parse_params (param_file, &P); // and output to screen - chprintf ("Parameter values: nx = %d, ny = %d, nz = %d, tout = %f, init = %s, boundaries = %i %i %i %i %i %i\n", - P.nx, P.ny, P.nz, P.tout, P.init, P.xl_bcnd, P.xu_bcnd, P.yl_bcnd, P.yu_bcnd, P.zl_bcnd, P.zu_bcnd); - if (strcmp(P.init, "Read_Grid") == 0 ) chprintf ("Input directory: %s\n", P.indir); - chprintf ("Output directory: %s\n", P.outdir); + chprintf ("Parameter values:\n n: [%d, %d, %d]\n Boundaries: %i %i %i %i %i %i\n Gas gamma: %.5e\n Initial conditions: %s\n Final time: %.5e", P.nx, P.ny, P.nz, P.xl_bcnd, P.xu_bcnd, P.yl_bcnd, P.yu_bcnd, P.zl_bcnd, P.zu_bcnd, P.gamma, P.init, P.tout); + if (strcmp(P.init, "Read_Grid") == 0 ) chprintf (" Input directory: %s\n", P.indir); + chprintf (" Output directory: %s\n", P.outdir); //Create a Log file to output run-time messages Create_Log_File(P); // initialize the grid G.Initialize(&P); - chprintf("Local number of grid cells: %d %d %d %d\n", G.H.nx_real, G.H.ny_real, G.H.nz_real, G.H.n_cells); - chprintf("CFL: %f\n", C_cfl); // Set initial conditions and calculate first dt - chprintf("Setting initial conditions...\n"); + chprintf("\nSetting initial conditions...\n"); G.Set_Initial_Conditions(P); chprintf("Initial conditions set.\n"); // set main variables for Read_Grid inital conditions @@ -87,6 +82,10 @@ int main(int argc, char *argv[]) nfile = P.nfile*P.nfull; } + printHydroParams(); +// chprintf("Local number of grid cells: %d %d %d %d\n", G.H.nx_real, G.H.ny_real, G.H.nz_real, G.H.n_cells); +// chprintf("Local dx: %.5e, %.5e, %.5e\n", G.H.dx, G.H.dy, G.H.dz); + #ifdef DE chprintf("\nUsing Dual Energy Formalism:\n eta_1: %0.3f eta_2: %0.4f\n", DE_ETA_1, DE_ETA_2 ); char *message = (char*)malloc(50 * sizeof(char)); @@ -119,12 +118,8 @@ int main(int argc, char *argv[]) G.Compute_Gravitational_Potential( &P); #endif - #ifdef TIDES - G.updateCOM(); - #endif - // Set boundary conditions (assign appropriate values to ghost cells) for hydro and potential - chprintf("Setting boundary conditions...\n"); + chprintf("\nSetting boundary conditions...\n"); G.Set_Boundary_Conditions_Grid(P); chprintf("Boundary conditions set.\n"); @@ -133,9 +128,8 @@ int main(int argc, char *argv[]) G.Get_Particles_Acceleration(); #endif - chprintf("Dimensions of each cell: dx = %f dy = %f dz = %f\n", G.H.dx, G.H.dy, G.H.dz); - chprintf("Ratio of specific heats gamma = %f\n",gama); - chprintf("Nstep = %d Timestep = %f Simulation time = %f\n", G.H.n_step, G.H.dt, G.H.t); + chprintf("\ndx: [%.5e, %.5e, %.5e%f dy = %f dz = %f\n", G.H.dx, G.H.dy, G.H.dz); + chprintf("\nNstep = %d Timestep = %f Simulation time = %f\n", G.H.n_step, G.H.dt, G.H.t); #ifdef TIDES if ( strcmp(P.init, "Polytropic_Star") == 0 && G.S.tRelax > 0. ){ @@ -150,9 +144,12 @@ int main(int argc, char *argv[]) #ifdef OUTPUT if (strcmp(P.init, "Read_Grid") != 0 || G.H.Output_Now ) { + #ifdef TIDES + G.updateCOM(); + #endif // write the initial conditions to file - chprintf("Writing initial conditions to file...\n"); - WriteData(G, P, nfile); + chprintf("\nWriting initial conditions to file...\n"); + WriteData(G, P, nfile); } // add one to the output file count nfile++; @@ -162,7 +159,7 @@ int main(int argc, char *argv[]) #ifdef POISSON_TEST G.poissonErrorNorm(); exit(0); - #endif//POISSON_TEST + #endif // increment the next output time outtime += P.outstep; @@ -174,14 +171,14 @@ int main(int argc, char *argv[]) init_min = ReduceRealMin(init); init_max = ReduceRealMax(init); init_avg = ReduceRealAvg(init); - chprintf("Init min: %9.4f max: %9.4f avg: %9.4f\n", init_min, init_max, init_avg); + chprintf("\nInit min: %9.4f max: %9.4f avg: %9.4f\n", init_min, init_max, init_avg); #else printf("Init %9.4f\n", init); #endif //MPI_CHOLLA #endif //CPU_TIME // Evolve the grid, one timestep at a time - chprintf("Starting calculations.\n"); + chprintf("\nStarting calculations.\n\n"); while (G.H.t < P.tout) { chprintf("n_step: %d \n", G.H.n_step + 1 ); @@ -200,6 +197,10 @@ int main(int argc, char *argv[]) G.Transfer_Particles_Boundaries(P); #endif + #ifdef TIDES + G.S.update(G.H.t, G.H.dt); + #endif + // Advance the grid by one timestep dti = G.Update_Hydro_Grid(); @@ -211,18 +212,12 @@ int main(int argc, char *argv[]) // update the simulation time ( t += dt ) G.Update_Time(); - G.set_dt(dti); - - #ifdef TIDES - G.S.update(G.H.t, G.H.dt); - #endif #ifdef GRAVITY //Compute Gravitational potential for next step G.Compute_Gravitational_Potential( &P); #endif - // add one to the timestep count G.H.n_step++; @@ -299,6 +294,9 @@ int main(int argc, char *argv[]) Write_Message_To_Log_File( "Run completed successfully!"); +//TEMPORARY ON: Exit with exit(0); + exit(0); + // free the grid G.Reset(); diff --git a/src/tides/polytrope_functions.cpp b/src/tides/polytrope_functions.cpp index 9779e2e7a..215b15ea1 100644 --- a/src/tides/polytrope_functions.cpp +++ b/src/tides/polytrope_functions.cpp @@ -94,8 +94,7 @@ Real Interpolate( int n, int rootIdx, Real xi, Real *xiVals, Real *thetaVals, Re void Grid3D::Polytropic_Star( struct parameters &P ){ - S.initialize(P, H.t, H.dt, H.nx, H.ny, H.nz); - chprintf(" Lane-Emden solver:\n"); + chprintf(" Lane-Emden solver:\n"); //Solve Lane–Emden equation for the polytrope // int n_points = 500000000; @@ -180,7 +179,7 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ // Linear interpolation estimate of the root Real xi_root = ( xi_vals[root_indx + 1] * theta_vals[root_indx] - xi_vals[root_indx] * theta_vals[root_indx + 1] ) / ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); - chprintf( " Root at xi = %.5e. Theta values before and after: %.5e %.5e\n", xi_root, theta_vals[root_indx], theta_vals[root_indx+1] ); + chprintf( " Root at xi = %.5e. Theta before and after: %.5e %.5e\n", xi_root, theta_vals[root_indx], theta_vals[root_indx+1] ); // Linear extrapolation estimate of the derivative evaluated at the root Real theta_deriv_root = xi_vals[root_indx + 1] * theta_vals[root_indx] * ( theta_deriv[root_indx - 1] - theta_deriv[root_indx] ); @@ -188,7 +187,7 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ theta_deriv_root += xi_vals[root_indx] * ( theta_vals[root_indx + 1] * theta_deriv[root_indx] - theta_vals[root_indx] * theta_deriv[root_indx - 1] ); theta_deriv_root /= ( xi_vals[root_indx - 1] - xi_vals[root_indx] ) * ( theta_vals[root_indx] - theta_vals[root_indx + 1] ); - chprintf( " d(theta)/d(xi) at the root: %.5e\n", theta_deriv_root ); + chprintf( " d(theta)/d(xi) at the root: %.5e\n", theta_deriv_root ); //Convert to physical values Real dens_avrg = ( 3 * P.Mstar ) / ( 4 * M_PI * pow( P.Rstar, 3) ); @@ -198,10 +197,10 @@ void Grid3D::Polytropic_Star( struct parameters &P ){ Real K = pressure_central * pow( dens_central, -(P.polyN+1)/P.polyN ); Real alpha = sqrt( (P.polyN + 1) * K / ( 4 * M_PI * G_CGS ) ) * pow( dens_central, (1.-P.polyN)/(2*P.polyN) ); - chprintf( " rho_c / rho_av: %.5e g/cm^3\n", dens_central / dens_avrg ); - chprintf( " p_c : %.5e erg/cm^3\n", pressure_central ); + chprintf( " rho_c / rho_av: %.5e g/cm^3\n", dens_central / dens_avrg ); + chprintf( " p_c : %.5e erg/cm^3\n", pressure_central ); Real cs_center = sqrt( pressure_central / dens_central * P.gamma ); - chprintf( " t_cross : %.5e s\n ", P.Rstar / cs_center); + chprintf( " t_cross : %.5e s\n", P.Rstar / cs_center); // chprintf( " K: %f \n", K ); // chprintf( " alpha: %f \n", alpha ); for ( int i=0; i 0 ) chprintf(" Relaxation enabled. Initial relax rate: %f. Background relax rate: %.f\n", relaxRate0, relaxRateBkgnd); + chprintf(" Star:\n"); + chprintf(" Mass : %.10e g\n", Mstar); + chprintf(" Radius: %.10e cm\n", Rstar); + chprintf(" n_poly: %.10e\n", polyN); + chprintf(" t_dyn : %.10e s\n", tdynStar); + + chprintf(" Orbit:\n"); + chprintf(" Mass ratio : %.10e\n", q); + chprintf(" t_dyn : %.10e s\n", tdynOrb); + chprintf(" Tidal radius : %.10e cm\n", rt ); + chprintf(" Initial dist : %.10e cm\n", r0 ); + chprintf(" Periapsis dist: %.10e cm\n", rp ); + chprintf(" Periapsis time: %.10e s\n", -t0 ); + + if ( tRelax > 0 ) chprintf(" Relaxation enabled. Initial relax rate: %f. Background relax rate: %.f\n", relaxRate0, relaxRateBkgnd); } diff --git a/src/tides/tides.h b/src/tides/tides.h index 87ce28067..ce60ca2d5 100644 --- a/src/tides/tides.h +++ b/src/tides/tides.h @@ -79,7 +79,7 @@ class Star Real Cijkl[3][3][3][3]; //Functions that change the state of S - void initialize(struct parameters &P, Real t, Real dt, int nx, int ny, int nz); + void initialize(struct parameters P, Real t, Real dt, int nx, int ny, int nz); void update(Real t, Real dt); void updateFrameCoords(Real t, Real dt); void updateBhCoords(Real t, Real dt); From 8ce1adba8f4bb952aa70da37fd141dcac9798a4c Mon Sep 17 00:00:00 2001 From: ryarza Date: Mon, 16 Nov 2020 07:08:32 -0800 Subject: [PATCH 08/21] Changed logfile routine to accept different logfile names; recorded orbit properties at every step in a separate logfile --- src/gravity/grav3D.h | 4 +-- src/gravity/gravity_functions.cpp | 1 + src/io.cpp | 52 +++++++++++++++++++++---------- src/io.h | 4 +-- src/main.cpp | 11 +++---- src/tides/orbit.cu | 8 +++++ 6 files changed, 53 insertions(+), 27 deletions(-) diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index e50807e42..756fb9e88 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -5,8 +5,8 @@ #include"../global.h" #if defined TIDES || defined POISSON_TEST -#define LMAX (12) -#define QTPB (32) +#define LMAX (5) +#define QTPB (128) #define CENTERTPB (1024) #endif diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index 98e59c90e..7555862ca 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -515,6 +515,7 @@ void Grid3D::Extrapolate_Grav_Potential_Function( int g_start, int g_end ){ Get_Position(i+nGHST, j+nGHST, k+nGHST, &x[0], &x[1], &x[2]); // TEMPORARY ON: Analytical tidal potential for newtonian potential instead of tidal tensors +// TODO: Debug tidal tensors because we'll need them for the GR case anyways framePot = - G_CGS * S.Mbh * ( x[0] * dxaux[0] + x[1] * dxaux[1] + x[2] * dxaux[2] ) / pow(dxaux[0] * dxaux[0] + dxaux[1] * dxaux[1] + dxaux[2] * dxaux[2], 1.5); globalPot = - G_CGS * S.Mbh / sqrt( pow((x[0] - dxaux[0]), 2.) + pow(x[1] - dxaux[1], 2.) + pow(x[2] - dxaux[2], 2.) ); diff --git a/src/io.cpp b/src/io.cpp index 640630196..e4783adcf 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -36,7 +36,7 @@ void Create_Log_File( struct parameters P ){ #endif string file_name ( LOG_FILE_NAME ); - chprintf( "\nCreating Log File: %s \n\n", file_name.c_str() ); + chprintf( "\nCreating Log File: %s\n", file_name.c_str() ); bool file_exists = false; if (FILE *file = fopen(file_name.c_str(), "r")){ @@ -55,17 +55,37 @@ void Create_Log_File( struct parameters P ){ out_file << "\n"; out_file << "Run date: " << dt; out_file.close(); - + +//If we're doing tides, create another file where we put the coordinates of the COM and BH + #ifdef TIDES + file_name = ( "orbit_evolution.log" ); + chprintf("Creating Log File: %s\n", file_name.c_str() ); + + file_exists = false; + if (FILE *file = fopen(file_name.c_str(), "r")){ + file_exists = true; + chprintf( " File exists, appending values: %s. Remember to clean repeated lines.\n\n", file_name.c_str() ); + fclose( file ); + } + else{ + out_file.open(file_name.c_str(), ios::app); +// Spaces required so they're centered with %17.10e+space = 18 chars. 5+8+5 for star, 6+6+6 for BH, 4+9+5 for frame + out_file << " t xstar[0] xstar[1] xstar[2] vstar[0] vstar[1] vstar[2] xBH[0] xBH[1] xBH[2] vBH[0] vBH[1] vBH[2] xFrame[0] xFrame[1] xFrame[2] vFrame[0] vFrame[1] vFrame[2] aFrame[0] aFrame[1] aFrame[2]\n"; + out_file.close(); + } + #endif + + chprintf("\n"); + } -void Write_Message_To_Log_File( const char* message ){ +void Write_Message_To_Log_File(string file_name, const char* message ){ #ifdef MPI_CHOLLA if ( procID != 0 ) return; #endif - - string file_name ( LOG_FILE_NAME ); +// string file_name ( LOG_FILE_NAME ); ofstream out_file; out_file.open(file_name.c_str(), ios::app); out_file << message << endl; @@ -452,17 +472,22 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) attribute_id = H5Acreate(file_id, "n_fields", H5T_STD_I32BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_INT, &H.n_fields); status = H5Aclose(attribute_id); - + +//Save some other useful info +// attribute_id = H5Acreate(file_id, "cfl", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); +// status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &H.C_cfl); +// status = H5Aclose(attribute_id); + #ifdef TIDES attribute_id = H5Acreate(file_id, "Mstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.Mstar); status = H5Aclose(attribute_id); - + attribute_id = H5Acreate(file_id, "Rstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.Rstar); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "polyN", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "npoly", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.polyN); status = H5Aclose(attribute_id); @@ -490,7 +515,7 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.rp); status = H5Aclose(attribute_id); - attribute_id = H5Acreate(file_id, "tdynStar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + attribute_id = H5Acreate(file_id, "tdynstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.tdynStar); status = H5Aclose(attribute_id); @@ -501,7 +526,7 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) attribute_id = H5Acreate(file_id, "Mbox", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &S.Mbox); status = H5Aclose(attribute_id); - #endif//TIDES + #endif #ifdef COSMOLOGY attribute_id = H5Acreate(file_id, "H0", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); @@ -595,7 +620,6 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) status = H5Aclose(attribute_id); #ifdef TIDES - attribute_id = H5Acreate(file_id, "xFrame", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.posFrame); status = H5Aclose(attribute_id); @@ -627,11 +651,7 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) attribute_id = H5Acreate(file_id, "vstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.vstar); status = H5Aclose(attribute_id); - -// attribute_id = H5Acreate(file_id, "accSt", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); -// status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, S.accSt); -// status = H5Aclose(attribute_id); - #endif//TIDES + #endif // Close the dataspace status = H5Sclose(dataspace_id); diff --git a/src/io.h b/src/io.h index 157069f12..6437f03c6 100644 --- a/src/io.h +++ b/src/io.h @@ -4,7 +4,7 @@ #include"global.h" #include"grid3D.h" #include - +#include /* Write the data */ void WriteData(Grid3D &G, struct parameters P, int nfile); @@ -26,6 +26,6 @@ int chprintf(const char * __restrict sdata, ...); void Create_Log_File( struct parameters P ); -void Write_Message_To_Log_File( const char* message ); +void Write_Message_To_Log_File(std::string file_name, const char* message ) ; #endif /*IO_CHOLLA_H*/ diff --git a/src/main.cpp b/src/main.cpp index f6cd075fd..082e61e38 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) // read in the parameters parse_params (param_file, &P); // and output to screen - chprintf ("Parameter values:\n n: [%d, %d, %d]\n Boundaries: %i %i %i %i %i %i\n Gas gamma: %.5e\n Initial conditions: %s\n Final time: %.5e", P.nx, P.ny, P.nz, P.xl_bcnd, P.xu_bcnd, P.yl_bcnd, P.yu_bcnd, P.zl_bcnd, P.zu_bcnd, P.gamma, P.init, P.tout); + chprintf ("Parameter values:\n n: [%d, %d, %d]\n Boundaries: %i %i %i %i %i %i\n Gas gamma: %.5e\n Initial conditions: %s\n Final time: %.5e\n", P.nx, P.ny, P.nz, P.xl_bcnd, P.xu_bcnd, P.yl_bcnd, P.yu_bcnd, P.zl_bcnd, P.zu_bcnd, P.gamma, P.init, P.tout); if (strcmp(P.init, "Read_Grid") == 0 ) chprintf (" Input directory: %s\n", P.indir); chprintf (" Output directory: %s\n", P.outdir); @@ -128,7 +128,7 @@ int main(int argc, char *argv[]) G.Get_Particles_Acceleration(); #endif - chprintf("\ndx: [%.5e, %.5e, %.5e%f dy = %f dz = %f\n", G.H.dx, G.H.dy, G.H.dz); + chprintf("\ndx: [%.5e, %.5e, %.5e]\n", G.H.dx, G.H.dy, G.H.dz); chprintf("\nNstep = %d Timestep = %f Simulation time = %f\n", G.H.n_step, G.H.dt, G.H.t); #ifdef TIDES @@ -199,6 +199,7 @@ int main(int argc, char *argv[]) #ifdef TIDES G.S.update(G.H.t, G.H.dt); + if ( G.H.t > 0) G.updateCOM(); #endif // Advance the grid by one timestep @@ -252,10 +253,6 @@ int main(int argc, char *argv[]) if (G.H.t == outtime || G.H.Output_Now ) { -// TEMPORARY: Compute COM only when outputting (it's not used for anything else as of now) - #ifdef TIDES - G.updateCOM(); - #endif #ifdef OUTPUT /*output the grid data*/ WriteData(G, P, nfile); @@ -292,7 +289,7 @@ int main(int argc, char *argv[]) G.Timer.Print_Average_Times( P ); #endif - Write_Message_To_Log_File( "Run completed successfully!"); + Write_Message_To_Log_File(LOG_FILE_NAME, "Run completed successfully!"); //TEMPORARY ON: Exit with exit(0); exit(0); diff --git a/src/tides/orbit.cu b/src/tides/orbit.cu index 07cb42240..c06d019ae 100644 --- a/src/tides/orbit.cu +++ b/src/tides/orbit.cu @@ -200,6 +200,14 @@ void Grid3D::updateCOM(){ chprintf("xstar relative error: %.16e, %.16e, %.16e\n", xeps[0], xeps[1], xeps[2]); chprintf("vstar relative error: %.16e, %.16e, %.16e\n", veps[0], veps[1], veps[2]); */ + +//Write the COM, etc to the logfile + char *message = (char*)malloc(500 * sizeof(char)); +// <--t--> <--------xstar--------> <--------vstar--------> <---------xbh---------> <---------vbh---------> <-------xFrame -------> <-------vFrame -------> <-------aFrame -------> + sprintf(message, "%17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e", H.t, S.xstar[0], S.xstar[1], S.xstar[2], S.vstar[0], S.vstar[1], S.vstar[2], S.posBh[0], S.posBh[1], S.posBh[2], S.velBh[0], S.velBh[1], S.velBh[2], S.posFrame[0], S.posFrame[1], S.posFrame[2], S.velFrame[0], S.velFrame[1], S.velFrame[2], S.accFrame[0], S.accFrame[1], S.accFrame[2]); + Write_Message_To_Log_File("orbit_evolution.log", message); + free(message); + } Real Star::geteta(Real t){ From 8b3c8e7e53c8b3cfbea9eb0119c17132c02bd94c Mon Sep 17 00:00:00 2001 From: ryarza Date: Thu, 19 Nov 2020 08:22:58 -0800 Subject: [PATCH 09/21] Cleaned up tidal tensors a little bit; switched to static allocation for multipole boundaries --- Makefile | 4 +- make_lux_sor.sh | 2 +- src/gravity/grav3D.cpp | 6 +- src/gravity/grav3D.h | 12 +- src/gravity/gravity_functions.cpp | 14 +-- src/gravity/multipole.cu | 190 +++++++++++------------------- src/grid3D.cpp | 6 +- src/io.cpp | 4 +- src/main.cpp | 9 +- src/tides/orbit.cu | 2 + src/tides/tides.cpp | 135 ++++++++++++--------- src/tides/tides.h | 4 +- 12 files changed, 197 insertions(+), 191 deletions(-) diff --git a/Makefile b/Makefile index feb650aa5..5a0bfbd9a 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ OBJS := $(subst .c,.o,$(CFILES)) $(subst .cpp,.o,$(CPPFILES)) $(subst .cu,.o,$(G DFLAGS += -DCUDA# -DCUDA_ERROR_CHECK #To use MPI, DFLAGS must include -DMPI_CHOLLA -DFLAGS += -DMPI_CHOLLA -DBLOCK +#DFLAGS += -DMPI_CHOLLA -DBLOCK #DFLAGS += -DPRECISION=1 DFLAGS += -DPRECISION=2 @@ -100,6 +100,8 @@ DFLAGS += -DN_OMP_THREADS=$(OMP_NUM_THREADS) #Stellar simulation DFLAGS += -DTIDES +#Prints the center of mass motion at every step +#DFLAGS += -DOUTPUT_ALWAYS_COM # Test Poisson solver #DFLAGS += -DPOISSON_TEST diff --git a/make_lux_sor.sh b/make_lux_sor.sh index 1be033323..abf3f69bc 100644 --- a/make_lux_sor.sh +++ b/make_lux_sor.sh @@ -2,7 +2,7 @@ module load hdf5/1.10.6 module load openmpi/4.0.1-cuda -module load cuda10.1/10.1 +module load cuda10.2/10.2.89 module load gsl/2.6 module list diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index a7d4fa368..74ec42a24 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -15,7 +15,7 @@ Grav3D::Grav3D( void ){} -void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx, int ny, int nz, int nx_real, int ny_real, int nz_real, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P ) +void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx, int ny, int nz, int nx_real, int ny_real, int nz_real, int n_ghost, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P ) { //Set Box Size @@ -88,6 +88,10 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R AllocateMemory_CPU(); + #ifdef TIDES + AllocateMemoryBoundaries_GPU(nx_real + 2 * n_ghost, ny_real + 2 * n_ghost, nz_real + 2 * n_ghost); + #endif + Initialize_values_CPU(); // chprintf( "Gravity Initialized: \n Lbox: %0.2f %0.2f %0.2f \n Local: %d %d %d \n Global: %d %d %d \n", diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index 756fb9e88..b8e1851f0 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -126,6 +126,11 @@ class Grav3D Real center[3]; int Qidx(int cidx, int l, int m); void fillLegP(Real* legP, Real x); + +//GPU static allocation variables +//TODO: Figure out a better way to pass the density so that we don't have to copy it both for gravity and for the hydro. Right now we're wasting space but it's fine. + Real *dev_rho, *dev_center, *dev_bounds, *dev_dx, *dev_partialReQ, *dev_partialImQ, *dev_partialCenter, *dev_partialTotrhosq; + int *dev_n; #endif #endif @@ -175,7 +180,7 @@ class Grav3D /*! \fn void Initialize(int nx_in, int ny_in, int nz_in) * \brief Initialize the grid. */ - void Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx_total, int ny_total, int nz_total, int nx_real, int ny_real, int nz_real, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P); + void Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx_total, int ny_total, int nz_total, int nx_real, int ny_real, int nz_real, int n_ghost, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P); void AllocateMemory_CPU(void); void Initialize_values_CPU(); @@ -191,6 +196,11 @@ class Grav3D void Copy_Isolated_Boundaries_To_GPU( struct parameters *P ); #endif + #ifdef TIDES + void AllocateMemoryBoundaries_GPU(int nx, int ny, int nz); + void FreeMemoryBoundaries_GPU(); + #endif + }; diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index 7555862ca..7b8262195 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -260,7 +260,7 @@ static void printDiff(const Real *p, const Real *q, const int nx, const int ny, //Initialize the Grav Object at the beginning of the simulation void Grid3D::Initialize_Gravity( struct parameters *P ){ chprintf( "\nInitializing Gravity... \n"); - Grav.Initialize( H.xblocal, H.yblocal, H.zblocal, H.xdglobal, H.ydglobal, H.zdglobal, P->nx, P->ny, P->nz, H.nx_real, H.ny_real, H.nz_real, H.dx, H.dy, H.dz, H.n_ghost_potential_offset, P ); + Grav.Initialize( H.xblocal, H.yblocal, H.zblocal, H.xdglobal, H.ydglobal, H.zdglobal, P->nx, P->ny, P->nz, H.nx_real, H.ny_real, H.nz_real, H.n_ghost, H.dx, H.dy, H.dz, H.n_ghost_potential_offset, P ); chprintf( "Gravity Successfully Initialized. \n\n"); #ifdef PARIS_TEST @@ -514,14 +514,14 @@ void Grid3D::Extrapolate_Grav_Potential_Function( int g_start, int g_end ){ if ( S.relaxed == 1 ){ Get_Position(i+nGHST, j+nGHST, k+nGHST, &x[0], &x[1], &x[2]); -// TEMPORARY ON: Analytical tidal potential for newtonian potential instead of tidal tensors +// TEMPORARY OFF: Analytical tidal potential for newtonian potential instead of tidal tensors // TODO: Debug tidal tensors because we'll need them for the GR case anyways - framePot = - G_CGS * S.Mbh * ( x[0] * dxaux[0] + x[1] * dxaux[1] + x[2] * dxaux[2] ) / pow(dxaux[0] * dxaux[0] + dxaux[1] * dxaux[1] + dxaux[2] * dxaux[2], 1.5); - globalPot = - G_CGS * S.Mbh / sqrt( pow((x[0] - dxaux[0]), 2.) + pow(x[1] - dxaux[1], 2.) + pow(x[2] - dxaux[2], 2.) ); +// framePot = - G_CGS * S.Mbh * ( x[0] * dxaux[0] + x[1] * dxaux[1] + x[2] * dxaux[2] ) / pow(dxaux[0] * dxaux[0] + dxaux[1] * dxaux[1] + dxaux[2] * dxaux[2], 1.5); +// globalPot = - G_CGS * S.Mbh / sqrt( pow((x[0] - dxaux[0]), 2.) + pow(x[1] - dxaux[1], 2.) + pow(x[2] - dxaux[2], 2.) ); - pot_extrp += globalPot - framePot; -// chprintf("Tensor / analytical: %.10e\n", S.getTidalPotential(x[0], x[1], x[2], S.extCij, S.extCijk, S.extCijkl) / ( globalPot + framePot )); -// pot_extrp += S.getTidalPotential(posx, posy, posz, S.extCij, S.extCijk, S.extCijkl); +// pot_extrp += globalPot - framePot; +// chprintf("Tensor = %.10e. Analytical: %.10e. Ratio: %.10e\n", S.getTidalPotential(x, S.extCij, S.extCijk, S.extCijkl), ( globalPot - framePot ), S.getTidalPotential(x, S.extCij, S.extCijk, S.extCijkl) / (globalPot - framePot )); + pot_extrp += S.getTidalPotential(x, S.extCij, S.extCijk, S.extCijkl); } #endif diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu index 4ae29e510..777dc2bfd 100644 --- a/src/gravity/multipole.cu +++ b/src/gravity/multipole.cu @@ -4,13 +4,43 @@ #include "../grid3D.h" #include "grav3D.h" #include "../io.h" +#include "../global_cuda.h" #ifdef MPI_CHOLLA #include "../mpi_routines.h" #endif -#ifdef POISSON_TEST -#include +#ifdef TIDES +void Grav3D::AllocateMemoryBoundaries_GPU(int nx, int ny, int nz){ + + + chprintf("Allocating GPU memory for boundaries\n"); + chprintf("n alloc = %i %i %i\n", nx, ny, nz); + CudaSafeCall( cudaMalloc( (void**)&dev_rho , nx * ny * nz * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_center , 3 * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_bounds , 3 * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_dx , 3 * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_partialReQ , Qblocks * ( ( 1 + LMAX ) * ( 2 + LMAX ) / 2 ) * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_partialImQ , Qblocks * ( ( 1 + LMAX ) * ( 2 + LMAX ) / 2 ) * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_partialCenter , 3 * centerBlocks * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_partialTotrhosq, 3 * centerBlocks * sizeof(Real) ) ); + CudaSafeCall( cudaMalloc( (void**)&dev_n , 3 * sizeof(int) ) ); + +} + +void Grav3D::FreeMemoryBoundaries_GPU(){ + + cudaFree(dev_rho ); + cudaFree(dev_center ); + cudaFree(dev_bounds ); + cudaFree(dev_dx ); + cudaFree(dev_partialReQ ); + cudaFree(dev_partialImQ ); + cudaFree(dev_partialCenter ); + cudaFree(dev_partialTotrhosq); + cudaFree(dev_n ); + +} #endif //The arrays we use for Legendre polynomials are 1D, so we need to do some index juggling to turn the tuple (thread number, l, m) into a single number @@ -255,154 +285,76 @@ __global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_gh } +//TODO: rmpole should be the distance from the center of the expansion to the nearest boundary cell, not from the center of the domain to the nearest boundary cell +void Grid3D::setMoments(){ -void Grid3D::setCenter(){ - - Real dx[3], bounds[3], totrhosq; + Real dx[3], bounds[3]; int n[3]; dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; + Real dV = dx[0] * dx[1] * dx[2]; bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; + n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; - Real *dev_rho, *dev_bounds, *dev_dx, *dev_partialCenter, *dev_partialTotrhosq; - int *dev_n; - -//Allocate memory in GPU - cudaMalloc( (void**)&dev_rho , n[0] * n[1] * n[2] * sizeof(Real) ); - cudaMalloc( (void**)&dev_bounds , 3 * sizeof(Real)); - cudaMalloc( (void**)&dev_n , 3 * sizeof(int)); - cudaMalloc( (void**)&dev_dx , 3 * sizeof(Real)); - cudaMalloc( (void**)&dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real) ); - cudaMalloc( (void**)&dev_partialTotrhosq, 3 * Grav.centerBlocks * sizeof(Real) ); - -//Copy inputs to GPU - cudaMemcpy( dev_rho, C.density, n[0] * n[1] * n[2]*sizeof(Real), cudaMemcpyHostToDevice); - cudaMemcpy( dev_bounds, bounds, 3*sizeof(Real), cudaMemcpyHostToDevice); - cudaMemcpy( dev_n, n, 3*sizeof(int), cudaMemcpyHostToDevice); - cudaMemcpy( dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); - -//Call Kernel - cudaDeviceSynchronize(); - centerKernel<<>>(dev_rho, dev_bounds, dev_dx, dev_n, H.n_ghost, dev_partialCenter, dev_partialTotrhosq); - -//Copy result to CPU - cudaMemcpy(Grav.bufferCenter , dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost); - cudaMemcpy(Grav.bufferTotrhosq, dev_partialTotrhosq, Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost); - -//Free GPU - cudaFree(dev_rho); - cudaFree(dev_bounds); - cudaFree(dev_dx); - cudaFree(dev_n); - cudaFree(dev_partialTotrhosq); - cudaFree(dev_partialCenter); + #ifdef DYNAMIC_GPU_ALLOC + AllocateMemoryBoundaries_GPU(n[0], n[1], n[2]; + #endif + + chprintf("n copy: %i %i %i\n", n[0], n[1], n[2]); +//Find the center of the expansion according to Couch et al. 2013 + CudaSafeCall( cudaMemcpy( Grav.dev_rho , C.density, n[0] * n[1] * n[2] * sizeof(Real), cudaMemcpyHostToDevice) ); + CudaSafeCall( cudaMemcpy( Grav.dev_bounds, bounds , 3 * sizeof(Real), cudaMemcpyHostToDevice) ); + CudaSafeCall( cudaMemcpy( Grav.dev_n , n , 3 * sizeof(int ), cudaMemcpyHostToDevice) ); + CudaSafeCall( cudaMemcpy( Grav.dev_dx , dx , 3 * sizeof(Real), cudaMemcpyHostToDevice) ); + + centerKernel<<>>(Grav.dev_rho, Grav.dev_bounds, Grav.dev_dx, Grav.dev_n, H.n_ghost, Grav.dev_partialCenter, Grav.dev_partialTotrhosq); + CudaCheckError(); + + CudaSafeCall( cudaMemcpy(Grav.bufferCenter , Grav.dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost) ); + CudaSafeCall( cudaMemcpy(Grav.bufferTotrhosq, Grav.dev_partialTotrhosq, Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost) ); -//Do final reduction on CPU - totrhosq = 0.; + Real totrhosq = 0.; for ( int i = 0; i < Grav.centerBlocks; i++ ){ totrhosq += Grav.bufferTotrhosq[i]; } + #ifdef MPI_CHOLLA MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); + #endif for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; for ( int i = 0; i < Grav.centerBlocks; i++ ){ for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] += Grav.bufferCenter[3 * i + ii]; } + #ifdef MPI_CHOLLA MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); + #endif for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; -} - -//TODO: rmpole should be the distance from the center of the expansion to the nearest boundary cell, not from the center of the domain to the nearest boundary cell -void Grid3D::setMoments(){ - - Real dx[3], bounds[3]; - int n[3]; - dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; - Real dV = dx[0] * dx[1] * dx[2]; - bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; - n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; -/* - int id; - Real rhosq, totrhosq; - Real x[3]; -*/ - -////////// Find the center of the expansion according to Couch et al. 2013 - setCenter(); -/* - totrhosq = 0.; - - for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + if ( H.n_step > 0) chprintf(" "); + chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); - for (int k = H.n_ghost; k < H.nz - H.n_ghost; k++) { - for (int j = H.n_ghost; j < H.ny - H.n_ghost; j++) { - for (int i = H.n_ghost; i < H.nx - H.n_ghost; i++) { +//Qnl + cudaMemcpy( Grav.dev_rho, C.density, n[0] * n[1] * n[2]*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( Grav.dev_center, Grav.center, 3*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( Grav.dev_bounds, bounds, 3*sizeof(Real), cudaMemcpyHostToDevice); + cudaMemcpy( Grav.dev_n, n, 3*sizeof(int), cudaMemcpyHostToDevice); + cudaMemcpy( Grav.dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); - id = i + j*H.nx + k*H.nx*H.ny; - Get_Position(i, j, k, &x[0], &x[1], &x[2]); - rhosq = C.density[id] * C.density[id]; + QlmKernel<<>>(Grav.dev_rho, Grav.dev_center, Grav.dev_bounds, Grav.dev_dx, H.xdglobal / 2., Grav.dev_n, H.n_ghost, Grav.dev_partialReQ, Grav.dev_partialImQ); - for ( int ii = 0; ii < 3; ii++ ) Grav.center[ii] += rhosq * x[ii]; - totrhosq += rhosq; - - } - } - } + cudaMemcpy(Grav.bufferReQ, Grav.dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); + cudaMemcpy(Grav.bufferImQ, Grav.dev_partialImQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); - #ifdef MPI_CHOLLA - MPI_Allreduce(MPI_IN_PLACE, &totrhosq, 1, MPI_CHREAL, MPI_SUM, world); - MPI_Allreduce(MPI_IN_PLACE, Grav.center, 3, MPI_CHREAL, MPI_SUM, world); + #ifdef DYNAMIC_GPU_ALLOC + FreeMemoryBoundaries_GPU(); #endif - for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; -*/ - if ( H.n_step > 0) chprintf(" "); - chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); - - Real *dev_rho, *dev_center, *dev_bounds, *dev_dx, *dev_partialReQ, *dev_partialImQ; - int *dev_n; - -//Allocate memory in GPU - cudaMalloc( (void**)&dev_rho, n[0] * n[1] * n[2] *sizeof(Real) ); - cudaMalloc( (void**)&dev_center, 3 * sizeof(Real)); - cudaMalloc( (void**)&dev_bounds, 3 * sizeof(Real)); - cudaMalloc( (void**)&dev_n, 3 * sizeof(int)); - cudaMalloc( (void**)&dev_dx, 3 * sizeof(Real)); - cudaMalloc( (void**)&dev_partialReQ, Grav.Qblocks*((1 + LMAX ) * (2 + LMAX ) / 2)*sizeof(Real) ); - cudaMalloc( (void**)&dev_partialImQ, Grav.Qblocks*((1 + LMAX ) * (2 + LMAX ) / 2)*sizeof(Real) ); - -//Copy inputs to GPU - cudaMemcpy( dev_rho, C.density, n[0] * n[1] * n[2]*sizeof(Real), cudaMemcpyHostToDevice); - cudaMemcpy( dev_center, Grav.center, 3*sizeof(Real), cudaMemcpyHostToDevice); - cudaMemcpy( dev_bounds, bounds, 3*sizeof(Real), cudaMemcpyHostToDevice); - cudaMemcpy( dev_n, n, 3*sizeof(int), cudaMemcpyHostToDevice); - cudaMemcpy( dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); - -//Call Kernel - cudaDeviceSynchronize(); - QlmKernel<<>>(dev_rho, dev_center, dev_bounds, dev_dx, H.xdglobal / 2., dev_n, H.n_ghost, dev_partialReQ, dev_partialImQ); - -//Copy result to CPU - cudaMemcpy(Grav.bufferReQ, dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); - cudaMemcpy(Grav.bufferImQ, dev_partialImQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); - -//Free GPU - cudaFree(dev_rho); - cudaFree(dev_center); - cudaFree(dev_bounds); - cudaFree(dev_dx); - cudaFree(dev_n); - cudaFree(dev_partialReQ); - cudaFree(dev_partialImQ); - for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ Grav.ReQ[i] = 0.; Grav.ImQ[i] = 0.; } -//Do final reduction on CPU for ( int l = 0; l <= LMAX; l++ ){ for ( int m = 0; m <= l; m++ ){ for ( int b = 0; b < Grav.Qblocks; b++ ){ diff --git a/src/grid3D.cpp b/src/grid3D.cpp index e2fd331d7..01ba21d20 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -772,7 +772,11 @@ void Grid3D::FreeMemory(void) #ifdef GRAVITY Grav.FreeMemory_CPU(); #endif - + + #ifdef TIDES + Grav.FreeMemoryBoundaries_GPU(); + #endif + #ifdef PARTICLES Particles.Reset(); #endif diff --git a/src/io.cpp b/src/io.cpp index e4783adcf..8862c8436 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -41,7 +41,7 @@ void Create_Log_File( struct parameters P ){ bool file_exists = false; if (FILE *file = fopen(file_name.c_str(), "r")){ file_exists = true; - chprintf( " File exists, appending values: %s \n\n", file_name.c_str() ); + chprintf( " File exists, appending values: %s \n", file_name.c_str() ); fclose( file ); } @@ -57,7 +57,7 @@ void Create_Log_File( struct parameters P ){ out_file.close(); //If we're doing tides, create another file where we put the coordinates of the COM and BH - #ifdef TIDES + #if defined TIDES && defined OUTPUT_ALWAYS_COM file_name = ( "orbit_evolution.log" ); chprintf("Creating Log File: %s\n", file_name.c_str() ); diff --git a/src/main.cpp b/src/main.cpp index 082e61e38..6b0a8c1bf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -197,10 +197,12 @@ int main(int argc, char *argv[]) G.Transfer_Particles_Boundaries(P); #endif - #ifdef TIDES + #if defined TIDES G.S.update(G.H.t, G.H.dt); + #ifdef OUTPUT_ALWAYS_COM if ( G.H.t > 0) G.updateCOM(); #endif + #endif // Advance the grid by one timestep dti = G.Update_Hydro_Grid(); @@ -254,6 +256,11 @@ int main(int argc, char *argv[]) if (G.H.t == outtime || G.H.Output_Now ) { #ifdef OUTPUT + #ifdef TIDES + #ifndef OUTPUT_ALWAYS_COM + G.updateCOM(); + #endif + #endif /*output the grid data*/ WriteData(G, P, nfile); // add one to the output file count diff --git a/src/tides/orbit.cu b/src/tides/orbit.cu index c06d019ae..d73d01a14 100644 --- a/src/tides/orbit.cu +++ b/src/tides/orbit.cu @@ -202,11 +202,13 @@ void Grid3D::updateCOM(){ */ //Write the COM, etc to the logfile + #ifdef OUTPUT_ALWAYS_COM char *message = (char*)malloc(500 * sizeof(char)); // <--t--> <--------xstar--------> <--------vstar--------> <---------xbh---------> <---------vbh---------> <-------xFrame -------> <-------vFrame -------> <-------aFrame -------> sprintf(message, "%17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e", H.t, S.xstar[0], S.xstar[1], S.xstar[2], S.vstar[0], S.vstar[1], S.vstar[2], S.posBh[0], S.posBh[1], S.posBh[2], S.velBh[0], S.velBh[1], S.velBh[2], S.posFrame[0], S.posFrame[1], S.posFrame[2], S.velFrame[0], S.velFrame[1], S.velFrame[2], S.accFrame[0], S.accFrame[1], S.accFrame[2]); Write_Message_To_Log_File("orbit_evolution.log", message); free(message); + #endif } diff --git a/src/tides/tides.cpp b/src/tides/tides.cpp index 9f8a9ffeb..d88603155 100644 --- a/src/tides/tides.cpp +++ b/src/tides/tides.cpp @@ -3,15 +3,12 @@ #include "tides.h" #include "../global.h" #include "../io.h" -#include // Kronecker delta -int kronDelta(int i, int j){ +Real kronDelta(int i, int j){ - if ( i == j ) return 1; - else{ - return 0; - } + if ( i == j ) return 1.; + else return 0.; } @@ -103,109 +100,101 @@ void Star::update(Real t, Real dt){ eta = geteta(tOrb); updateFrameCoords (tOrb, dt); updateBhCoords (tOrb, dt); - updateTidalTensors(tOrb, dt); + updateTidalTensors(); } // Given a position and a set of tidal tensors, return the tidal potential -Real Star::getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]){ - -//Coordinates where the potential is requested - Real coords[3]; - coords[0] = x; - coords[1] = y; - coords[2] = z; - - Real tidalPot; +Real Star::getTidalPotential(Real *x, Real argCij[3][3], Real argCijk[3][3][3], Real argCijkl[3][3][3][3]){ // Using tidal tensors - tidalPot = 0.; + Real tidalPot = 0.; for ( int i = 0; i < 3; i++ ){ for ( int j = 0; j < 3; j++){ - tidalPot += 0.5 * Cij[i][j] * coords[i] * coords[j]; + tidalPot += 0.5 * argCij[i][j] * x[i] * x[j]; for ( int k = 0; k < 3; k++){ - tidalPot += (1./6.) + Cijk[i][j][k] * coords[i] * coords[j] * coords[k]; + tidalPot += (1./6.) * argCijk[i][j][k] * x[i] * x[j] * x[k]; for ( int l = 0; l < 3; l++){ - tidalPot += (1./24.) * Cijkl[i][j][k][l] * coords[i] * coords[j] * coords[k] * coords[l]; + tidalPot += (1./24.) * argCijkl[i][j][k][l] * x[i] * x[j] * x[k] * x[l]; } } } } -// Using the exact Newtonian potential -// Real r0 = sqrt( ); -// tidalPot = - G_CGS * Mbh / rOrb - return tidalPot; + } // Updates the tidal tensors, which only depend on the position of the center of the frame. // Updates tensors for t and t + dt / 2, since the latter will be used in the extrapolated potential. -void Star::updateTidalTensors(Real t, Real dt){ +void Star::updateTidalTensors(){ -//Coordinates - Real r = sqrt( pow( posFrame[0] - posBh[0], 2. ) + pow( posFrame[1] - posBh[1], 2. ) + pow( posFrame[2] - posBh[2], 2. )); - Real r2 = r * r; + Real r2 = pow( posFrame[0] - posBh[0], 2. ) + pow( posFrame[1] - posBh[1], 2. ) + pow( posFrame[2] - posBh[2], 2. ); + Real r = sqrt(r2); Real r3 = r2 * r; Real r4 = r3 * r; Real r5 = r4 * r; - Real rExt = sqrt( pow( posFrameExt[0] - posBhExt[0], 2. ) + pow( posFrameExt[1] - posBhExt[1], 2. ) + pow( posFrameExt[2] - posBhExt[2], 2. )); - Real r2Ext = rExt * rExt; + Real r2Ext = pow( posFrameExt[0] - posBhExt[0], 2. ) + pow( posFrameExt[1] - posBhExt[1], 2. ) + pow( posFrameExt[2] - posBhExt[2], 2. ); + Real rExt = sqrt( r2Ext ); Real r3Ext = r2Ext * rExt; Real r4Ext = r3Ext * rExt; Real r5Ext = r4Ext * rExt; + Real bigx[3], bigxExt[3]; + for ( int i = 0; i < 3; i++ ) bigx[i] = posFrame[i] - posBh[i]; + for ( int i = 0; i < 3; i++ ) bigxExt[i] = posFrameExt[i] - posBhExt[i]; + for ( int i = 0; i < 3; i++ ){ for ( int j = 0; j < 3; j++ ){ // Quadrupole tensor at t - Cij[i][j] = kronDelta(i, j) - 3. * posFrame[i] * posFrame[j] / r2; + Cij[i][j] = kronDelta(i, j) - 3. * bigx[i] * bigx[j] / r2; Cij[i][j] *= G_CGS * Mbh / r3; // Quadrupole tensor at t + dt/2 - extCij[i][j] = kronDelta(i, j) - 3. * posFrameExt[i] * posFrameExt[j] / r2Ext; + extCij[i][j] = kronDelta(i, j) - 3. * bigxExt[i] * bigxExt[j] / r2Ext; extCij[i][j] *= G_CGS * Mbh / r3Ext; for ( int k = 0; k < 3; k++){ // Octupole tensor at t - Cijk[i][j][k] = 15. * posFrame[i] * posFrame[j] * posFrame[k] / r3 - - 3. * ( posFrame[i] * kronDelta(j, k) + posFrame[j] * kronDelta(i, k) + posFrame[k] * kronDelta(i, j) ) / r; + Cijk[i][j][k] = 15. * bigx[i] * bigx[j] * bigx[k] / r3 + - 3. * ( bigx[i] * kronDelta(j, k) + bigx[j] * kronDelta(i, k) + bigx[k] * kronDelta(i, j) ) / r; Cijk[i][j][k] *= G_CGS * Mbh / r4; // Octupole tensor at t + dt / 2 - extCijk[i][j][k] = 15. * posFrameExt[i] * posFrameExt[j] * posFrameExt[k] / r3Ext - - 3. * ( posFrameExt[i] * kronDelta(j, k) + posFrameExt[j] * kronDelta(i, k) + posFrameExt[k] * kronDelta(i, j) ) / rExt; + extCijk[i][j][k] = 15. * bigxExt[i] * bigxExt[j] * bigxExt[k] / r3Ext + - 3. * ( bigxExt[i] * kronDelta(j, k) + bigxExt[j] * kronDelta(i, k) + bigxExt[k] * kronDelta(i, j) ) / rExt; extCijk[i][j][k] *= G_CGS * Mbh / r4Ext; for ( int l = 0; l < 3; l++){ // Hexadecapole tensor - Cijkl[i][j][k][l] = - 105. * posFrame[i] * posFrame[j] * posFrame[k] * posFrame[l] / r4 - + 15. * ( kronDelta(i, l) * posFrame[j] * posFrame[k] - + kronDelta(j, l) * posFrame[i] * posFrame[k] - + kronDelta(k, l) * posFrame[i] * posFrame[j] - + kronDelta(i, j) * posFrame[k] * posFrame[l] - + kronDelta(j, k) * posFrame[i] * posFrame[l] - + kronDelta(i, k) * posFrame[j] * posFrame[l] - ) / r2 - - 3. * ( kronDelta(i, j) * kronDelta(k, l) - + kronDelta(j, k) * kronDelta(i, l) - + kronDelta(i, k) * kronDelta(j, l) - ); + Cijkl[i][j][k][l] = - 105. * bigx[i] * bigx[j] * bigx[k] * bigx[l] / r4 + + 15. * ( kronDelta(i, l) * bigx[j] * bigx[k] + + kronDelta(j, l) * bigx[i] * bigx[k] + + kronDelta(k, l) * bigx[i] * bigx[j] + + kronDelta(i, j) * bigx[k] * bigx[l] + + kronDelta(j, k) * bigx[i] * bigx[l] + + kronDelta(i, k) * bigx[j] * bigx[l] + ) / r2 + - 3. * ( kronDelta(i, j) * kronDelta(k, l) + + kronDelta(j, k) * kronDelta(i, l) + + kronDelta(i, k) * kronDelta(j, l) + ); Cijkl[i][j][k][l] *= G_CGS * Mbh / r5; // Hexadecapole tensor at t + dt / 2 - extCijkl[i][j][k][l] = - 105. * posFrameExt[i] * posFrameExt[j] * posFrameExt[k] * posFrameExt[l] / r4Ext - + 15. * ( kronDelta(i, l) * posFrameExt[j] * posFrameExt[k] - + kronDelta(j, l) * posFrameExt[i] * posFrameExt[k] - + kronDelta(k, l) * posFrameExt[i] * posFrameExt[j] - + kronDelta(i, j) * posFrameExt[k] * posFrameExt[l] - + kronDelta(j, k) * posFrameExt[i] * posFrameExt[l] - + kronDelta(i, k) * posFrameExt[j] * posFrameExt[l] + extCijkl[i][j][k][l] = - 105. * bigxExt[i] * bigxExt[j] * bigxExt[k] * bigxExt[l] / r4Ext + + 15. * ( kronDelta(i, l) * bigxExt[j] * bigxExt[k] + + kronDelta(j, l) * bigxExt[i] * bigxExt[k] + + kronDelta(k, l) * bigxExt[i] * bigxExt[j] + + kronDelta(i, j) * bigxExt[k] * bigxExt[l] + + kronDelta(j, k) * bigxExt[i] * bigxExt[l] + + kronDelta(i, k) * bigxExt[j] * bigxExt[l] ) / r2Ext - 3. * ( kronDelta(i, j) * kronDelta(k, l) + kronDelta(j, k) * kronDelta(i, l) @@ -218,6 +207,42 @@ void Star::updateTidalTensors(Real t, Real dt){ } } +/* + Real extcCij[3][3], extcCijk[3][3][3], extcCijkl[3][3][3][3]; + extcCij[0][0] = G_CGS * Mbh * ( rExt * rExt - 3. * bigxExt[0] * bigxExt[0] ) / r5Ext; + extcCij[1][1] = G_CGS * Mbh * ( rExt * rExt - 3. * bigxExt[1] * bigxExt[1] ) / r5Ext; + extcCij[2][2] = G_CGS * Mbh * ( rExt * rExt - 3. * bigxExt[2] * bigxExt[2] ) / r5Ext; + + extcCij[0][1] = - 3 * G_CGS * Mbh * bigxExt[0] * bigxExt[1] / r5Ext; + chprintf("extcCij[0][1] = %.10e\n", extcCij[0][1] ); + extcCij[1][0] = extcCij[0][1]; + chprintf("extcCij[1][0] = %.10e\n", extcCij[1][0] ); + + chprintf("extcCij[1][0] = %.10e\n", extcCij[1][0] ); + extcCij[0][2] = - 3 * G_CGS * Mbh * bigxExt[0] * bigxExt[2] / r5Ext; + chprintf("extcCij[1][0] = %.10e\n", extcCij[1][0] ); + extcCij[2][0] = extcCij[0][2]; + chprintf("extcCij[1][0] = %.10e\n", extcCij[1][0] ); + + extcCij[1][2] = - 3 * G_CGS * Mbh * bigxExt[1] * bigxExt[2] / r5Ext; + chprintf("extcCij[1][0] = %.10e\n", extcCij[1][0] ); + extcCij[2][1] = extcCij[1][2]; + chprintf("extcCij[1][0] = %.10e\n", extcCij[1][0] ); + + Real ratio; + for ( int i = 0; i < 3; i++ ){ + for ( int j = 0; j < 3; j++ ){ + ratio = extCij[i][j] / extcCij[i][j]; + chprintf("C[%i][%i] / exact = %.10e/%.10e = %.10e\n", i, j, extCij[i][j], extcCij[i][j], ratio); + } + } +*/ +/* + extcCijk[0][0][0] = G_CGS * Mbh * ( - 9. * rExt * rExt * posFrameExt[0] + 15 * pow(posFrameExt[0], 3.) ) / pow(rExt, 7.); + chprintf("C[1, 1, 1] / correct = %.10e\n", extCijk[0][0][0] / extcCijk[0][0][0]); +*/ +// chprintf("C[1, 1, 1, 1] / correct = %.10e\n", Cijk[0][0][0][0] / cCijkl[0][0][0][0]); + } #endif diff --git a/src/tides/tides.h b/src/tides/tides.h index ce60ca2d5..c290ef775 100644 --- a/src/tides/tides.h +++ b/src/tides/tides.h @@ -83,7 +83,7 @@ class Star void update(Real t, Real dt); void updateFrameCoords(Real t, Real dt); void updateBhCoords(Real t, Real dt); - void updateTidalTensors(Real t, Real dt); + void updateTidalTensors(); //Value of eta (proxy for time) and its first two derivatives with respect to time. These are used to track the coordinates of the center of the frame at all times analytically Real geteta(Real t); @@ -91,7 +91,7 @@ class Star Real getddeta(Real t); //Returns the tidal potential given a set of tidal tensors - Real getTidalPotential(Real x, Real y, Real z, Real Cij[3][3], Real Cijk[3][3][3], Real Cijkl[3][3][3][3]); + Real getTidalPotential(Real *x, Real argCij[3][3], Real argCijk[3][3][3], Real argCijkl[3][3][3][3]); //Used for computing the center of mass position and speed in the GPU int comBlocks; From 40cc4349919a4c522d07b446e99416a9d47e3c36 Mon Sep 17 00:00:00 2001 From: ryarza Date: Sat, 28 Nov 2020 06:46:35 -0800 Subject: [PATCH 10/21] Switched to tidal tensors for GR, exact for Newtonian; added TIDES_OUTPUT_POTENTIAL_BH; added multipole boundary GPU allocation --- Makefile | 15 ++- src/global.h | 2 +- src/gravity/grav3D.cpp | 2 +- src/gravity/grav3D.h | 1 - src/gravity/gravity_boundaries.cpp | 8 +- src/gravity/gravity_functions.cpp | 20 ++-- src/gravity/multipole.cu | 55 +++++++--- src/gravity/potential_SOR_3D.cpp | 2 +- src/grid3D.cpp | 10 +- src/grid3D.h | 8 ++ src/io.cpp | 19 ++++ src/main.cpp | 28 +++-- src/mpi_routines.cpp | 4 - src/tides/orbit.cu | 168 ++++++++++++----------------- src/tides/tides.cpp | 85 +++++++-------- src/tides/tides.h | 9 +- 16 files changed, 238 insertions(+), 198 deletions(-) diff --git a/Makefile b/Makefile index 5a0bfbd9a..c6efc610e 100644 --- a/Makefile +++ b/Makefile @@ -13,10 +13,14 @@ OBJS := $(subst .c,.o,$(CFILES)) $(subst .cpp,.o,$(CPPFILES)) $(subst .cu,.o,$(G #To use GPUs, CUDA must be turned on here #Optional error checking can also be enabled -DFLAGS += -DCUDA# -DCUDA_ERROR_CHECK +DFLAGS += -DCUDA +#DFLAGS += -DCUDA_ERROR_CHECK + +#Profiling flag to profile only the main loop +#DFLAGS += -DPROFILING #To use MPI, DFLAGS must include -DMPI_CHOLLA -#DFLAGS += -DMPI_CHOLLA -DBLOCK +DFLAGS += -DMPI_CHOLLA -DBLOCK #DFLAGS += -DPRECISION=1 DFLAGS += -DPRECISION=2 @@ -98,11 +102,16 @@ OMP_NUM_THREADS ?= 16 DFLAGS += -DN_OMP_THREADS=$(OMP_NUM_THREADS) #DFLAGS += -DPRINT_OMP_DOMAIN -#Stellar simulation +# Flags related to the tidal simulation DFLAGS += -DTIDES +# Uses relativistic corrections to the orbit and potential. Otherwise exact Newtonian potential is used +#DFLAGS += -DTIDES_RELATIVISTIC +# Outputs the black hole potential, which can be used to compute whether any given fluid cell is bound or unbound +#DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH #Prints the center of mass motion at every step #DFLAGS += -DOUTPUT_ALWAYS_COM + # Test Poisson solver #DFLAGS += -DPOISSON_TEST diff --git a/src/global.h b/src/global.h index 1aff1b79f..3ed53db53 100644 --- a/src/global.h +++ b/src/global.h @@ -245,7 +245,7 @@ struct parameters Real r0rt; Real relaxRate0; Real relaxRateBkgnd; -#endif//TIDES +#endif #ifdef POISSON_TEST Real c[6]; diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index 74ec42a24..f2b1cf981 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -88,7 +88,7 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R AllocateMemory_CPU(); - #ifdef TIDES + #if ( defined POISSON_TEST || defined TIDES ) && !(defined DYNAMIC_GPU_ALLOC ) AllocateMemoryBoundaries_GPU(nx_real + 2 * n_ghost, ny_real + 2 * n_ghost, nz_real + 2 * n_ghost); #endif diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index b8e1851f0..725c8d59b 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -127,7 +127,6 @@ class Grav3D int Qidx(int cidx, int l, int m); void fillLegP(Real* legP, Real x); -//GPU static allocation variables //TODO: Figure out a better way to pass the density so that we don't have to copy it both for gravity and for the hydro. Right now we're wasting space but it's fine. Real *dev_rho, *dev_center, *dev_bounds, *dev_dx, *dev_partialReQ, *dev_partialImQ, *dev_partialCenter, *dev_partialTotrhosq; int *dev_n; diff --git a/src/gravity/gravity_boundaries.cpp b/src/gravity/gravity_boundaries.cpp index 01223dc3c..3b949bb41 100644 --- a/src/gravity/gravity_boundaries.cpp +++ b/src/gravity/gravity_boundaries.cpp @@ -130,7 +130,7 @@ void Grid3D::Compute_Potential_Isolated_Boundary( int direction, int side, int int i, j, k, id; Real pos[3], r, pot_val; - #if defined TIDES || defined POISSON_TEST + #if defined POISSON_TEST || defined TIDES Real phi, theta, Ylmfac, lfac; #endif @@ -183,12 +183,6 @@ void Grid3D::Compute_Potential_Isolated_Boundary( int direction, int side, int } pot_val *= Grav.Gconst; - -// TEMPORARY OFF: Sphere potential -// r = sqrt( pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2] ); -// pot_val = - G_CGS * 1.989e33 / r; -// TEMPORARY OFF: Compare to sphere potential -// printf("pot_val/pot_sphere: %.10e\n", pot_val / ( - G_CGS * 1.989e33 / r )); #endif pot_boundary[id] = pot_val; diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index 7b8262195..c894fde33 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -355,7 +355,7 @@ void Grid3D::Compute_Gravitational_Potential( struct parameters *P ){ Grav.BC_FLAGS_SET = true; } - #if defined TIDES || defined POISSON_TEST + #if defined POISSON_TEST || defined TIDES // Computes the moments required for the multipole expansion at the boundaries and assigns them to Grav.Q setMoments(); #endif @@ -488,8 +488,7 @@ void Grid3D::Extrapolate_Grav_Potential_Function( int g_start, int g_end ){ int k, j, i, id_pot, id_grid; #ifdef TIDES - Real x[3], dxaux[3], globalPot, framePot; - for ( int i = 0; i < 3; i++ ) dxaux[i] = S.posBhExt[i] - S.posFrameExt[i]; + Real x[3]; #endif for ( k=g_start; k>>(Grav.dev_rho, Grav.dev_center, Grav.dev_bounds, Grav.dev_dx, H.xdglobal / 2., Grav.dev_n, H.n_ghost, Grav.dev_partialReQ, Grav.dev_partialImQ); + CudaCheckError(); - cudaMemcpy(Grav.bufferReQ, Grav.dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); - cudaMemcpy(Grav.bufferImQ, Grav.dev_partialImQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost); + CudaSafeCall( cudaMemcpy(Grav.bufferReQ, Grav.dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost) ); + CudaSafeCall( cudaMemcpy(Grav.bufferImQ, Grav.dev_partialImQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost) ); #ifdef DYNAMIC_GPU_ALLOC - FreeMemoryBoundaries_GPU(); + Grav.FreeMemoryBoundaries_GPU(); #endif for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ diff --git a/src/gravity/potential_SOR_3D.cpp b/src/gravity/potential_SOR_3D.cpp index 61678ba99..6f2b5b57d 100644 --- a/src/gravity/potential_SOR_3D.cpp +++ b/src/gravity/potential_SOR_3D.cpp @@ -52,7 +52,7 @@ void Potential_SOR_3D::Initialize( Real Lx, Real Ly, Real Lz, Real x_min, Real y chprintf( " Poisson solver: SOR\n"); chprintf( " Convergence epsilon: %.5e\n", SOREPSILON); - #ifdef TIDES + #if defined POISSON_TEST || defined TIDES chprintf( " Maximum angular order: %i\n", LMAX); #endif diff --git a/src/grid3D.cpp b/src/grid3D.cpp index 01ba21d20..1d84fe6a2 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -280,7 +280,11 @@ void Grid3D::AllocateMemory(void) #ifdef POISSON_TEST C.analyticalPotential = (Real *) malloc(H.n_cells * sizeof(Real)); #endif - + + #ifdef TIDES_OUTPUT_POTENTIAL_BH + C.Grav_potential_BH = ( Real *) malloc(H.n_cells * sizeof(Real)); + #endif + #else C.Grav_potential = NULL; #endif @@ -776,6 +780,10 @@ void Grid3D::FreeMemory(void) #ifdef TIDES Grav.FreeMemoryBoundaries_GPU(); #endif + + #ifdef TIDES_OUTPUT_POTENTIAL_BH + free(C.Grav_potential_BH); + #endif #ifdef PARTICLES Particles.Reset(); diff --git a/src/grid3D.h b/src/grid3D.h index 1848ca51a..f0412988d 100644 --- a/src/grid3D.h +++ b/src/grid3D.h @@ -301,6 +301,7 @@ class Grid3D #ifdef TIDES Star S; #endif + #ifdef COOLING_GRACKLE // Object that contains data for Grackle cooling Cool_GK Cool; @@ -369,6 +370,9 @@ class Grid3D Real *analyticalPotential; #endif + #ifdef TIDES_OUTPUT_POTENTIAL_BH + Real *Grav_potential_BH; + #endif } C; @@ -764,6 +768,10 @@ class Grid3D void setCenter(); #endif + #ifdef TIDES_OUTPUT_POTENTIAL_BH + void updatePotBH(); + #endif + }; diff --git a/src/io.cpp b/src/io.cpp index 8862c8436..fbc430f00 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -1540,6 +1540,25 @@ void Grid3D::Write_Grid_HDF5(hid_t file_id) status = H5Dclose(dataset_id); #endif + #ifdef TIDES_OUTPUT_POTENTIAL_BH + // Copy the BH potential array to the memory buffer. Remember that we defined the BH potntial inside G, so it has the hydro number of ghost zones + for (int k=0; k< H.nz_real; k++) { + for (int j=0; j< H.ny_real; j++) { + for (int i=0; i< H.nx_real; i++) { + id = ( i + H.n_ghost ) + ( j + H.n_ghost ) * H.nx + ( k + H.n_ghost ) * H.nx * H.ny; + buf_id = k + j * H.nz_real + i* H.ny_real * H.nz_real; + dataset_buffer[buf_id] = C.Grav_potential_BH[id]; + } + } + } + // Create a dataset id for density + dataset_id = H5Dcreate(file_id, "/potential_BH", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + // Write the density array to file // NOTE: NEED TO FIX FOR FLOAT REAL!!! + status = H5Dwrite(dataset_id, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dataset_buffer); + // Free the dataset id + status = H5Dclose(dataset_id); + #endif + #ifdef OUTPUT_POTENTIAL // Copy the potential array to the memory buffer for (k=0; k +#endif + #define OUTPUT //#define CPU_TIME @@ -144,6 +148,9 @@ int main(int argc, char *argv[]) #ifdef OUTPUT if (strcmp(P.init, "Read_Grid") != 0 || G.H.Output_Now ) { + #ifdef TIDES_OUTPUT_POTENTIAL_BH + G.updatePotBH(); + #endif #ifdef TIDES G.updateCOM(); #endif @@ -155,12 +162,6 @@ int main(int argc, char *argv[]) nfile++; #endif //OUTPUT -//If doing Poisson test, exit after first computation - #ifdef POISSON_TEST - G.poissonErrorNorm(); - exit(0); - #endif - // increment the next output time outtime += P.outstep; @@ -179,6 +180,11 @@ int main(int argc, char *argv[]) // Evolve the grid, one timestep at a time chprintf("\nStarting calculations.\n\n"); + + #ifdef PROFILING + cudaProfilerStart(); + #endif + while (G.H.t < P.tout) { chprintf("n_step: %d \n", G.H.n_step + 1 ); @@ -256,11 +262,14 @@ int main(int argc, char *argv[]) if (G.H.t == outtime || G.H.Output_Now ) { #ifdef OUTPUT - #ifdef TIDES + + #ifdef TIDES_OUTPUT_POTENTIAL_BH + G.updatePotBH(); + #endif + #ifndef OUTPUT_ALWAYS_COM G.updateCOM(); #endif - #endif /*output the grid data*/ WriteData(G, P, nfile); // add one to the output file count @@ -289,6 +298,9 @@ int main(int argc, char *argv[]) } /*end loop over timesteps*/ + #ifdef PROFILING + cudaProfilerStop(); + #endif #ifdef CPU_TIME // Print timing statistics diff --git a/src/mpi_routines.cpp b/src/mpi_routines.cpp index 5e95787c0..ac3572293 100644 --- a/src/mpi_routines.cpp +++ b/src/mpi_routines.cpp @@ -9,10 +9,6 @@ #include "MPI_Comm_node.h" #include -#if defined TIDES || defined POISSON_TEST -#include "complex" -#endif - /*Global MPI Variables*/ int procID; /*process rank*/ int nproc; /*number of processes in global comm*/ diff --git a/src/tides/orbit.cu b/src/tides/orbit.cu index d73d01a14..336e73c9e 100644 --- a/src/tides/orbit.cu +++ b/src/tides/orbit.cu @@ -1,6 +1,7 @@ #ifdef TIDES #include "../global.h" +#include "../global_cuda.h" #include "../grid3D.h" #include "tides.h" #include "../io.h" @@ -79,47 +80,79 @@ __global__ void comKernel(Real *rho, Real *momentum_x, Real *momentum_y, Real *m } -void Grid3D::updateCOM(){ - S.Mbox = Grav.ReQ[0] * sqrt( 4 * M_PI ); - Real totrho = S.Mbox / H.dx / H.dy / H.dz; -/* - for ( int i = 0; i < 3; i++ ) S.xstar[i] = 0.; - for ( int i = 0; i < 3; i++ ) S.vstar[i] = 0.; +__global__ void potBHKernel(Real *bounds, Real *dx, Real *xFrame, Real *xBH, Real Mbh, int *n, int n_ghost, Real *potBH){ - Real rho, x[3]; - int id; + int nreal[3], tid[3], fid; + for ( int i = 0; i < 3; i++ ) nreal[i] = n[i] - 2 * n_ghost; + int nrealcells = nreal[0] * nreal[1] * nreal[2]; - for (int k = H.n_ghost; k>>(dev_bounds, dev_dx, dev_xFrame, dev_xBH, S.Mbh, dev_n, H.n_ghost, dev_potBH); + CudaCheckError(); + + CudaSafeCall( cudaMemcpy(C.Grav_potential_BH, dev_potBH, n[0] * n[1] * n[2] * sizeof(Real), cudaMemcpyDeviceToHost) ); + + cudaFree(dev_n); + cudaFree(dev_bounds); + cudaFree(dev_dx); + cudaFree(dev_xFrame); + cudaFree(dev_xBH); + cudaFree(dev_potBH); + +} +#endif + +void Grid3D::updateCOM(){ + + S.Mbox = Grav.ReQ[0] * sqrt( 4 * M_PI ); + Real totrho = S.Mbox / H.dx / H.dy / H.dz; + Real dx[3], bounds[3]; int n[3]; dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; @@ -149,7 +182,6 @@ void Grid3D::updateCOM(){ cudaMemcpy( dev_dx , dx , 3*sizeof(Real), cudaMemcpyHostToDevice); //Call Kernel - cudaDeviceSynchronize(); comKernel<<>>(dev_rho, dev_momentum_x, dev_momentum_y, dev_momentum_z, dev_bounds, dev_dx, dev_n, H.n_ghost, dev_partialxstar, dev_partialvstar); //Copy result to CPU @@ -185,26 +217,11 @@ void Grid3D::updateCOM(){ MPI_Allreduce(MPI_IN_PLACE, S.xstar, 3, MPI_CHREAL, MPI_SUM, world); MPI_Allreduce(MPI_IN_PLACE, S.vstar, 3, MPI_CHREAL, MPI_SUM, world); #endif -/* - Real xeps[3]; - Real veps[3]; - for ( int i = 0; i < 3; i++ ){ - xeps[i] = S.xstar[i] / xstarslow[i] - 1.; - veps[i] = S.vstar[i] / vstarslow[i] - 1.; - } - chprintf("xstar new: %.10e, %.10e, %.10e\n", S.xstar[0], S.xstar[1], S.xstar[2]); - chprintf("xstar old: %.10e, %.10e, %.10e\n", xstarslow[0], xstarslow[1], xstarslow[2]); - chprintf("vstar new: %.10e, %.10e, %.10e\n", S.vstar[0], S.vstar[1], S.vstar[2]); - chprintf("vstar old: %.10e, %.10e, %.10e\n", vstarslow[0], vstarslow[1], vstarslow[2]); - chprintf("xstar relative error: %.16e, %.16e, %.16e\n", xeps[0], xeps[1], xeps[2]); - chprintf("vstar relative error: %.16e, %.16e, %.16e\n", veps[0], veps[1], veps[2]); -*/ - -//Write the COM, etc to the logfile #ifdef OUTPUT_ALWAYS_COM +//Write the COM, etc to the logfile char *message = (char*)malloc(500 * sizeof(char)); -// <--t--> <--------xstar--------> <--------vstar--------> <---------xbh---------> <---------vbh---------> <-------xFrame -------> <-------vFrame -------> <-------aFrame -------> +// Column headers: <--t--> <--------xstar--------> <--------vstar--------> <---------xbh---------> <---------vbh---------> <-------xFrame -------> <-------vFrame -------> <-------aFrame -------> sprintf(message, "%17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e %17.10e", H.t, S.xstar[0], S.xstar[1], S.xstar[2], S.vstar[0], S.vstar[1], S.vstar[2], S.posBh[0], S.posBh[1], S.posBh[2], S.velBh[0], S.velBh[1], S.velBh[2], S.posFrame[0], S.posFrame[1], S.posFrame[2], S.velFrame[0], S.velFrame[1], S.velFrame[2], S.accFrame[0], S.accFrame[1], S.accFrame[2]); Write_Message_To_Log_File("orbit_evolution.log", message); free(message); @@ -290,55 +307,6 @@ void Star::updateFrameCoords(Real t, Real dt){ } -/* -// Given the density in the cells and the position of the black hole, this function returns the three components of the acceleration of the black hole -void Grid3D::updateBhAcc(){ - -//These variables hold the positions of the cell centers and the distance between the cell center and the bh - Real posx, posy, posz, r; -//Will hold density - Real rho; - -//We need the volume of the cell because we compute the acceleration between two point masses: the BH and a mass rho * dV at the center of the cell - Real dV = H.dx * H.dy * H.dz; - -// To compute the acceleration the BH experiences, we sum over the acceleration caused by every cell in the star. - int id; - Real accBhTemp[3]; - for (int k=H.n_ghost; k Date: Sat, 28 Nov 2020 13:50:41 -0800 Subject: [PATCH 11/21] No longer copies density every single time when computing multipole boundaries, also copies {bounds, dx, etc} only once. Added a few useful vectors to the header. --- Makefile | 2 +- src/gravity/grav3D.cpp | 7 +++-- src/gravity/grav3D.h | 7 +++-- src/gravity/gravity_functions.cpp | 11 +++++-- src/gravity/multipole.cu | 50 +++++++++++++------------------ src/gravity/potential_SOR_3D.cpp | 6 ++++ src/grid3D.h | 12 +++++++- src/main.cpp | 6 ++++ src/mpi_routines.cpp | 13 ++++++++ src/poisson_test.cpp | 5 +--- 10 files changed, 75 insertions(+), 44 deletions(-) diff --git a/Makefile b/Makefile index c6efc610e..2c8de997d 100644 --- a/Makefile +++ b/Makefile @@ -112,7 +112,7 @@ DFLAGS += -DTIDES #DFLAGS += -DOUTPUT_ALWAYS_COM -# Test Poisson solver +# Test Poisson solver with quasispherical distributions #DFLAGS += -DPOISSON_TEST # Cosmology simulation diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index f2b1cf981..7f51b106f 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -15,7 +15,7 @@ Grav3D::Grav3D( void ){} -void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx, int ny, int nz, int nx_real, int ny_real, int nz_real, int n_ghost, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P ) +void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx, int ny, int nz, int nx_real, int ny_real, int nz_real, int n_ghost, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct Header H, struct parameters *P ) { //Set Box Size @@ -89,7 +89,8 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R AllocateMemory_CPU(); #if ( defined POISSON_TEST || defined TIDES ) && !(defined DYNAMIC_GPU_ALLOC ) - AllocateMemoryBoundaries_GPU(nx_real + 2 * n_ghost, ny_real + 2 * n_ghost, nz_real + 2 * n_ghost); + AllocateMemoryBoundaries_GPU(); + CopyDomainPropertiesToGPU(H.bounds_local, H.n_local_real, H.dxi); #endif Initialize_values_CPU(); @@ -140,7 +141,7 @@ void Grav3D::AllocateMemory_CPU(void) //Real and imaginary parts of the multipole moments of the density distribution ReQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); ImQ = (Real *) malloc( sizeof(Real) * (LMAX + 1) * ( LMAX + 2 ) / 2); - Qblocks = ceil( ( nx_local * ny_local * nz_local ) / QTPB ); + Qblocks = ceil( n_cells / QTPB ); centerBlocks = ceil( ( nx_local * ny_local * nz_local ) / CENTERTPB ); bufferReQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); bufferImQ = (Real *) malloc( sizeof(Real) * Qblocks * (LMAX + 1) * ( LMAX + 2 ) / 2 ); diff --git a/src/gravity/grav3D.h b/src/gravity/grav3D.h index 725c8d59b..a86a36855 100644 --- a/src/gravity/grav3D.h +++ b/src/gravity/grav3D.h @@ -179,7 +179,7 @@ class Grav3D /*! \fn void Initialize(int nx_in, int ny_in, int nz_in) * \brief Initialize the grid. */ - void Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx_total, int ny_total, int nz_total, int nx_real, int ny_real, int nz_real, int n_ghost, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct parameters *P); + void Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, Real Lz, int nx_total, int ny_total, int nz_total, int nx_real, int ny_real, int nz_real, int n_ghost, Real dx_real, Real dy_real, Real dz_real, int n_ghost_pot_offset, struct Header H, struct parameters *P); void AllocateMemory_CPU(void); void Initialize_values_CPU(); @@ -195,8 +195,9 @@ class Grav3D void Copy_Isolated_Boundaries_To_GPU( struct parameters *P ); #endif - #ifdef TIDES - void AllocateMemoryBoundaries_GPU(int nx, int ny, int nz); + #if defined POISSON_TEST || defined TIDES + void AllocateMemoryBoundaries_GPU(); + void CopyDomainPropertiesToGPU(Real *bounds_local, int *n_local_real, Real *dxi); void FreeMemoryBoundaries_GPU(); #endif diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index c894fde33..b68a41878 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -260,7 +260,7 @@ static void printDiff(const Real *p, const Real *q, const int nx, const int ny, //Initialize the Grav Object at the beginning of the simulation void Grid3D::Initialize_Gravity( struct parameters *P ){ chprintf( "\nInitializing Gravity... \n"); - Grav.Initialize( H.xblocal, H.yblocal, H.zblocal, H.xdglobal, H.ydglobal, H.zdglobal, P->nx, P->ny, P->nz, H.nx_real, H.ny_real, H.nz_real, H.n_ghost, H.dx, H.dy, H.dz, H.n_ghost_potential_offset, P ); + Grav.Initialize( H.xblocal, H.yblocal, H.zblocal, H.xdglobal, H.ydglobal, H.zdglobal, P->nx, P->ny, P->nz, H.nx_real, H.ny_real, H.nz_real, H.n_ghost, H.dx, H.dy, H.dz, H.n_ghost_potential_offset, H, P ); chprintf( "Gravity Successfully Initialized. \n\n"); #ifdef PARIS_TEST @@ -355,11 +355,16 @@ void Grid3D::Compute_Gravitational_Potential( struct parameters *P ){ Grav.BC_FLAGS_SET = true; } + +//If doing SOR, copy the density early. The reason is that if doing isolated boundaries with the multipole expansion, we need to know the entire density field to compute the boundaries. Previously the boundaries were computed independently of the rest of the solution. The copy of the density field occurred inside Get_Potential_SOR + #ifdef SOR + Grav.Poisson_solver.Copy_Input_And_Initialize( Grav.F.density_h, Grav_Constant, dens_avrg, current_a ); + #endif + #if defined POISSON_TEST || defined TIDES -// Computes the moments required for the multipole expansion at the boundaries and assigns them to Grav.Q setMoments(); #endif - + #ifdef GRAV_ISOLATED_BOUNDARY_X if ( Grav.boundary_flags[0] == 3 ) Compute_Potential_Boundaries_Isolated(0); if ( Grav.boundary_flags[1] == 3 ) Compute_Potential_Boundaries_Isolated(1); diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu index ff2ff58a7..b8e5b6f6b 100644 --- a/src/gravity/multipole.cu +++ b/src/gravity/multipole.cu @@ -10,9 +10,8 @@ #include "../mpi_routines.h" #endif -void Grav3D::AllocateMemoryBoundaries_GPU(int nx, int ny, int nz){ +void Grav3D::AllocateMemoryBoundaries_GPU(){ - CudaSafeCall( cudaMalloc( (void**)&dev_rho , nx * ny * nz * sizeof(Real) ) ); CudaSafeCall( cudaMalloc( (void**)&dev_center , 3 * sizeof(Real) ) ); CudaSafeCall( cudaMalloc( (void**)&dev_bounds , 3 * sizeof(Real) ) ); CudaSafeCall( cudaMalloc( (void**)&dev_dx , 3 * sizeof(Real) ) ); @@ -26,7 +25,6 @@ void Grav3D::AllocateMemoryBoundaries_GPU(int nx, int ny, int nz){ void Grav3D::FreeMemoryBoundaries_GPU(){ - cudaFree(dev_rho ); cudaFree(dev_center ); cudaFree(dev_bounds ); cudaFree(dev_dx ); @@ -38,6 +36,14 @@ void Grav3D::FreeMemoryBoundaries_GPU(){ } +void Grav3D::CopyDomainPropertiesToGPU(Real *bounds_local, int *n_local_real, Real *dxi){ + + CudaSafeCall( cudaMemcpy( dev_bounds, bounds_local, 3 * sizeof(Real), cudaMemcpyHostToDevice) ); + CudaSafeCall( cudaMemcpy( dev_n , n_local_real, 3 * sizeof(int ), cudaMemcpyHostToDevice) ); + CudaSafeCall( cudaMemcpy( dev_dx , dxi , 3 * sizeof(Real), cudaMemcpyHostToDevice) ); + +} + //The arrays we use for Legendre polynomials are 1D, so we need to do some index juggling to turn the tuple (thread number, l, m) into a single number int Grav3D::Qidx(int cidx, int l, int m){ @@ -283,14 +289,6 @@ __global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_gh //TODO: rmpole should be the distance from the center of the expansion to the nearest boundary cell, not from the center of the domain to the nearest boundary cell void Grid3D::setMoments(){ - Real dx[3], bounds[3]; - int n[3]; - dx[0] = H.dx; dx[1] = H.dy; dx[2] = H.dz; - Real dV = dx[0] * dx[1] * dx[2]; - bounds[0] = H.xblocal; bounds[1] = H.yblocal; bounds[2] = H.zblocal; - - n[0] = H.nx; n[1] = H.ny; n[2] = H.nz; - //Get center of the expansion in the CPU to compare results int id; Real totrhosqCPU = 0.; @@ -322,16 +320,12 @@ void Grid3D::setMoments(){ chprintf("CPU center: %.10e, %.10e, %.10e\n", centerCPU[0], centerCPU[1], centerCPU[2]); #ifdef DYNAMIC_GPU_ALLOC - Grav.AllocateMemoryBoundaries_GPU(n[0], n[1], n[2]); + Grav.AllocateMemoryBoundaries_GPU(); + Grav.CopyDomainPropertiesToGPU(); #endif //Find the center of the expansion according to Couch et al. 2013 - CudaSafeCall( cudaMemcpy( Grav.dev_rho , C.density, n[0] * n[1] * n[2] * sizeof(Real), cudaMemcpyHostToDevice) ); - CudaSafeCall( cudaMemcpy( Grav.dev_bounds, bounds , 3 * sizeof(Real), cudaMemcpyHostToDevice) ); - CudaSafeCall( cudaMemcpy( Grav.dev_n , n , 3 * sizeof(int ), cudaMemcpyHostToDevice) ); - CudaSafeCall( cudaMemcpy( Grav.dev_dx , dx , 3 * sizeof(Real), cudaMemcpyHostToDevice) ); - - centerKernel<<>>(Grav.dev_rho, Grav.dev_bounds, Grav.dev_dx, Grav.dev_n, H.n_ghost, Grav.dev_partialCenter, Grav.dev_partialTotrhosq); + centerKernel<<>>(Grav.Poisson_solver.F.input_d, Grav.dev_bounds, Grav.dev_dx, Grav.dev_n, 0, Grav.dev_partialCenter, Grav.dev_partialTotrhosq); CudaCheckError(); CudaSafeCall( cudaMemcpy(Grav.bufferCenter , Grav.dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost) ); @@ -356,24 +350,18 @@ void Grid3D::setMoments(){ for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; if ( H.n_step > 0) chprintf(" "); + for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); -//Qnl -// cudaMemcpy( Grav.dev_rho, C.density, n[0] * n[1] * n[2]*sizeof(Real), cudaMemcpyHostToDevice); +//Find the multipole moments CudaSafeCall( cudaMemcpy( Grav.dev_center, Grav.center, 3*sizeof(Real), cudaMemcpyHostToDevice) ); -// cudaMemcpy( Grav.dev_bounds, bounds, 3*sizeof(Real), cudaMemcpyHostToDevice); -// cudaMemcpy( Grav.dev_n, n, 3*sizeof(int), cudaMemcpyHostToDevice); -// cudaMemcpy( Grav.dev_dx, dx, 3*sizeof(Real), cudaMemcpyHostToDevice); - QlmKernel<<>>(Grav.dev_rho, Grav.dev_center, Grav.dev_bounds, Grav.dev_dx, H.xdglobal / 2., Grav.dev_n, H.n_ghost, Grav.dev_partialReQ, Grav.dev_partialImQ); + QlmKernel<<>>(Grav.Poisson_solver.F.input_d, Grav.dev_center, Grav.dev_bounds, Grav.dev_dx, H.xdglobal / 2., Grav.dev_n, 0, Grav.dev_partialReQ, Grav.dev_partialImQ); CudaCheckError(); CudaSafeCall( cudaMemcpy(Grav.bufferReQ, Grav.dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost) ); CudaSafeCall( cudaMemcpy(Grav.bufferImQ, Grav.dev_partialImQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost) ); - #ifdef DYNAMIC_GPU_ALLOC - Grav.FreeMemoryBoundaries_GPU(); - #endif for ( int i = 0; i < ( 1 + LMAX ) * ( 2 + LMAX ) / 2; i++ ){ Grav.ReQ[i] = 0.; @@ -389,8 +377,8 @@ void Grid3D::setMoments(){ } - Grav.ReQ[Grav.Qidx(0,l,m)] *= dV; - Grav.ImQ[Grav.Qidx(0,l,m)] *= dV; + Grav.ReQ[Grav.Qidx(0,l,m)] *= H.dV; + Grav.ImQ[Grav.Qidx(0,l,m)] *= H.dV; } } @@ -413,6 +401,10 @@ void Grid3D::setMoments(){ } #endif + #ifdef DYNAMIC_GPU_ALLOC + Grav.FreeMemoryBoundaries_GPU(); + #endif + } #endif diff --git a/src/gravity/potential_SOR_3D.cpp b/src/gravity/potential_SOR_3D.cpp index 6f2b5b57d..cb98b65e6 100644 --- a/src/gravity/potential_SOR_3D.cpp +++ b/src/gravity/potential_SOR_3D.cpp @@ -130,8 +130,14 @@ void Potential_SOR_3D::Poisson_Partial_Iteration( int n_step, Real omega, Real e void Grid3D::Get_Potential_SOR( Real Grav_Constant, Real dens_avrg, Real current_a, struct parameters *P ){ +/* Grav.Poisson_solver.Copy_Input_And_Initialize( Grav.F.density_h, Grav_Constant, dens_avrg, current_a ); + #if defined POISSON_TEST || defined TIDES + setMoments(); + #endif +*/ + //Set Isolated Boundary Conditions Grav.Copy_Isolated_Boundaries_To_GPU( P ); Grav.Poisson_solver.Set_Isolated_Boundary_Conditions( Grav.boundary_flags, P ); diff --git a/src/grid3D.h b/src/grid3D.h index f0412988d..e422d5a39 100644 --- a/src/grid3D.h +++ b/src/grid3D.h @@ -137,6 +137,8 @@ struct Header * \brief Number of real cells in the z-dimension */ int nz_real; + int n_local_real[3]; + /*! \var xbound */ /* \brief Global domain x-direction minimum */ Real xbound; @@ -185,6 +187,10 @@ struct Header /* \brief Global domain length in z-direction */ Real zdglobal; + /* ! \var blocal */ + /* \brief Local domain minimum values for all coordinates */ + Real bounds_local[3]; + /*! \var dx * \brief x-width of cells */ Real dx; @@ -196,7 +202,11 @@ struct Header /*! \var dz * \brief z-width of cells */ Real dz; - + + Real dxi[3]; + + Real dV; + /*! \var t * \brief Simulation time */ Real t; diff --git a/src/main.cpp b/src/main.cpp index cbcabcc87..7f518eb03 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -185,6 +185,10 @@ int main(int argc, char *argv[]) cudaProfilerStart(); #endif + #ifdef POISSON_TEST + G.poissonErrorNorm(); + #endif + while (G.H.t < P.tout) { chprintf("n_step: %d \n", G.H.n_step + 1 ); @@ -267,9 +271,11 @@ int main(int argc, char *argv[]) G.updatePotBH(); #endif + #ifdef TIDES #ifndef OUTPUT_ALWAYS_COM G.updateCOM(); #endif + #endif /*output the grid data*/ WriteData(G, P, nfile); // add one to the output file count diff --git a/src/mpi_routines.cpp b/src/mpi_routines.cpp index ac3572293..c3f22324e 100644 --- a/src/mpi_routines.cpp +++ b/src/mpi_routines.cpp @@ -283,6 +283,10 @@ void DomainDecomposition(struct parameters *P, struct Header *H, int nx_gin, int else H->nz = nz_local+2*H->n_ghost; H->nz_real = nz_local; + H->n_local_real[0] = nx_local; + H->n_local_real[1] = ny_local; + H->n_local_real[2] = nz_local; + // set total number of cells H->n_cells = H->nx * H->ny * H->nz; @@ -886,6 +890,10 @@ void Set_Parallel_Domain(Real xmin_global, Real ymin_global, Real zmin_global, R H->yblocal = ymin_local; H->zblocal = zmin_local; + H->bounds_local[0] = xmin_local; + H->bounds_local[1] = ymin_local; + H->bounds_local[2] = zmin_local; + //printf("ProcessID: %d xbound: %f xdglobal: %f xblocal: %f\n", procID, H->xbound, H->xdglobal, H->xblocal); /*perform 1-D first*/ @@ -930,6 +938,11 @@ void Set_Parallel_Domain(Real xmin_global, Real ymin_global, Real zmin_global, R H->dz = H->domlen_z / (H->nz - 2*H->n_ghost); } + H->dxi[0] = H->dx; + H->dxi[1] = H->dy; + H->dxi[2] = H->dz; + H->dV = H->dx * H->dy * H->dz; + /* make sure the domain is properly set for this decomposition*/ if(pd_flag==0) { diff --git a/src/poisson_test.cpp b/src/poisson_test.cpp index 7e77599dc..01bc6dd17 100644 --- a/src/poisson_test.cpp +++ b/src/poisson_test.cpp @@ -1,10 +1,7 @@ #ifdef POISSON_TEST #include "grid3D.h" #include "io.h" - -#ifndef MPI_CHOLLA -#include "cmath" -#endif +#include "math.h" void Grid3D::poissonErrorNorm(){ From 9bad8b1506ff429ec18ecd4df944e8f6e0fcf70f Mon Sep 17 00:00:00 2001 From: ryarza Date: Sun, 29 Nov 2020 06:46:20 -0800 Subject: [PATCH 12/21] Added function to print global GPU memory usage; fixed compile options print; disabled COM temporarily; switched to dynamic allocation for small arrays --- src/global.cpp | 29 +++++++++++++++++++++++++++-- src/global.h | 1 + src/gravity/grav3D.cpp | 2 ++ src/gravity/multipole.cu | 12 ++++++------ src/main.cpp | 6 +++--- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/global.cpp b/src/global.cpp index 3062dcb74..349893e7a 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -11,6 +11,10 @@ #include "global.h" #include "io.h" +#ifdef CUDA +#include"global_cuda.h" +#endif + /* Global variables */ Real gama; // Ratio of specific heats Real C_cfl; // CFL number @@ -342,8 +346,8 @@ void printHydroParams(){ chprintf("CTU"); #elif defined VL chprintf("VL"); - #elif defined CTU - chprintf("CTU"); + #elif defined SIMPLE + chprintf("Simple"); #else chprintf("not recognized"); #endif @@ -399,3 +403,24 @@ void printHydroParams(){ chprintf(" P : %.10e\n", PRES_FLOOR); } + +void printMemoryUsageGPU(){ + + size_t free_bytes, total_bytes; + cudaError_t cuda_status; + + cuda_status = cudaMemGetInfo( &free_bytes, &total_bytes ); + if ( cudaSuccess != cuda_status ) printf("Error: cudaMemGetInfo failed, %s \n", cudaGetErrorString(cuda_status) ); + + double free_db = (double)free_bytes ; + double total_db = (double)total_bytes ; + double used_db = total_db - free_db ; +/* + #ifdef MPI_CHOLLA + MPI_Allreduce(MPI_IN_PLACE, &used_db, 1, MPI_CHREAL, MPI_MAX, world); + #endif +*/ + printf("GPU max memory usage: %f/%f MB\n", used_db/1024.0/1024.0, total_db/1024.0/1024.0); + MPI_Barrier(world); + +} diff --git a/src/global.h b/src/global.h index 3ed53db53..cd57d3431 100644 --- a/src/global.h +++ b/src/global.h @@ -278,6 +278,7 @@ struct parameters extern void parse_params (char *param_file, struct parameters * parms); extern void printHydroParams(); +extern void printMemoryUsageGPU(); #endif //GLOBAL_H diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index 7f51b106f..d4a206024 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -88,10 +88,12 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R AllocateMemory_CPU(); +/* #if ( defined POISSON_TEST || defined TIDES ) && !(defined DYNAMIC_GPU_ALLOC ) AllocateMemoryBoundaries_GPU(); CopyDomainPropertiesToGPU(H.bounds_local, H.n_local_real, H.dxi); #endif +*/ Initialize_values_CPU(); diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu index b8e5b6f6b..953dd6c1c 100644 --- a/src/gravity/multipole.cu +++ b/src/gravity/multipole.cu @@ -319,10 +319,10 @@ void Grid3D::setMoments(){ for ( int i = 0; i < 3; i++ ) centerCPU[i] /= totrhosqCPU; chprintf("CPU center: %.10e, %.10e, %.10e\n", centerCPU[0], centerCPU[1], centerCPU[2]); - #ifdef DYNAMIC_GPU_ALLOC +// #ifdef DYNAMIC_GPU_ALLOC Grav.AllocateMemoryBoundaries_GPU(); - Grav.CopyDomainPropertiesToGPU(); - #endif + Grav.CopyDomainPropertiesToGPU(H.bounds_local, H.n_local_real, H.dxi); +// #endif //Find the center of the expansion according to Couch et al. 2013 centerKernel<<>>(Grav.Poisson_solver.F.input_d, Grav.dev_bounds, Grav.dev_dx, Grav.dev_n, 0, Grav.dev_partialCenter, Grav.dev_partialTotrhosq); @@ -350,7 +350,7 @@ void Grid3D::setMoments(){ for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; if ( H.n_step > 0) chprintf(" "); - for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; +// for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); //Find the multipole moments @@ -401,9 +401,9 @@ void Grid3D::setMoments(){ } #endif - #ifdef DYNAMIC_GPU_ALLOC +// #ifdef DYNAMIC_GPU_ALLOC Grav.FreeMemoryBoundaries_GPU(); - #endif +// #endif } diff --git a/src/main.cpp b/src/main.cpp index 7f518eb03..51b953708 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -152,7 +152,7 @@ int main(int argc, char *argv[]) G.updatePotBH(); #endif #ifdef TIDES - G.updateCOM(); +// G.updateCOM(); #endif // write the initial conditions to file chprintf("\nWriting initial conditions to file...\n"); @@ -210,7 +210,7 @@ int main(int argc, char *argv[]) #if defined TIDES G.S.update(G.H.t, G.H.dt); #ifdef OUTPUT_ALWAYS_COM - if ( G.H.t > 0) G.updateCOM(); +// if ( G.H.t > 0) G.updateCOM(); #endif #endif @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) #ifdef TIDES #ifndef OUTPUT_ALWAYS_COM - G.updateCOM(); +// G.updateCOM(); #endif #endif /*output the grid data*/ From a4d4f81a284f4117834230143a4dee9de19f2efe Mon Sep 17 00:00:00 2001 From: ryarza Date: Sat, 5 Dec 2020 06:24:25 -0800 Subject: [PATCH 13/21] Saved memory in Poisson solver at slight flexibility cost; restored COM calculation --- Makefile | 2 +- src/VL_3D_cuda.cu | 2 +- src/global.cpp | 2 +- src/gravity/grav3D.cpp | 7 ------ src/gravity/gravity_functions.cpp | 13 +++++++--- src/gravity/multipole.cu | 11 +++------ src/gravity/potential_SOR_3D.cpp | 8 +++--- src/gravity/potential_SOR_3D.h | 12 ++++++--- src/gravity/potential_SOR_3D_gpu.cu | 38 ++++++++++++++++++++++++++--- src/io.cpp | 6 ++--- src/main.cpp | 6 ++--- src/mpi_routines.cpp | 2 +- 12 files changed, 69 insertions(+), 40 deletions(-) diff --git a/Makefile b/Makefile index 2c8de997d..40b88b796 100644 --- a/Makefile +++ b/Makefile @@ -107,7 +107,7 @@ DFLAGS += -DTIDES # Uses relativistic corrections to the orbit and potential. Otherwise exact Newtonian potential is used #DFLAGS += -DTIDES_RELATIVISTIC # Outputs the black hole potential, which can be used to compute whether any given fluid cell is bound or unbound -#DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH +DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH #Prints the center of mass motion at every step #DFLAGS += -DOUTPUT_ALWAYS_COM diff --git a/src/VL_3D_cuda.cu b/src/VL_3D_cuda.cu index 07cc3e032..3f9e289ec 100644 --- a/src/VL_3D_cuda.cu +++ b/src/VL_3D_cuda.cu @@ -115,7 +115,7 @@ Real VL_Algorithm_3D_CUDA(Real *host_conserved0, Real *host_conserved1, int nx, CudaSafeCall( cudaMalloc((void**)&dev_dt_array, ngrid*sizeof(Real)) ); #endif - #if defined( GRAVITY ) + #if defined( GRAVITY ) CudaSafeCall( cudaMalloc((void**)&dev_grav_potential, BLOCK_VOL*sizeof(Real)) ); #else dev_grav_potential = NULL; diff --git a/src/global.cpp b/src/global.cpp index 349893e7a..9f66054ba 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -421,6 +421,6 @@ void printMemoryUsageGPU(){ #endif */ printf("GPU max memory usage: %f/%f MB\n", used_db/1024.0/1024.0, total_db/1024.0/1024.0); - MPI_Barrier(world); + MPI_Barrier(MPI_COMM_WORLD); } diff --git a/src/gravity/grav3D.cpp b/src/gravity/grav3D.cpp index d4a206024..d360813c0 100644 --- a/src/gravity/grav3D.cpp +++ b/src/gravity/grav3D.cpp @@ -88,13 +88,6 @@ void Grav3D::Initialize( Real x_min, Real y_min, Real z_min, Real Lx, Real Ly, R AllocateMemory_CPU(); -/* - #if ( defined POISSON_TEST || defined TIDES ) && !(defined DYNAMIC_GPU_ALLOC ) - AllocateMemoryBoundaries_GPU(); - CopyDomainPropertiesToGPU(H.bounds_local, H.n_local_real, H.dxi); - #endif -*/ - Initialize_values_CPU(); // chprintf( "Gravity Initialized: \n Lbox: %0.2f %0.2f %0.2f \n Local: %d %d %d \n Global: %d %d %d \n", diff --git a/src/gravity/gravity_functions.cpp b/src/gravity/gravity_functions.cpp index b68a41878..b857916e4 100644 --- a/src/gravity/gravity_functions.cpp +++ b/src/gravity/gravity_functions.cpp @@ -358,11 +358,16 @@ void Grid3D::Compute_Gravitational_Potential( struct parameters *P ){ //If doing SOR, copy the density early. The reason is that if doing isolated boundaries with the multipole expansion, we need to know the entire density field to compute the boundaries. Previously the boundaries were computed independently of the rest of the solution. The copy of the density field occurred inside Get_Potential_SOR #ifdef SOR - Grav.Poisson_solver.Copy_Input_And_Initialize( Grav.F.density_h, Grav_Constant, dens_avrg, current_a ); - #endif - - #if defined POISSON_TEST || defined TIDES + Grav.Poisson_solver.Copy_Density_To_GPU(Grav.Poisson_solver.n_cells_local, Grav.F.density_h); setMoments(); + Grav.Poisson_solver.Convert_Density_To_RHS(Grav_Constant); + if ( !Grav.Poisson_solver.potential_initialized ){ + chprintf( "SOR: Initializing Potential \n"); + Grav.Poisson_solver.Initialize_Potential( Grav.Poisson_solver.nx_local, Grav.Poisson_solver.ny_local, Grav.Poisson_solver.nz_local, Grav.Poisson_solver.n_ghost, Grav.Poisson_solver.F.potential_d, Grav.Poisson_solver.F.density_d ); + Grav.Poisson_solver.potential_initialized = true; + } + +// Grav.Poisson_solver.Copy_Input_And_Initialize( Grav.F.density_h, Grav_Constant, dens_avrg, current_a ); #endif #ifdef GRAV_ISOLATED_BOUNDARY_X diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu index 953dd6c1c..afda160cf 100644 --- a/src/gravity/multipole.cu +++ b/src/gravity/multipole.cu @@ -290,6 +290,7 @@ __global__ void centerKernel(Real *rho, Real *bounds, Real *dx, int *n, int n_gh void Grid3D::setMoments(){ //Get center of the expansion in the CPU to compare results +/* int id; Real totrhosqCPU = 0.; Real centerCPU[3], x[3]; @@ -318,14 +319,13 @@ void Grid3D::setMoments(){ for ( int i = 0; i < 3; i++ ) centerCPU[i] /= totrhosqCPU; chprintf("CPU center: %.10e, %.10e, %.10e\n", centerCPU[0], centerCPU[1], centerCPU[2]); +*/ -// #ifdef DYNAMIC_GPU_ALLOC Grav.AllocateMemoryBoundaries_GPU(); Grav.CopyDomainPropertiesToGPU(H.bounds_local, H.n_local_real, H.dxi); -// #endif //Find the center of the expansion according to Couch et al. 2013 - centerKernel<<>>(Grav.Poisson_solver.F.input_d, Grav.dev_bounds, Grav.dev_dx, Grav.dev_n, 0, Grav.dev_partialCenter, Grav.dev_partialTotrhosq); + centerKernel<<>>(Grav.Poisson_solver.F.density_d, Grav.dev_bounds, Grav.dev_dx, Grav.dev_n, 0, Grav.dev_partialCenter, Grav.dev_partialTotrhosq); CudaCheckError(); CudaSafeCall( cudaMemcpy(Grav.bufferCenter , Grav.dev_partialCenter , 3 * Grav.centerBlocks * sizeof(Real), cudaMemcpyDeviceToHost) ); @@ -350,13 +350,12 @@ void Grid3D::setMoments(){ for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; if ( H.n_step > 0) chprintf(" "); -// for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); //Find the multipole moments CudaSafeCall( cudaMemcpy( Grav.dev_center, Grav.center, 3*sizeof(Real), cudaMemcpyHostToDevice) ); - QlmKernel<<>>(Grav.Poisson_solver.F.input_d, Grav.dev_center, Grav.dev_bounds, Grav.dev_dx, H.xdglobal / 2., Grav.dev_n, 0, Grav.dev_partialReQ, Grav.dev_partialImQ); + QlmKernel<<>>(Grav.Poisson_solver.F.density_d, Grav.dev_center, Grav.dev_bounds, Grav.dev_dx, H.xdglobal / 2., Grav.dev_n, 0, Grav.dev_partialReQ, Grav.dev_partialImQ); CudaCheckError(); CudaSafeCall( cudaMemcpy(Grav.bufferReQ, Grav.dev_partialReQ, sizeof(Real) * Grav.Qblocks * (1 + LMAX ) * (2 + LMAX ) / 2, cudaMemcpyDeviceToHost) ); @@ -401,9 +400,7 @@ void Grid3D::setMoments(){ } #endif -// #ifdef DYNAMIC_GPU_ALLOC Grav.FreeMemoryBoundaries_GPU(); -// #endif } diff --git a/src/gravity/potential_SOR_3D.cpp b/src/gravity/potential_SOR_3D.cpp index cb98b65e6..06c80e934 100644 --- a/src/gravity/potential_SOR_3D.cpp +++ b/src/gravity/potential_SOR_3D.cpp @@ -76,7 +76,7 @@ void Potential_SOR_3D::AllocateMemory_CPU( void ){ void Potential_SOR_3D::AllocateMemory_GPU( void ){ - Allocate_Array_GPU_Real( &F.input_d, n_cells_local ); +// Allocate_Array_GPU_Real( &F.input_d, n_cells_local ); Allocate_Array_GPU_Real( &F.density_d, n_cells_local ); Allocate_Array_GPU_Real( &F.potential_d, n_cells_potential ); Allocate_Array_GPU_bool( &F.converged_d, 1 ); @@ -110,7 +110,7 @@ void Potential_SOR_3D::AllocateMemory_GPU( void ){ #endif } - +/* void Potential_SOR_3D::Copy_Input_And_Initialize( Real *input_density, Real Grav_Constant, Real dens_avrg, Real current_a ){ Copy_Input( n_cells_local, F.input_d, input_density, Grav_Constant, dens_avrg, current_a ); @@ -120,7 +120,7 @@ void Potential_SOR_3D::Copy_Input_And_Initialize( Real *input_density, Real Grav potential_initialized = true; } } - +*/ void Potential_SOR_3D::Poisson_Partial_Iteration( int n_step, Real omega, Real epsilon ){ if (n_step == 0 ) Poisson_iteration_Patial_1( n_cells_local, nx_local, ny_local, nz_local, n_ghost, dx, dy, dz, omega, epsilon, F.density_d, F.potential_d, F.converged_h, F.converged_d ); @@ -265,7 +265,7 @@ void Potential_SOR_3D::Copy_Poisson_Boundary_Periodic( int direction, int side ) void Potential_SOR_3D::FreeMemory_GPU( void ){ - Free_Array_GPU_Real( F.input_d ); +// Free_Array_GPU_Real( F.input_d ); Free_Array_GPU_Real( F.density_d ); Free_Array_GPU_Real( F.potential_d ); Free_Array_GPU_Real( F.boundaries_buffer_x0_d ); diff --git a/src/gravity/potential_SOR_3D.h b/src/gravity/potential_SOR_3D.h index 8791267c6..a0050b434 100644 --- a/src/gravity/potential_SOR_3D.h +++ b/src/gravity/potential_SOR_3D.h @@ -53,7 +53,7 @@ class Potential_SOR_3D{ Real *output_h; - Real *input_d; +// Real *input_d; // Real *output_d; Real *density_d; Real *potential_d; @@ -96,7 +96,7 @@ class Potential_SOR_3D{ void AllocateMemory_GPU( void ); void FreeMemory_GPU( void ); void Reset( void ); - void Copy_Input( int n_cells, Real *input_d, Real *input_density_h, Real Grav_Constant, Real dens_avrg, Real current_a ); +// void Copy_Input( int n_cells, Real *input_d, Real *input_density_h, Real Grav_Constant, Real dens_avrg, Real current_a ); void Copy_Output( Real *output_potential ); void Copy_Potential_From_Host( Real *output_potential ); @@ -114,7 +114,7 @@ class Potential_SOR_3D{ void Initialize_Potential( int nx, int ny, int nz, int n_ghost_potential, Real *potential_d, Real *density_d ); - void Copy_Input_And_Initialize( Real *input_density, Real Grav_Constant, Real dens_avrg, Real current_a ); +// void Copy_Input_And_Initialize( Real *input_density, Real Grav_Constant, Real dens_avrg, Real current_a ); void Poisson_iteration( int n_cells, int nx, int ny, int nz, int n_ghost_potential, Real dx, Real dy, Real dz, Real omega, Real epsilon, Real *density_d, Real *potential_d, bool *converged_h, bool *converged_d ); void Poisson_iteration_Patial_1( int n_cells, int nx, int ny, int nz, int n_ghost_potential, Real dx, Real dy, Real dz, Real omega, Real epsilon, Real *density_d, Real *potential_d, bool *converged_h, bool *converged_d ); @@ -154,10 +154,14 @@ class Potential_SOR_3D{ #ifdef MPI_CHOLLA bool Get_Global_Converged( bool converged_local ); #endif + + void Copy_Density_To_GPU(int n_cells, Real *density_h); + void Convert_Density_To_RHS(Real Grav_Constant); + }; #endif //POTENTIAL_SOR_H -#endif //GRAVITY \ No newline at end of file +#endif //GRAVITY diff --git a/src/gravity/potential_SOR_3D_gpu.cu b/src/gravity/potential_SOR_3D_gpu.cu index f39e3e396..1147afc1d 100644 --- a/src/gravity/potential_SOR_3D_gpu.cu +++ b/src/gravity/potential_SOR_3D_gpu.cu @@ -28,6 +28,7 @@ void Potential_SOR_3D::Free_Array_GPU_bool( bool *array_dev ){ CudaCheckError(); } +/* __global__ void Copy_Input_Kernel( int n_cells, Real *input_d, Real *density_d, Real Grav_Constant, Real dens_avrg, Real current_a ){ int tid = threadIdx.x + blockIdx.x * blockDim.x; @@ -36,15 +37,14 @@ __global__ void Copy_Input_Kernel( int n_cells, Real *input_d, Real *density_d, #ifdef COSMOLOGY density_d[tid] = 4 * M_PI * Grav_Constant * ( input_d[tid] - dens_avrg ) / current_a; #else - density_d[tid] = 4 * M_PI * Grav_Constant * input_d[tid]; + density_d[tid] = 4 * M_PI * Grav_Constant * density_d[tid]; #endif // if (tid == 0) printf("dens: %f\n", density_d[tid]); } - void Potential_SOR_3D::Copy_Input( int n_cells, Real *input_d, Real *input_density_h, Real Grav_Constant, Real dens_avrg, Real current_a ){ - cudaMemcpy( input_d, input_density_h, n_cells*sizeof(Real), cudaMemcpyHostToDevice ); - +// cudaMemcpy( input_d, input_density_h, n_cells*sizeof(Real), cudaMemcpyHostToDevice ); + cudaMemcpy( F.density_d, input_density_h, n_cells*sizeof(Real), cudaMemcpyHostToDevice ); // set values for GPU kernels int ngrid = (n_cells_local + TPB_SOR - 1) / TPB_SOR; // number of blocks per 1D grid @@ -54,6 +54,36 @@ void Potential_SOR_3D::Copy_Input( int n_cells, Real *input_d, Real *input_densi Copy_Input_Kernel<<>>( n_cells_local, F.input_d, F.density_d, Grav_Constant, dens_avrg, current_a ); } +*/ + +void Potential_SOR_3D::Copy_Density_To_GPU(int n_cells, Real *density_h){ + CudaSafeCall( cudaMemcpy( F.density_d, density_h, n_cells * sizeof(Real), cudaMemcpyHostToDevice) ); +} + +__global__ void Convert_Density_To_RHS_Kernel( int n_cells, Real *density_d, Real Grav_Constant, Real dens_avrg, Real current_a ){ + + int tid = threadIdx.x + blockIdx.x * blockDim.x; + if ( tid >= n_cells ) return; + + #ifdef COSMOLOGY + density_d[tid] = 4 * M_PI * Grav_Constant * ( density_d[tid] - dens_avrg ) / current_a; + #else + density_d[tid] = 4 * M_PI * Grav_Constant * density_d[tid]; + #endif + // if (tid == 0) printf("dens: %f\n", density_d[tid]); +} + + +void Potential_SOR_3D::Convert_Density_To_RHS(Real Grav_Constant){ + // set values for GPU kernels + int ngrid = (n_cells_local + TPB_SOR - 1) / TPB_SOR; + // number of blocks per 1D grid + dim3 dim1dGrid(ngrid, 1, 1); + // number of threads per 1D block + dim3 dim1dBlock(TPB_SOR, 1, 1); + + Convert_Density_To_RHS_Kernel<<>>( n_cells_local, F.density_d, Grav_Constant, 0, 1 ); +} void Grav3D::Copy_Isolated_Boundary_To_GPU_buffer( Real *isolated_boundary_h, Real *isolated_boundary_d, int boundary_size ){ cudaMemcpy( isolated_boundary_d, isolated_boundary_h, boundary_size*sizeof(Real), cudaMemcpyHostToDevice ); diff --git a/src/io.cpp b/src/io.cpp index fbc430f00..fe7ede5e1 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -474,9 +474,9 @@ void Grid3D::Write_Header_HDF5(hid_t file_id) status = H5Aclose(attribute_id); //Save some other useful info -// attribute_id = H5Acreate(file_id, "cfl", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); -// status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &H.C_cfl); -// status = H5Aclose(attribute_id); + attribute_id = H5Acreate(file_id, "CFL", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(attribute_id, H5T_NATIVE_DOUBLE, &C_cfl); + status = H5Aclose(attribute_id); #ifdef TIDES attribute_id = H5Acreate(file_id, "Mstar", H5T_IEEE_F64BE, dataspace_id, H5P_DEFAULT, H5P_DEFAULT); diff --git a/src/main.cpp b/src/main.cpp index 51b953708..7f518eb03 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -152,7 +152,7 @@ int main(int argc, char *argv[]) G.updatePotBH(); #endif #ifdef TIDES -// G.updateCOM(); + G.updateCOM(); #endif // write the initial conditions to file chprintf("\nWriting initial conditions to file...\n"); @@ -210,7 +210,7 @@ int main(int argc, char *argv[]) #if defined TIDES G.S.update(G.H.t, G.H.dt); #ifdef OUTPUT_ALWAYS_COM -// if ( G.H.t > 0) G.updateCOM(); + if ( G.H.t > 0) G.updateCOM(); #endif #endif @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) #ifdef TIDES #ifndef OUTPUT_ALWAYS_COM -// G.updateCOM(); + G.updateCOM(); #endif #endif /*output the grid data*/ diff --git a/src/mpi_routines.cpp b/src/mpi_routines.cpp index c3f22324e..dc13c4c16 100644 --- a/src/mpi_routines.cpp +++ b/src/mpi_routines.cpp @@ -135,7 +135,7 @@ void InitializeChollaMPI(int *pargc, char **pargv[]) /*set process ids in comm world*/ MPI_Comm_rank(MPI_COMM_WORLD, &procID); - + /*find number of processes in comm world*/ MPI_Comm_size(MPI_COMM_WORLD, &nproc); From e00b430df3d062c7b030181451054b2a04ffec7c Mon Sep 17 00:00:00 2001 From: ryarza Date: Wed, 16 Dec 2020 08:23:33 -0800 Subject: [PATCH 14/21] Changed floors --- Makefile | 2 +- src/global.h | 4 ++-- src/grid3D.cpp | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 40b88b796..d76eed754 100644 --- a/Makefile +++ b/Makefile @@ -70,7 +70,7 @@ DFLAGS += -DPRESSURE_FLOOR #DFLAGS += -DTILED_INITIAL_CONDITIONS #Average Slow cell when the cell delta_t is very small -# DFLAGS += -DAVERAGE_SLOW_CELLS +#DFLAGS += -DAVERAGE_SLOW_CELLS #Print Initial Statistics DFLAGS += -DPRINT_INITIAL_STATS diff --git a/src/global.h b/src/global.h index cd57d3431..f85e51ff1 100644 --- a/src/global.h +++ b/src/global.h @@ -51,8 +51,8 @@ typedef double Real; //Conserved Floor Values #define TEMP_FLOOR 0. -#define DENS_FLOOR (1.e-25) -#define PRES_FLOOR (1.e-10) +#define DENS_FLOOR (1.e-20) +#define PRES_FLOOR (1.e-5) //Parameter for Enzo dual Energy Condition #define DE_ETA_1 0.001 //Ratio of U to E for wich Inetrnal Energy is used to compute the Pressure diff --git a/src/grid3D.cpp b/src/grid3D.cpp index 1d84fe6a2..ffabe92c7 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -540,10 +540,9 @@ Real Grid3D::Update_Grid(void) // Set the lower limit for density and temperature (Internal Energy) Real U_floor, density_floor; density_floor = H.density_floor; - // Minimum of internal energy from minumum of temperature - U_floor = H.pressure_floor / ( gama - 1 ) / H.density_floor; -//TEMPORARY: U floor = 0 - U_floor = 0; +// Minimum of internal energy from minumum of temperature. +// To get the minimum U, use the estimated max rho. + U_floor = H.pressure_floor / ( gama - 1. ) / 10.; #ifdef COSMOLOGY U_floor = H.temperature_floor / (gama - 1) / MP * KB * 1e-10;; U_floor /= Cosmo.v_0_gas * Cosmo.v_0_gas / Cosmo.current_a / Cosmo.current_a; From 6b347049110a7c41e57ca62871cf846a56d1dd31 Mon Sep 17 00:00:00 2001 From: ryarza Date: Thu, 25 Mar 2021 13:28:10 -0700 Subject: [PATCH 15/21] GPU memory usage output, ignore CFL condition for background cells --- make_lux_sor.sh | 5 ++++- src/cuda_mpi_routines.cu | 4 ++-- src/global.cpp | 9 ++++++++- src/global.h | 4 ++-- src/grid3D.cpp | 2 +- src/hydro_cuda.cu | 11 ++++++++++- src/main.cpp | 2 ++ 7 files changed, 29 insertions(+), 8 deletions(-) diff --git a/make_lux_sor.sh b/make_lux_sor.sh index abf3f69bc..78335bd1f 100644 --- a/make_lux_sor.sh +++ b/make_lux_sor.sh @@ -1,5 +1,6 @@ #!/bin/bash +module purge module load hdf5/1.10.6 module load openmpi/4.0.1-cuda module load cuda10.2/10.2.89 @@ -11,4 +12,6 @@ export GRAKLE_HOME='/home/brvillas/code/grackle' export POISSON_SOLVER='-DSOR' export SUFFIX='.sor' make clean -make -j 16 +make -j 40 + +source ~/.bashrc diff --git a/src/cuda_mpi_routines.cu b/src/cuda_mpi_routines.cu index fd00dbb5d..4dfcc3642 100644 --- a/src/cuda_mpi_routines.cu +++ b/src/cuda_mpi_routines.cu @@ -32,8 +32,8 @@ int initialize_cuda_mpi(int myid, int nprocs) //double check cudaGetDevice(&i_device); - // printf("In initialize_cuda_mpi: myid = %d, i_device = %d, n_device = %d\n",myid,i_device,n_device); - // fflush(stdout); + printf("In initialize_cuda_mpi: myid = %d, i_device = %d, n_device = %d\n",myid,i_device,n_device); + fflush(stdout); return 0; diff --git a/src/global.cpp b/src/global.cpp index 9f66054ba..a9c65acf5 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -420,7 +420,14 @@ void printMemoryUsageGPU(){ MPI_Allreduce(MPI_IN_PLACE, &used_db, 1, MPI_CHREAL, MPI_MAX, world); #endif */ - printf("GPU max memory usage: %f/%f MB\n", used_db/1024.0/1024.0, total_db/1024.0/1024.0); + + char name[MPI_MAX_PROCESSOR_NAME]; + int len, i_device, n_device; + MPI_Get_processor_name( name, &len ); + cudaGetDeviceCount(&n_device); + cudaGetDevice(&i_device); + + printf("Node %s, GPU %i/%d memory usage: %f/%f MB\n", name, i_device, n_device, used_db/1024.0/1024.0, total_db/1024.0/1024.0); MPI_Barrier(MPI_COMM_WORLD); } diff --git a/src/global.h b/src/global.h index f85e51ff1..cdb452383 100644 --- a/src/global.h +++ b/src/global.h @@ -51,8 +51,8 @@ typedef double Real; //Conserved Floor Values #define TEMP_FLOOR 0. -#define DENS_FLOOR (1.e-20) -#define PRES_FLOOR (1.e-5) +#define DENS_FLOOR (1.e-15) +#define PRES_FLOOR (1.e-3) //Parameter for Enzo dual Energy Condition #define DE_ETA_1 0.001 //Ratio of U to E for wich Inetrnal Energy is used to compute the Pressure diff --git a/src/grid3D.cpp b/src/grid3D.cpp index ffabe92c7..6e61807cb 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -118,7 +118,7 @@ void Grid3D::Initialize(struct parameters *P) // Set the CFL coefficient (a global variable) //TEMPORARY ON: Lower CFL - C_cfl = 0.25; + C_cfl = 0.15; #ifndef MPI_CHOLLA diff --git a/src/hydro_cuda.cu b/src/hydro_cuda.cu index 644915f4f..021503e78 100644 --- a/src/hydro_cuda.cu +++ b/src/hydro_cuda.cu @@ -565,9 +565,18 @@ __global__ void Calc_dt_3D(Real *dev_conserved, int nx, int ny, int nz, int n_gh max_dti[tid] = fmax((fabs(vx)+cs)/dx, (fabs(vy)+cs)/dy); max_dti[tid] = fmax(max_dti[tid], (fabs(vz)+cs)/dz); max_dti[tid] = fmax(max_dti[tid], 0.0); + + } + #endif + + #ifdef TIDES +// If density is very low (background), basically ignore the Courant condition for the cell +// TODO: Change so that there's not a fixed threshold value + if ( d < 1.e-10 ){ + max_dti[tid] /= 10; } - #endif + } __syncthreads(); diff --git a/src/main.cpp b/src/main.cpp index 7f518eb03..a8d56a2f9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,6 +41,8 @@ int main(int argc, char *argv[]) InitializeChollaMPI(&argc, &argv); #endif /*MPI_CHOLLA*/ + printMemoryUsageGPU(); + Real dti = 0; // inverse time step, 1.0 / dt // input parameter variables From 93e17e955482144f7759fdd340f1f5d853a84323 Mon Sep 17 00:00:00 2001 From: ryarza Date: Mon, 5 Apr 2021 13:50:43 -0700 Subject: [PATCH 16/21] Added ctest Poisson test; removed a bug in multipole expansion that assumed MPI was always on --- Makefile | 8 +- src/global.cpp | 4 + src/gravity/multipole.cu | 4 + src/grid3D.cpp | 2 +- src/grid3D.h | 2 +- src/initial_conditions.cpp | 13 + src/main.cpp | 9 +- src/poisson_test.cpp | 28 +- tests/cmake_stuff/CMakeCache.txt | 378 +++++++++ .../CMakeFiles/3.20.0/CMakeCCompiler.cmake | 78 ++ .../CMakeFiles/3.20.0/CMakeCXXCompiler.cmake | 91 +++ .../CMakeFiles/3.20.0/CMakeSystem.cmake | 15 + .../3.20.0/CompilerIdC/CMakeCCompilerId.c | 743 ++++++++++++++++++ .../CMakeFiles/3.20.0/CompilerIdC/a.out | Bin 0 -> 8632 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 734 +++++++++++++++++ .../CMakeFiles/3.20.0/CompilerIdCXX/a.out | Bin 0 -> 8648 bytes .../CMakeDirectoryInformation.cmake | 16 + tests/cmake_stuff/CMakeFiles/CMakeOutput.log | 614 +++++++++++++++ tests/cmake_stuff/CMakeFiles/Makefile.cmake | 47 ++ tests/cmake_stuff/CMakeFiles/Makefile2 | 112 +++ .../CMakeFiles/TargetDirectories.txt | 4 + .../cmake_stuff/CMakeFiles/cmake.check_cache | 1 + .../cmake_stuff/CMakeFiles/feature_tests.cxx | 405 ++++++++++ tests/cmake_stuff/CMakeFiles/progress.marks | 1 + tests/cmake_stuff/CMakeLists.txt | 18 + tests/cmake_stuff/CTestTestfile.cmake | 14 + tests/cmake_stuff/Makefile | 183 +++++ .../Testing/Temporary/CTestCostData.txt | 5 + .../Testing/Temporary/LastTest.log | 419 ++++++++++ .../Testing/Temporary/LastTestsFailed.log | 1 + tests/cmake_stuff/cmake_install.cmake | 54 ++ .../poissonParameterFiles/poisson128.txt | 62 ++ .../poissonParameterFiles/poisson256.txt | 62 ++ .../poissonParameterFiles/poisson512.txt | 62 ++ .../poissonParameterFiles/poisson64.txt | 62 ++ tests/cmake_stuff/run_output.log | 38 + 36 files changed, 4279 insertions(+), 10 deletions(-) create mode 100644 tests/cmake_stuff/CMakeCache.txt create mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake create mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake create mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake create mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c create mode 100755 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out create mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out create mode 100644 tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/cmake_stuff/CMakeFiles/CMakeOutput.log create mode 100644 tests/cmake_stuff/CMakeFiles/Makefile.cmake create mode 100644 tests/cmake_stuff/CMakeFiles/Makefile2 create mode 100644 tests/cmake_stuff/CMakeFiles/TargetDirectories.txt create mode 100644 tests/cmake_stuff/CMakeFiles/cmake.check_cache create mode 100644 tests/cmake_stuff/CMakeFiles/feature_tests.cxx create mode 100644 tests/cmake_stuff/CMakeFiles/progress.marks create mode 100644 tests/cmake_stuff/CMakeLists.txt create mode 100644 tests/cmake_stuff/CTestTestfile.cmake create mode 100644 tests/cmake_stuff/Makefile create mode 100644 tests/cmake_stuff/Testing/Temporary/CTestCostData.txt create mode 100644 tests/cmake_stuff/Testing/Temporary/LastTest.log create mode 100644 tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log create mode 100644 tests/cmake_stuff/cmake_install.cmake create mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson128.txt create mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson256.txt create mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson512.txt create mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson64.txt create mode 100644 tests/cmake_stuff/run_output.log diff --git a/Makefile b/Makefile index d76eed754..ef8a25371 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ DFLAGS += -DCUDA #DFLAGS += -DPROFILING #To use MPI, DFLAGS must include -DMPI_CHOLLA -DFLAGS += -DMPI_CHOLLA -DBLOCK +#DFLAGS += -DMPI_CHOLLA -DBLOCK #DFLAGS += -DPRECISION=1 DFLAGS += -DPRECISION=2 @@ -103,17 +103,17 @@ DFLAGS += -DN_OMP_THREADS=$(OMP_NUM_THREADS) #DFLAGS += -DPRINT_OMP_DOMAIN # Flags related to the tidal simulation -DFLAGS += -DTIDES +#DFLAGS += -DTIDES # Uses relativistic corrections to the orbit and potential. Otherwise exact Newtonian potential is used #DFLAGS += -DTIDES_RELATIVISTIC # Outputs the black hole potential, which can be used to compute whether any given fluid cell is bound or unbound -DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH +#DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH #Prints the center of mass motion at every step #DFLAGS += -DOUTPUT_ALWAYS_COM # Test Poisson solver with quasispherical distributions -#DFLAGS += -DPOISSON_TEST +DFLAGS += -DPOISSON_TEST # Cosmology simulation # DFLAGS += -DCOSMOLOGY diff --git a/src/global.cpp b/src/global.cpp index a9c65acf5..9b386618c 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -421,6 +421,7 @@ void printMemoryUsageGPU(){ #endif */ + #ifdef MPI_CHOLLA char name[MPI_MAX_PROCESSOR_NAME]; int len, i_device, n_device; MPI_Get_processor_name( name, &len ); @@ -429,5 +430,8 @@ void printMemoryUsageGPU(){ printf("Node %s, GPU %i/%d memory usage: %f/%f MB\n", name, i_device, n_device, used_db/1024.0/1024.0, total_db/1024.0/1024.0); MPI_Barrier(MPI_COMM_WORLD); + #else + printf("Memory usage: %f/%f MB\n", used_db/1024./1024., total_db/1024./1024.); + #endif } diff --git a/src/gravity/multipole.cu b/src/gravity/multipole.cu index afda160cf..01c2050ea 100644 --- a/src/gravity/multipole.cu +++ b/src/gravity/multipole.cu @@ -349,6 +349,10 @@ void Grid3D::setMoments(){ for ( int i = 0; i < 3; i++ ) Grav.center[i] /= totrhosq; + #ifdef POISSON_TEST + for ( int i = 0; i < 3; i++ ) Grav.center[i] = 0.; + #endif + if ( H.n_step > 0) chprintf(" "); chprintf("Multipole center: %.10e, %.10e, %.10e\n", Grav.center[0], Grav.center[1], Grav.center[2]); diff --git a/src/grid3D.cpp b/src/grid3D.cpp index 6e61807cb..96e7a4ed7 100644 --- a/src/grid3D.cpp +++ b/src/grid3D.cpp @@ -118,7 +118,7 @@ void Grid3D::Initialize(struct parameters *P) // Set the CFL coefficient (a global variable) //TEMPORARY ON: Lower CFL - C_cfl = 0.15; + C_cfl = 0.05; #ifndef MPI_CHOLLA diff --git a/src/grid3D.h b/src/grid3D.h index e422d5a39..da655df3a 100644 --- a/src/grid3D.h +++ b/src/grid3D.h @@ -770,7 +770,7 @@ class Grid3D #ifdef POISSON_TEST void poissonTest( struct parameters P ); - void poissonErrorNorm(); + int poissonErrorNorm(); #endif #if defined POISSON_TEST || defined TIDES diff --git a/src/initial_conditions.cpp b/src/initial_conditions.cpp index de7e3ebec..b9813a313 100644 --- a/src/initial_conditions.cpp +++ b/src/initial_conditions.cpp @@ -148,6 +148,19 @@ void Grid3D::Set_Domain_Properties(struct parameters P) H.ydglobal = H.domlen_y; H.zdglobal = H.domlen_z; + H.dV = H.dx * H.dy * H.dz; + H.bounds_local[0] = H.xbound; + H.bounds_local[1] = H.ybound; + H.bounds_local[2] = H.zbound; + + H.dxi[0] = H.dx; + H.dxi[1] = H.dy; + H.dxi[2] = H.dz; + + H.n_local_real[0] = H.nx - 2 * H.n_ghost; + H.n_local_real[1] = H.ny - 2 * H.n_ghost; + H.n_local_real[2] = H.nz - 2 * H.n_ghost; + #else /*MPI_CHOLLA*/ /* set the local domains on each process */ diff --git a/src/main.cpp b/src/main.cpp index a8d56a2f9..224ccdec7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -124,6 +124,12 @@ int main(int argc, char *argv[]) G.Compute_Gravitational_Potential( &P); #endif + #ifdef POISSON_TEST + int passed = G.poissonErrorNorm(); + if (passed) exit(0); + else exit(1); + #endif + // Set boundary conditions (assign appropriate values to ghost cells) for hydro and potential chprintf("\nSetting boundary conditions...\n"); G.Set_Boundary_Conditions_Grid(P); @@ -187,9 +193,6 @@ int main(int argc, char *argv[]) cudaProfilerStart(); #endif - #ifdef POISSON_TEST - G.poissonErrorNorm(); - #endif while (G.H.t < P.tout) { diff --git a/src/poisson_test.cpp b/src/poisson_test.cpp index 01bc6dd17..19331ac6d 100644 --- a/src/poisson_test.cpp +++ b/src/poisson_test.cpp @@ -3,7 +3,7 @@ #include "io.h" #include "math.h" -void Grid3D::poissonErrorNorm(){ +int Grid3D::poissonErrorNorm(){ Real l2norm; Real deltasq = 0.; @@ -37,6 +37,32 @@ void Grid3D::poissonErrorNorm(){ l2norm = sqrt( deltasq / nx_global / ny_global / nz_global ); chprintf("L2 norm = %.20e\n", l2norm); + Real correctl2norm; + if (nx_global == 64 ){ + correctl2norm = 0.00012863286755550373; + } + else if ( nx_global == 128 ){ + correctl2norm = 3.209325613406217e-5; + } + else if ( nx_global == 256 ){ + correctl2norm = 8.004489514884087e-6; + } + else if (nx_global == 512 ){ + correctl2norm = 1.9801531450853054e-6; + } + else{ + chprintf("Unsupported resolution!"); + exit(-1); + } + + if ( fabs(l2norm / correctl2norm - 1.) < 1.e-10 ){ + return 1; + } + else{ + return 0; + } + + } #endif diff --git a/tests/cmake_stuff/CMakeCache.txt b/tests/cmake_stuff/CMakeCache.txt new file mode 100644 index 000000000..8bd14bf57 --- /dev/null +++ b/tests/cmake_stuff/CMakeCache.txt @@ -0,0 +1,378 @@ +# This is the CMakeCache file. +# For build in directory: /home/rcastroy/src/cholla/tests/cmake_stuff +# It was generated by CMake: /home/rcastroy/src/cmake/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//For backwards compatibility, what version of CMake commands and +// syntax should this version of CMake try to support. +CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=cholla + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Single output directory for building all executables. +EXECUTABLE_OUTPUT_PATH:PATH= + +//Single output directory for building all libraries. +LIBRARY_OUTPUT_PATH:PATH= + +//Value Computed by CMake +cholla_BINARY_DIR:STATIC=/home/rcastroy/src/cholla/tests/cmake_stuff + +//Value Computed by CMake +cholla_SOURCE_DIR:STATIC=/home/rcastroy/src/cholla/tests/cmake_stuff + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/rcastroy/src/cholla/tests/cmake_stuff +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=20 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/rcastroy/src/cholla/tests/cmake_stuff +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/home/rcastroy/src/cmake/share/cmake-3.20 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake new file mode 100644 index 000000000..0ddbca8ea --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake @@ -0,0 +1,78 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "4.8.5") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake new file mode 100644 index 000000000..d1b17b038 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake @@ -0,0 +1,91 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "4.8.5") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_template_template_parameters") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_template_template_parameters") +set(CMAKE_CXX17_COMPILE_FEATURES "") +set(CMAKE_CXX20_COMPILE_FEATURES "") +set(CMAKE_CXX23_COMPILE_FEATURES "") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake new file mode 100644 index 000000000..685c4bfe8 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-3.10.0-957.1.3.el7.x86_64") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "3.10.0-957.1.3.el7.x86_64") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-3.10.0-957.1.3.el7.x86_64") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "3.10.0-957.1.3.el7.x86_64") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 000000000..8aeb2c1f4 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,743 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a versio is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) +# if (defined(_MSC_VER) && !defined(__clang__)) \ + || (defined(__ibmxl__) || defined(__IBMC__)) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..72124a2843dd8cf1dbad8218d77e25cbbe61c575 GIT binary patch literal 8632 zcmeHMZ){W76~DHVknqPgG|&JmdD=hCOFXwnKa2)Zv5rK?nF)0D9>0ZTR7GL#R1cg}t1 z*v~I!t0wKs#I@c#_x#SEd+xdSy?5{Rcf$RBZkJ1Naf>erZ{LZsMUsi;)7XgxK+ zR0u`N(GFu3UdaL-u_{D0isJxLwnG-}8py7J^qDSDU`)Ax*f+ce$={$`1rB)?iRhL0 z5=C7s2X2}%tS`!7k*Ww6X}jcvV9Iu120Jn#jek%4Bp#sl9+wxv`5;Q&6)nlckUwmoTSw;WweB}4; zo#X4Tzy11ee)Kxp@&(n;TvmbRx(eDUz?2HOfPO?V>`tNUSl6?rkumiNBasp<(TSF1 zI%*_ajLFGtOEecVu-{nAWa25)O2ST5%Z?kFc+ApEPsURdlZh6h&Fz6;pcQqYiLr@v ziki^Hp8iO8kKPt&3v^&;m?M|`3Blu&+mxt7$tx85l5a%TaIAS~5NPm^AQ3Cz!n|?O zW)^F;)75KMD?&SY(X77pMUZGSmuu%OjY5YTM1^ftaQ8K;P(ywkg|`<9P_|uPrHIj4 zOIwK6k0SZ^4r}=v+RR_?9vF;Vy{Nzp)vjJTUybDIGeBQJa}}Y0v#V zcLyiL&~WIhq2bWskUl?KYVT8+Cvpyzri_e(Z?3Xg$Y_a1_Vw-G8BN3Ekc?-B;AtN& z$*@)?*S`_ZWE1JsP|zyy;8>-LD;>j@#bnYjN7I>!p?-Y(5NKqg<3m)BC5&V|YU;80 zsF6#WL(c_=g=@3t`5?53-;a7o%(sB{0__Ld`lwKN1L$R-mw~p!@UMmk3Exv#T*n85 zYs&B1yn03LtZRiIar`#jeNZSoiwaaK>kF|JiL{e9ks7ksN;uALUUH$DIC zj;)_Z7}`6j zTJr`^)o9+XnH77zYSP;k@&-fRrf#p&?QH=4Zf~vZ*PCFjK!5G;5p?;aJjuY53_Que zlMMX-XW(v?Dm!_NDEFAxkW76fc!ua|q6;2X*47ZewZ`I$+eKJeVc9J2Lh$}*6Z0g; z?;aMG|MO8Hjr=*cilnsXqxN{OGv`)OELO_95b~P|^;N_-5M57{3GO{)f#oI^{syu> zf5&k>jpb>JhO4Aa7!cXV!dw&mnK zu!HGxt4cN2b6Jl2g-YXBj;}4AHPnFJ7Y*G)bGHdDiw!skpdVxDGXYq&)aL!T*e_HUq*KXqx@O07hTaIrON=1B= z!0n~8c#3bQk_4a2D)Dilgjh9v@3|_(kMBD-9HNXk#s%Mdh|fCk0O8K}Zm;xTij&_D z2PM8dpU24$zsG@<iBoVka+v%$=iyPn6`LMcj|0Be?H8KkdHgQo5RpoF6&d_M;u}Sf<}-hP-T)l? zi^nloMl^=$N0sB>zng|L*{few_LF9r?lYA1wSGexLlP4nH3w z?p~hfpGiN<--i#SAHSHUJhaJH;JXh4x)#Q(%i&){GiKJzjgAJQaO(C#&w$<^IXI~6 zA{NiY#}ZjHp3%(-J(^6X;#ts$rS-97`iPO#V`e&&)s5Vgz+;PK+>FNpojW=@Dl6%u ziBv*2G8yBT4kv<{V`4O8OvLqAZerpXnAkWSG|e*Ap1sD=cuxl@{=UA0;X!>c z)ZHJ(7UZF4G@Fw>5qdmkm<6t_ zBBkfD@t8=YM$?0@>vl`k7TpdgglLv#z`YJmNUj6!Q}@$pgy>_hteiB z=`6|eibq321hU5_OydYpGh@+lt|d}1BPK;4l{VvnP9hYsRPGj?)R0(sC36 z@o}0!<1ui;oMmdwB+G*9UyFhoG-FI8q7YEpME8K;kOm-~A^_=~fO$$!&wo$wy9SSB zaox=8HU2+`*Yn&0>e|Z}fWb91zmEsqDsZL$OBBhKZv5V3q!lW5dtU#U-w<Smh2U>M?d!X z2^P5Sz?`x@uXoRrJ@=E_clQ4T*>{se-dDX_!5)1%?au;+adAHvD1QrN&-+VqFJt98 zQp~U2zPQe&iK3vAt?>UbOur8@yFIVR6|(1e*@ct;p~IfPzd^G91fAOox69Cvp<-{J z*Y{f~A$6=sl-w54pOQU~pIW0znM(F=7B#Jk;^2P{JhspFrT-}{#de3jv;7MWd)`+l z_)tT+XOZIFnZMtH#0wVXWyv0xFgDs12Ez}enTdG6X( wr>OlAN<5x-wZO&k@OurPFOJ=A|KSFUt9Ll(c3F4rW9%2H0sQaDUL36W7nA{V?*IS* literal 0 HcmV?d00001 diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 000000000..356dbc61f --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,734 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a versio is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..37706eed8ecdb3ef1d630f3a5feeebbcbf9b182f GIT binary patch literal 8648 zcmeHMZ){sv6~DIgum5bPYqzvr7i+Xqx+yPCnuM%l+jA19FO!p&G#woweR;K=#LRz! z{mhb4peSpFRXU1PiG1M;ln+RNx_uZCnrPZgtB?@16_tvZM5riAODl@jRY7z$=iGOW zW52k-2l#;0YrS{w`Q7t7_wRe}p6jm%Lp@H1LvV767X@k~6{>`+yAU;-rAkP&)%O@>Zu;dn^#QK(#N?A)jNfodZ z!Y9j-hi$#MPO2bBWQOG=wc`j$=AnwbMdB?IkENIFS#tldZ+Hz-`Jht;4RsZT=$7|o ziME*bUN<9{zl)Vhsg}rAsR_Z7d7lLyQOM$73ojK9P<;;@7eBS1CC@`sJa(wPwJ9EH zjK`AM$;Qc!_Qv*BC6iKGWWUir+V1Y(FKgm)^nr$L-T)V_0WAN<;f4d>b-%ai+JZTC z>D2Unmd&0Bn63TtGiEW+eRVv)J}_q3dIbR8r5FM%vVMEKOJi zkQ)n!^$cpwh=-Ygc_Ji?SW+~F6HW0{*oZe76BC)Ha5iG#Xkjj$jwVfO=ysu5X52_e zBbHriBAQH0#F|Jpwkm$58EwVxP;Y0K-lDW9ZL$YAmJaxR8YItSc5`f%5KeKL`ncp7 zkvUuwIF6j^ydyGO4R@MascX}>YP92(*Vp)jc683HT-*t;HvN9hyeux<@@<#FB)|Q) zaQD=!kVAbO%Wo{?A#MLY=%Xi@(0sc$cj=&(yQWS5>CWE4-V1a7DphC~&dpV#xX=e; z@n^uhJL;+L7Gib}G;qJxsDaR?m)u(J`s>c&`C0Ub4ZAyh7K`!=p86w*&7#Kk=ayVx zujS5b=Wf2FIWB6Kma;(pIT~t5F9TW2ePHpg5&y^w0cfwt*6s)9;@6-d!yi;C069LI z$Np*4FU;0}f%#OS2^;pGU4XX$*yk?}-}nkpJoVy61|<5(ef5@>%Pw39-j}r=-*|qt zPaF^4(q^DRo_B@k7jur_eeL+hcgo??(DUw*IT)mZ2+*bTU~R~QSC(>zfpC-e+CUGmA4mS8h4%-OZB${B~6t+EK>(9S5zPPg~l&Y-*Q zEmzR(J5dpIH+-v7bNi1~Y3`2c>OQv`cXtHb{(!ro)9veY*MWVfyGHiw$3SlYKgI6@ zbonSf8i7Y6@Mr`cjlloU2>4(>B@;_(I`0APvffs{!=~dN6O+dhVjs!1Bx@>EnWOMX zv{qUACMxInY76NcA8|N&mEtM<-eKbMk00bysLwc66w5K6%hGXQi)q%Wq7bX)U5GOz z*O06uxsfCbj6Gz6?IR}s_OU&GzpG`b5KoZ2L-jL$m2_@5^I-d)q>YgDZWPVb5x426@J@1V7W`I6MM_z?!viEsUJ__ zxh%!KLZ$gD#cSdGK`n-4-UShKLv=a)vBG&uG06qHOMbpf@r?o_D0^~=$Kjl%9R7sh zc($1167Y1<^IM8<627wdW`W_NJ-GzGot8`RxvUU>%P%8V4&QqYv9kU6zHf`!xAqsmC9kjYvD9U zrFtvK-n_wvq`A5&iT7^UfO$wM*g`4zX2TkJ4fqK#*$F@2lC^$ z`MC|aS1hkj_VahL@37gsU;t~O{S7vJEBV<=IQyvud+e|MIjsX6+ll8zm}E>0@^|28 zy(shk45!VEnH?Qf!f>Yda@T+!>fJX8Cwh@+Iyx51n9;OuCiHMTm5gS06zuF(@>+OOvd8irAWM%(A zFF6&ZV(X9;&pcJN_>5BT-2>;LkyujCW};Y8#4ru(gcOv)zAoyA>|)$Vj%AH87_rg= zAEaec`nZvd#G{}T8id^tlFDaDPdeDoyrD7He#6I!8UrV^%c2&9>| zaLP@5~s1oSxZ8VKB(#Dcm?7T%Y1*c6ezf- z=J)NOQw44L{}Z3omT&xiWTY7~#eCimn&faB8lKA5Sk_Ae@WPPelNopPNrAjjxh=Ig-eyV1R=+9jRjg`&3Tju z;lh}L`Mh5}LxD~e8FTyDj^%4mjxh@Bysw=lzK{6mr?~wD3*3j`m@=RDzgLOR{p9-X z{eP4Ao#c@B$#=@|(U+b77GT&e?kDf3YiOc5-X!<3t(-@hgR7X&`))t+eP~payp(5o z3iM(=@6Y!VpWDkW?E3d?eBNh_5dShdFG^f5LqC8_as3>Jx6*)cJj(XumR0d1;`99R zK13z{I|WNC=Yz!r=>0HjQUYusyc5IJp2o%wG&bp81V7ocYC)*KV=tB-KAc1HTmtu?}tz kzt`~j;)ZM0RMw3PBvBi6D2W_+W-In literal 0 HcmV?d00001 diff --git a/tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 000000000..c11b907cc --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.20 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/rcastroy/src/cholla/tests/cmake_stuff") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/rcastroy/src/cholla/tests/cmake_stuff") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/cmake_stuff/CMakeFiles/CMakeOutput.log b/tests/cmake_stuff/CMakeFiles/CMakeOutput.log new file mode 100644 index 000000000..b5e5265ce --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/CMakeOutput.log @@ -0,0 +1,614 @@ +The system is: Linux - 3.10.0-957.1.3.el7.x86_64 - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_65aeb/fast && /usr/bin/gmake -f CMakeFiles/cmTC_65aeb.dir/build.make CMakeFiles/cmTC_65aeb.dir/build +gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +Target: x86_64-redhat-linux +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux +Thread model: posix +gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccbW5YV3.s +GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) + compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include" +ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include" +#include "..." search starts here: +#include <...> search starts here: + /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc + /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include + /cm/shared/apps/python/3.8.6/include + /cm/shared/apps/ffmpeg/4.3.1/include + /cm/shared/apps/openmpi/openmpi-4.0.1/include + /cm/shared/apps/gsl/2.6/include + /cm/shared/apps/hdf5/1.10.6/include + /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include + /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include + /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include + /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include + /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include + /cm/shared/apps/slurm/18.08.4/include + /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include + /usr/local/include + /usr/include +End of search list. +GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) + compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 592abcad67b46aec035d56e51f71d007 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o /tmp/ccbW5YV3.s +GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7 +COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ +LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' +Linking C executable cmTC_65aeb +/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_65aeb.dir/link.txt --verbose=1 +/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -o cmTC_65aeb +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper +Target: x86_64-redhat-linux +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux +Thread model: posix +gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) +COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ +LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_65aeb' '-mtune=generic' '-march=x86-64' + /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_65aeb /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o +gmake[1]: Leaving directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] + add: [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] + add: [/cm/shared/apps/python/3.8.6/include] + add: [/cm/shared/apps/ffmpeg/4.3.1/include] + add: [/cm/shared/apps/openmpi/openmpi-4.0.1/include] + add: [/cm/shared/apps/gsl/2.6/include] + add: [/cm/shared/apps/hdf5/1.10.6/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] + add: [/cm/shared/apps/slurm/18.08.4/include] + add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] + add: [/usr/local/include] + add: [/usr/include] + end of search list found + collapse include dir [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] ==> [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] + collapse include dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] + collapse include dir [/cm/shared/apps/python/3.8.6/include] ==> [/cm/shared/apps/python/3.8.6/include] + collapse include dir [/cm/shared/apps/ffmpeg/4.3.1/include] ==> [/cm/shared/apps/ffmpeg/4.3.1/include] + collapse include dir [/cm/shared/apps/openmpi/openmpi-4.0.1/include] ==> [/cm/shared/apps/openmpi/openmpi-4.0.1/include] + collapse include dir [/cm/shared/apps/gsl/2.6/include] ==> [/cm/shared/apps/gsl/2.6/include] + collapse include dir [/cm/shared/apps/hdf5/1.10.6/include] ==> [/cm/shared/apps/hdf5/1.10.6/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] + collapse include dir [/cm/shared/apps/slurm/18.08.4/include] ==> [/cm/shared/apps/slurm/18.08.4/include] + collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_65aeb/fast && /usr/bin/gmake -f CMakeFiles/cmTC_65aeb.dir/build.make CMakeFiles/cmTC_65aeb.dir/build] + ignore line: [gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: x86_64-redhat-linux] + ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccbW5YV3.s] + ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] + ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] + ignore line: [ /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] + ignore line: [ /cm/shared/apps/python/3.8.6/include] + ignore line: [ /cm/shared/apps/ffmpeg/4.3.1/include] + ignore line: [ /cm/shared/apps/openmpi/openmpi-4.0.1/include] + ignore line: [ /cm/shared/apps/gsl/2.6/include] + ignore line: [ /cm/shared/apps/hdf5/1.10.6/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] + ignore line: [ /cm/shared/apps/slurm/18.08.4/include] + ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] + ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 592abcad67b46aec035d56e51f71d007] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o /tmp/ccbW5YV3.s] + ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] + ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking C executable cmTC_65aeb] + ignore line: [/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_65aeb.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -o cmTC_65aeb ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] + ignore line: [Target: x86_64-redhat-linux] + ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] + ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_65aeb' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_65aeb /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] + arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--no-add-needed] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-o] ==> ignore + arg [cmTC_65aeb] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore + arg [-L/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] + arg [-L/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] + arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] + arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] + arg [-L/lib/../lib64] ==> dir [/lib/../lib64] + arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] + arg [-L/cm/local/apps/cuda/libs/current/lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64] + arg [-L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] + arg [-L/cm/shared/apps/python/3.8.6/lib] ==> dir [/cm/shared/apps/python/3.8.6/lib] + arg [-L/cm/shared/apps/gsl/2.6/lib] ==> dir [/cm/shared/apps/gsl/2.6/lib] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] + arg [-L/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] + arg [-L/cm/shared/apps/slurm/18.08.4/lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64] + arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] + arg [CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore + collapse library dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] + collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] + collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] + collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] + collapse library dir [/lib/../lib64] ==> [/lib64] + collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] + collapse library dir [/cm/local/apps/cuda/libs/current/lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] + collapse library dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] + collapse library dir [/cm/shared/apps/python/3.8.6/lib] ==> [/cm/shared/apps/python/3.8.6/lib] + collapse library dir [/cm/shared/apps/gsl/2.6/lib] ==> [/cm/shared/apps/gsl/2.6/lib] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] + collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> [/cm/shared/apps/slurm/18.08.4/lib64/slurm] + collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] + collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit dirs: [/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_21996/fast && /usr/bin/gmake -f CMakeFiles/cmTC_21996.dir/build.make CMakeFiles/cmTC_21996.dir/build +gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +Target: x86_64-redhat-linux +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux +Thread model: posix +gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccqzNq1e.s +GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) + compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include" +ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include" +ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include" +#include "..." search starts here: +#include <...> search starts here: + /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc + /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include + /cm/shared/apps/python/3.8.6/include + /cm/shared/apps/ffmpeg/4.3.1/include + /cm/shared/apps/openmpi/openmpi-4.0.1/include + /cm/shared/apps/gsl/2.6/include + /cm/shared/apps/hdf5/1.10.6/include + /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include + /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include + /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include + /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include + /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include + /cm/shared/apps/slurm/18.08.4/include + /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5 + /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux + /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward + /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include + /usr/local/include + /usr/include +End of search list. +GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) + compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 9340310b160f8e0621cdd942e42cc106 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccqzNq1e.s +GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7 +COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ +LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' +Linking CXX executable cmTC_21996 +/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_21996.dir/link.txt --verbose=1 +/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_21996 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper +Target: x86_64-redhat-linux +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux +Thread model: posix +gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) +COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ +LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_21996' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_21996 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o +gmake[1]: Leaving directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] + add: [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] + add: [/cm/shared/apps/python/3.8.6/include] + add: [/cm/shared/apps/ffmpeg/4.3.1/include] + add: [/cm/shared/apps/openmpi/openmpi-4.0.1/include] + add: [/cm/shared/apps/gsl/2.6/include] + add: [/cm/shared/apps/hdf5/1.10.6/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] + add: [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] + add: [/cm/shared/apps/slurm/18.08.4/include] + add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] + add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] + add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] + add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] + add: [/usr/local/include] + add: [/usr/include] + end of search list found + collapse include dir [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] ==> [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] + collapse include dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] + collapse include dir [/cm/shared/apps/python/3.8.6/include] ==> [/cm/shared/apps/python/3.8.6/include] + collapse include dir [/cm/shared/apps/ffmpeg/4.3.1/include] ==> [/cm/shared/apps/ffmpeg/4.3.1/include] + collapse include dir [/cm/shared/apps/openmpi/openmpi-4.0.1/include] ==> [/cm/shared/apps/openmpi/openmpi-4.0.1/include] + collapse include dir [/cm/shared/apps/gsl/2.6/include] ==> [/cm/shared/apps/gsl/2.6/include] + collapse include dir [/cm/shared/apps/hdf5/1.10.6/include] ==> [/cm/shared/apps/hdf5/1.10.6/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] + collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] + collapse include dir [/cm/shared/apps/slurm/18.08.4/include] ==> [/cm/shared/apps/slurm/18.08.4/include] + collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ==> [/usr/include/c++/4.8.5] + collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ==> [/usr/include/c++/4.8.5/x86_64-redhat-linux] + collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ==> [/usr/include/c++/4.8.5/backward] + collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_21996/fast && /usr/bin/gmake -f CMakeFiles/cmTC_21996.dir/build.make CMakeFiles/cmTC_21996.dir/build] + ignore line: [gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: x86_64-redhat-linux] + ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccqzNq1e.s] + ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] + ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include"] + ignore line: [ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] + ignore line: [ /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] + ignore line: [ /cm/shared/apps/python/3.8.6/include] + ignore line: [ /cm/shared/apps/ffmpeg/4.3.1/include] + ignore line: [ /cm/shared/apps/openmpi/openmpi-4.0.1/include] + ignore line: [ /cm/shared/apps/gsl/2.6/include] + ignore line: [ /cm/shared/apps/hdf5/1.10.6/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] + ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] + ignore line: [ /cm/shared/apps/slurm/18.08.4/include] + ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] + ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] + ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] + ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] + ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 9340310b160f8e0621cdd942e42cc106] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccqzNq1e.s] + ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] + ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking CXX executable cmTC_21996] + ignore line: [/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_21996.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_21996 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] + ignore line: [Target: x86_64-redhat-linux] + ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] + ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_21996' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_21996 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] + arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--no-add-needed] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-o] ==> ignore + arg [cmTC_21996] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore + arg [-L/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] + arg [-L/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] + arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] + arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] + arg [-L/lib/../lib64] ==> dir [/lib/../lib64] + arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] + arg [-L/cm/local/apps/cuda/libs/current/lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64] + arg [-L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] + arg [-L/cm/shared/apps/python/3.8.6/lib] ==> dir [/cm/shared/apps/python/3.8.6/lib] + arg [-L/cm/shared/apps/gsl/2.6/lib] ==> dir [/cm/shared/apps/gsl/2.6/lib] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] + arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] + arg [-L/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] + arg [-L/cm/shared/apps/slurm/18.08.4/lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64] + arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] + arg [CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore + arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore + collapse library dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] + collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] + collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] + collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] + collapse library dir [/lib/../lib64] ==> [/lib64] + collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] + collapse library dir [/cm/local/apps/cuda/libs/current/lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] + collapse library dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] + collapse library dir [/cm/shared/apps/python/3.8.6/lib] ==> [/cm/shared/apps/python/3.8.6/lib] + collapse library dir [/cm/shared/apps/gsl/2.6/lib] ==> [/cm/shared/apps/gsl/2.6/lib] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] + collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] + collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> [/cm/shared/apps/slurm/18.08.4/lib64/slurm] + collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] + collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit dirs: [/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib] + implicit fwks: [] + + + + +Detecting CXX [-std=c++1y] compiler features compiled with the following output: +Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_0c747/fast && /usr/bin/gmake -f CMakeFiles/cmTC_0c747.dir/build.make CMakeFiles/cmTC_0c747.dir/build +gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_0c747.dir/feature_tests.cxx.o +/usr/bin/c++ -std=c++1y -o CMakeFiles/cmTC_0c747.dir/feature_tests.cxx.o -c /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/feature_tests.cxx +Linking CXX executable cmTC_0c747 +/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0c747.dir/link.txt --verbose=1 +/usr/bin/c++ -rdynamic CMakeFiles/cmTC_0c747.dir/feature_tests.cxx.o -o cmTC_0c747 +gmake[1]: Leaving directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' + + + + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:0cxx_attribute_deprecated + Feature record: CXX_FEATURE:0cxx_binary_literals + Feature record: CXX_FEATURE:0cxx_contextual_conversions + Feature record: CXX_FEATURE:0cxx_decltype_auto + Feature record: CXX_FEATURE:0cxx_digit_separators + Feature record: CXX_FEATURE:0cxx_generic_lambdas + Feature record: CXX_FEATURE:0cxx_lambda_init_captures + Feature record: CXX_FEATURE:0cxx_relaxed_constexpr + Feature record: CXX_FEATURE:0cxx_return_type_deduction + Feature record: CXX_FEATURE:0cxx_variable_templates diff --git a/tests/cmake_stuff/CMakeFiles/Makefile.cmake b/tests/cmake_stuff/CMakeFiles/Makefile.cmake new file mode 100644 index 000000000..ac6132111 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/Makefile.cmake @@ -0,0 +1,47 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.20 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "CMakeFiles/3.20.0/CMakeCCompiler.cmake" + "CMakeFiles/3.20.0/CMakeCXXCompiler.cmake" + "CMakeFiles/3.20.0/CMakeSystem.cmake" + "CMakeLists.txt" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCInformation.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXInformation.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCommonLanguageInclude.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeGenericSystem.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeInitializeConfigs.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeLanguageInformation.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeSystemSpecificInformation.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeSystemSpecificInitialize.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/GNU-C.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/GNU-CXX.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/GNU.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux-GNU-C.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux-GNU-CXX.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux-GNU.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux.cmake" + "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/cholla.dir/DependInfo.cmake" + ) diff --git a/tests/cmake_stuff/CMakeFiles/Makefile2 b/tests/cmake_stuff/CMakeFiles/Makefile2 new file mode 100644 index 000000000..f0c7ec129 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.20 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/rcastroy/src/cmake/bin/cmake + +# The command to remove a file. +RM = /home/rcastroy/src/cmake/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/cholla.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/cholla.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/cholla.dir + +# All Build rule for target. +CMakeFiles/cholla.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles --progress-num=1,2 "Built target cholla" +.PHONY : CMakeFiles/cholla.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/cholla.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cholla.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles 0 +.PHONY : CMakeFiles/cholla.dir/rule + +# Convenience name for target. +cholla: CMakeFiles/cholla.dir/rule +.PHONY : cholla + +# clean rule for target. +CMakeFiles/cholla.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/clean +.PHONY : CMakeFiles/cholla.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/cmake_stuff/CMakeFiles/TargetDirectories.txt b/tests/cmake_stuff/CMakeFiles/TargetDirectories.txt new file mode 100644 index 000000000..f7effdde7 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,4 @@ +/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/rebuild_cache.dir +/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/edit_cache.dir +/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/test.dir +/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/cholla.dir diff --git a/tests/cmake_stuff/CMakeFiles/cmake.check_cache b/tests/cmake_stuff/CMakeFiles/cmake.check_cache new file mode 100644 index 000000000..3dccd7317 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/tests/cmake_stuff/CMakeFiles/feature_tests.cxx b/tests/cmake_stuff/CMakeFiles/feature_tests.cxx new file mode 100644 index 000000000..ea528b446 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/feature_tests.cxx @@ -0,0 +1,405 @@ + + const char features[] = {"\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus +"1" +#else +"0" +#endif +"cxx_template_template_parameters\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alias_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alignas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_alignof\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_attributes\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_auto_type\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_constexpr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_decltype\n" +"CXX_FEATURE:" +#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_decltype_incomplete_return_types\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_default_function_template_args\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_defaulted_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_defaulted_move_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_delegating_constructors\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_deleted_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_enum_forward_declarations\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_explicit_conversions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_extended_friend_declarations\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_extern_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_final\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_func_identifier\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_generalized_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_inheriting_constructors\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_inline_namespaces\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_lambdas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_local_type_template_args\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_long_long_type\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_noexcept\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_nonstatic_member_init\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_nullptr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_override\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_range_for\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_raw_string_literals\n" +"CXX_FEATURE:" +#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_reference_qualified_functions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_right_angle_brackets\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_rvalue_references\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_sizeof_member\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_static_assert\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_strong_enums\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_thread_local\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_trailing_return_types\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_unicode_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_uniform_initialization\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_unrestricted_unions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_user_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_variadic_macros\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) +"1" +#else +"0" +#endif +"cxx_variadic_templates\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_aggregate_default_initializers\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_attribute_deprecated\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_binary_literals\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_contextual_conversions\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_decltype_auto\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_digit_separators\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_generic_lambdas\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_lambda_init_captures\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_relaxed_constexpr\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_return_type_deduction\n" +"CXX_FEATURE:" +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L +"1" +#else +"0" +#endif +"cxx_variable_templates\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/tests/cmake_stuff/CMakeFiles/progress.marks b/tests/cmake_stuff/CMakeFiles/progress.marks new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/tests/cmake_stuff/CMakeFiles/progress.marks @@ -0,0 +1 @@ +2 diff --git a/tests/cmake_stuff/CMakeLists.txt b/tests/cmake_stuff/CMakeLists.txt new file mode 100644 index 000000000..22c2b3b90 --- /dev/null +++ b/tests/cmake_stuff/CMakeLists.txt @@ -0,0 +1,18 @@ +project(cholla) + +add_executable(cholla ../../src/main.cpp) + + +enable_testing() + +add_test(poisson64 ../../cholla.sor poissonParameterFiles/poisson64.txt) +set_tests_properties(poisson64 PROPERTIES WILL_FAIL FALSE) + +add_test(poisson128 ../../cholla.sor poissonParameterFiles/poisson128.txt) +set_tests_properties(poisson128 PROPERTIES WILL_FAIL FALSE) + +add_test(poisson256 ../../cholla.sor poissonParameterFiles/poisson256.txt) +set_tests_properties(poisson256 PROPERTIES WILL_FAIL FALSE) + +add_test(poisson512 ../../cholla.sor poissonParameterFiles/poisson512.txt) +set_tests_properties(poisson512 PROPERTIES WILL_FAIL FALSE) diff --git a/tests/cmake_stuff/CTestTestfile.cmake b/tests/cmake_stuff/CTestTestfile.cmake new file mode 100644 index 000000000..7726a81ef --- /dev/null +++ b/tests/cmake_stuff/CTestTestfile.cmake @@ -0,0 +1,14 @@ +# CMake generated Testfile for +# Source directory: /home/rcastroy/src/cholla/tests/cmake_stuff +# Build directory: /home/rcastroy/src/cholla/tests/cmake_stuff +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +add_test(poisson64 "../../cholla.sor" "poissonParameterFiles/poisson64.txt") +set_tests_properties(poisson64 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;8;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") +add_test(poisson128 "../../cholla.sor" "poissonParameterFiles/poisson128.txt") +set_tests_properties(poisson128 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;11;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") +add_test(poisson256 "../../cholla.sor" "poissonParameterFiles/poisson256.txt") +set_tests_properties(poisson256 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;14;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") +add_test(poisson512 "../../cholla.sor" "poissonParameterFiles/poisson512.txt") +set_tests_properties(poisson512 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;17;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") diff --git a/tests/cmake_stuff/Makefile b/tests/cmake_stuff/Makefile new file mode 100644 index 000000000..85ccf778f --- /dev/null +++ b/tests/cmake_stuff/Makefile @@ -0,0 +1,183 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.20 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /home/rcastroy/src/cmake/bin/cmake + +# The command to remove a file. +RM = /home/rcastroy/src/cmake/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /home/rcastroy/src/cmake/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /home/rcastroy/src/cmake/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /home/rcastroy/src/cmake/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles /home/rcastroy/src/cholla/tests/cmake_stuff//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named cholla + +# Build rule for target. +cholla: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cholla +.PHONY : cholla + +# fast build rule for target. +cholla/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/build +.PHONY : cholla/fast + +# target to build an object file +home/rcastroy/src/cholla/src/main.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/home/rcastroy/src/cholla/src/main.o +.PHONY : home/rcastroy/src/cholla/src/main.o + +# target to preprocess a source file +home/rcastroy/src/cholla/src/main.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/home/rcastroy/src/cholla/src/main.i +.PHONY : home/rcastroy/src/cholla/src/main.i + +# target to generate assembly for a file +home/rcastroy/src/cholla/src/main.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/home/rcastroy/src/cholla/src/main.s +.PHONY : home/rcastroy/src/cholla/src/main.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... test" + @echo "... cholla" + @echo "... home/rcastroy/src/cholla/src/main.o" + @echo "... home/rcastroy/src/cholla/src/main.i" + @echo "... home/rcastroy/src/cholla/src/main.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/cmake_stuff/Testing/Temporary/CTestCostData.txt b/tests/cmake_stuff/Testing/Temporary/CTestCostData.txt new file mode 100644 index 000000000..0fc643579 --- /dev/null +++ b/tests/cmake_stuff/Testing/Temporary/CTestCostData.txt @@ -0,0 +1,5 @@ +poisson64 2 0.195648 +poisson128 2 0.737374 +poisson256 2 4.93397 +poisson512 1 81.8235 +--- diff --git a/tests/cmake_stuff/Testing/Temporary/LastTest.log b/tests/cmake_stuff/Testing/Temporary/LastTest.log new file mode 100644 index 000000000..8c359e450 --- /dev/null +++ b/tests/cmake_stuff/Testing/Temporary/LastTest.log @@ -0,0 +1,419 @@ +Start testing: Apr 05 13:42 PDT +---------------------------------------------------------- +1/4 Testing: poisson64 +1/4 Test: poisson64 +Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson64.txt" +Directory: /home/rcastroy/src/cholla/tests/cmake_stuff +"poisson64" start time: Apr 05 13:42 PDT +Output: +---------------------------------------------------------- +Memory usage: 357.312500/32510.500000 MB +Parameter values: + n: [64, 64, 64] + Boundaries: 3 3 3 3 3 3 + Gas gamma: 1.66667e+00 + Initial conditions: poissonTest + Final time: 0.00000e+00 + Output directory: + +Creating Log File: run_output.log + File exists, appending values: run_output.log + + +Setting initial conditions... +Initial conditions set. + +Hydro solver parameters: + Integrator: VL + Reconstruction: PPMP + Riemann solver: HLLC + H correction: disabled + CFL: 0.050000 + Floors: + T : 0.0000000000e+00 + rho: 1.0000000000e-15 + P : 1.0000000000e-03 + +Timing Functions is ON + +Initializing Gravity... + Using G = 1.0000000000e+00 + N ghost potential: 2 + N ghost offset: 2 + Using OMP for gravity calculations + MAX OMP Threads: 40 + N OMP Threads per MPI process: 20 + Poisson solver: SOR + Convergence epsilon: 1.00000e-08 + Maximum angular order: 5 + Allocating memory... +Gravity Successfully Initialized. + +boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 64 64 64dx: 6.25000e-02 6.25000e-02 6.25000e-02Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 +ReQ[0][0]=1.35044069978878272797e-01 +ImQ[0][0]=0.00000000000000000000e+00 +ReQ[1][0]=1.12321531889595543127e-18 +ImQ[1][0]=0.00000000000000000000e+00 +ReQ[1][1]=-1.00238824418346118839e-02 +ImQ[1][1]=-1.72662785932175061256e-19 +ReQ[2][0]=-3.16747399225481267998e-03 +ImQ[2][0]=0.00000000000000000000e+00 +ReQ[2][1]=7.63945756650645782981e-20 +ImQ[2][1]=6.10293855941623818520e-20 +ReQ[2][2]=3.87934752728032140531e-03 +ImQ[2][2]=1.66728462970748929306e-20 +ReQ[3][0]=-5.13063738019690733505e-19 +ImQ[3][0]=0.00000000000000000000e+00 +ReQ[3][1]=1.44249569175686166364e-03 +ImQ[3][1]=5.64277798465298888967e-20 +ReQ[3][2]=-2.19106702580343044374e-19 +ImQ[3][2]=-2.23726506301451703938e-21 +ReQ[3][3]=-1.86225393038342451092e-03 +ImQ[3][3]=3.35620390984236160213e-20 +ReQ[4][0]=5.83204307585162562422e-04 +ImQ[4][0]=0.00000000000000000000e+00 +ReQ[4][1]=-1.00094023997744805082e-21 +ImQ[4][1]=8.29033497125146456863e-20 +ReQ[4][2]=-6.14798700624191859707e-04 +ImQ[4][2]=3.29080882007150919390e-21 +ReQ[4][3]=3.14746536694074523616e-20 +ImQ[4][3]=1.53026345370778737282e-20 +ReQ[4][4]=8.13275370532780261801e-04 +ImQ[4][4]=7.54683785443527555092e-21 +ReQ[5][0]=-1.60817145970109428438e-19 +ImQ[5][0]=0.00000000000000000000e+00 +ReQ[5][1]=-2.78785792115732362646e-04 +ImQ[5][1]=1.60588844121044792800e-20 +ReQ[5][2]=4.62393962417142470253e-21 +ImQ[5][2]=1.80894060207690239648e-20 +ReQ[5][3]=3.01111579765752019385e-04 +ImQ[5][3]=6.55959395633379402596e-21 +ReQ[5][4]=-2.79577208117277947977e-20 +ImQ[5][4]=1.64746775714380557214e-20 +ReQ[5][5]=-4.03993855235976391006e-04 +ImQ[5][5]=-1.70177975761744113436e-20 +SOR: Initializing Potential + SOR: Converged in 232 iterations +L2 norm = 1.28632867555491338168e-04 +Passed: 1 + +Test time = 0.39 sec +---------------------------------------------------------- +Test Passed. +"poisson64" end time: Apr 05 13:42 PDT +"poisson64" time elapsed: 00:00:00 +---------------------------------------------------------- + +2/4 Testing: poisson128 +2/4 Test: poisson128 +Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson128.txt" +Directory: /home/rcastroy/src/cholla/tests/cmake_stuff +"poisson128" start time: Apr 05 13:42 PDT +Output: +---------------------------------------------------------- +Memory usage: 357.312500/32510.500000 MB +Parameter values: + n: [128, 128, 128] + Boundaries: 3 3 3 3 3 3 + Gas gamma: 1.66667e+00 + Initial conditions: poissonTest + Final time: 0.00000e+00 + Output directory: + +Creating Log File: run_output.log + File exists, appending values: run_output.log + + +Setting initial conditions... +Initial conditions set. + +Hydro solver parameters: + Integrator: VL + Reconstruction: PPMP + Riemann solver: HLLC + H correction: disabled + CFL: 0.050000 + Floors: + T : 0.0000000000e+00 + rho: 1.0000000000e-15 + P : 1.0000000000e-03 + +Timing Functions is ON + +Initializing Gravity... + Using G = 1.0000000000e+00 + N ghost potential: 2 + N ghost offset: 2 + Using OMP for gravity calculations + MAX OMP Threads: 40 + N OMP Threads per MPI process: 20 + Poisson solver: SOR + Convergence epsilon: 1.00000e-08 + Maximum angular order: 5 + Allocating memory... +Gravity Successfully Initialized. + +boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 128 128 128dx: 3.12500e-02 3.12500e-02 3.12500e-02Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 +ReQ[0][0]=1.35044103243628921263e-01 +ImQ[0][0]=0.00000000000000000000e+00 +ReQ[1][0]=-2.62060108844022302520e-19 +ImQ[1][0]=0.00000000000000000000e+00 +ReQ[1][1]=-1.00239128639628295031e-02 +ImQ[1][1]=6.43723782881563189655e-19 +ReQ[2][0]=-3.16749397194139104342e-03 +ImQ[2][0]=0.00000000000000000000e+00 +ReQ[2][1]=1.60053856669748749446e-20 +ImQ[2][1]=5.90770360590819610846e-21 +ReQ[2][2]=3.87937199729901805584e-03 +ImQ[2][2]=7.31715321566527125134e-20 +ReQ[3][0]=-1.03494004162014063948e-18 +ImQ[3][0]=0.00000000000000000000e+00 +ReQ[3][1]=1.44253969800388869016e-03 +ImQ[3][1]=3.26684962374838055975e-20 +ReQ[3][2]=2.95815878474309970825e-20 +ImQ[3][2]=2.71377555335388681208e-21 +ReQ[3][3]=-1.86231074220405174065e-03 +ImQ[3][3]=-1.34700230292416496359e-19 +ReQ[4][0]=5.83282236898460988705e-04 +ImQ[4][0]=0.00000000000000000000e+00 +ReQ[4][1]=-1.38283181254708286578e-19 +ImQ[4][1]=3.23553045394492521912e-20 +ReQ[4][2]=-6.14834772764562167806e-04 +ImQ[4][2]=-5.54139150482222114942e-21 +ReQ[4][3]=-6.05633092733268119558e-20 +ImQ[4][3]=9.15602970046345958530e-21 +ReQ[4][4]=8.13349210180214590195e-04 +ImQ[4][4]=-1.49797567066841254639e-20 +ReQ[5][0]=-1.89507594566475016943e-20 +ImQ[5][0]=0.00000000000000000000e+00 +ReQ[5][1]=-2.78837963869819069947e-04 +ImQ[5][1]=-7.81379233727074546523e-20 +ReQ[5][2]=8.44479353701457627621e-20 +ImQ[5][2]=4.10314233211307775288e-21 +ReQ[5][3]=3.01179549202030747129e-04 +ImQ[5][3]=2.75032972107794836672e-21 +ReQ[5][4]=-5.13566341333015234078e-20 +ImQ[5][4]=-1.97972323313205859041e-22 +ReQ[5][5]=-4.04074654794890652555e-04 +ImQ[5][5]=9.36286303425536579117e-21 +SOR: Initializing Potential + SOR: Converged in 432 iterations +L2 norm = 3.20932561340243896410e-05 +Passed: 1 + +Test time = 1.47 sec +---------------------------------------------------------- +Test Passed. +"poisson128" end time: Apr 05 13:42 PDT +"poisson128" time elapsed: 00:00:01 +---------------------------------------------------------- + +3/4 Testing: poisson256 +3/4 Test: poisson256 +Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson256.txt" +Directory: /home/rcastroy/src/cholla/tests/cmake_stuff +"poisson256" start time: Apr 05 13:42 PDT +Output: +---------------------------------------------------------- +Memory usage: 357.312500/32510.500000 MB +Parameter values: + n: [256, 256, 256] + Boundaries: 3 3 3 3 3 3 + Gas gamma: 1.66667e+00 + Initial conditions: poissonTest + Final time: 0.00000e+00 + Output directory: + +Creating Log File: run_output.log + File exists, appending values: run_output.log + + +Setting initial conditions... +Initial conditions set. + +Hydro solver parameters: + Integrator: VL + Reconstruction: PPMP + Riemann solver: HLLC + H correction: disabled + CFL: 0.050000 + Floors: + T : 0.0000000000e+00 + rho: 1.0000000000e-15 + P : 1.0000000000e-03 + +Timing Functions is ON + +Initializing Gravity... + Using G = 1.0000000000e+00 + N ghost potential: 2 + N ghost offset: 2 + Using OMP for gravity calculations + MAX OMP Threads: 40 + N OMP Threads per MPI process: 20 + Poisson solver: SOR + Convergence epsilon: 1.00000e-08 + Maximum angular order: 5 + Allocating memory... +Gravity Successfully Initialized. + +boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 256 256 256dx: 1.56250e-02 1.56250e-02 1.56250e-02Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 +ReQ[0][0]=1.35044102915346325711e-01 +ImQ[0][0]=0.00000000000000000000e+00 +ReQ[1][0]=3.03716786501330019165e-18 +ImQ[1][0]=0.00000000000000000000e+00 +ReQ[1][1]=-1.00239134730205486923e-02 +ImQ[1][1]=4.87222525766407158683e-19 +ReQ[2][0]=-3.16749433728744089755e-03 +ImQ[2][0]=0.00000000000000000000e+00 +ReQ[2][1]=-1.21481038860042116659e-19 +ImQ[2][1]=1.81353980153213897939e-20 +ReQ[2][2]=3.87937244475462924762e-03 +ImQ[2][2]=-7.49758138407418583089e-20 +ReQ[3][0]=3.74156571792421720586e-19 +ImQ[3][0]=0.00000000000000000000e+00 +ReQ[3][1]=1.44254037035543096999e-03 +ImQ[3][1]=-6.21677407337727712509e-20 +ReQ[3][2]=2.56252663693087517912e-20 +ImQ[3][2]=-2.84470568211540666232e-21 +ReQ[3][3]=-1.86231161020615531079e-03 +ImQ[3][3]=7.03874402400747427100e-20 +ReQ[4][0]=5.83283844490093501475e-04 +ImQ[4][0]=0.00000000000000000000e+00 +ReQ[4][1]=-1.80997901809411013727e-19 +ImQ[4][1]=6.60240037632857043863e-21 +ReQ[4][2]=-6.14835171195287646072e-04 +ImQ[4][2]=2.44994520832493233656e-20 +ReQ[4][3]=1.22840269018319219959e-19 +ImQ[4][3]=1.36668358837141430974e-20 +ReQ[4][4]=8.13350472085292959881e-04 +ImQ[4][4]=-1.11844930881003614769e-20 +ReQ[5][0]=1.27296621270046468889e-19 +ImQ[5][0]=0.00000000000000000000e+00 +ReQ[5][1]=-2.78838872427013230101e-04 +ImQ[5][1]=2.56785819595236988868e-20 +ReQ[5][2]=-6.41636435788031576115e-20 +ImQ[5][2]=1.09554259827685560081e-21 +ReQ[5][3]=3.01180400385201135337e-04 +ImQ[5][3]=-5.00986987928966814347e-21 +ReQ[5][4]=4.90812566393271476363e-20 +ImQ[5][4]=-6.98482840912027083222e-21 +ReQ[5][5]=-4.04075913205217442103e-04 +ImQ[5][5]=2.71616091726215725894e-20 +SOR: Initializing Potential + SOR: Converged in 826 iterations +L2 norm = 8.00448951484402434087e-06 +Passed: 1 + +Test time = 9.87 sec +---------------------------------------------------------- +Test Passed. +"poisson256" end time: Apr 05 13:42 PDT +"poisson256" time elapsed: 00:00:09 +---------------------------------------------------------- + +4/4 Testing: poisson512 +4/4 Test: poisson512 +Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson512.txt" +Directory: /home/rcastroy/src/cholla/tests/cmake_stuff +"poisson512" start time: Apr 05 13:42 PDT +Output: +---------------------------------------------------------- +Memory usage: 357.312500/32510.500000 MB +Parameter values: + n: [512, 512, 512] + Boundaries: 3 3 3 3 3 3 + Gas gamma: 1.66667e+00 + Initial conditions: poissonTest + Final time: 0.00000e+00 + Output directory: + +Creating Log File: run_output.log + File exists, appending values: run_output.log + + +Setting initial conditions... +Initial conditions set. + +Hydro solver parameters: + Integrator: VL + Reconstruction: PPMP + Riemann solver: HLLC + H correction: disabled + CFL: 0.050000 + Floors: + T : 0.0000000000e+00 + rho: 1.0000000000e-15 + P : 1.0000000000e-03 + +Timing Functions is ON + +Initializing Gravity... + Using G = 1.0000000000e+00 + N ghost potential: 2 + N ghost offset: 2 + Using OMP for gravity calculations + MAX OMP Threads: 40 + N OMP Threads per MPI process: 20 + Poisson solver: SOR + Convergence epsilon: 1.00000e-08 + Maximum angular order: 5 + Allocating memory... +Gravity Successfully Initialized. + +boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 512 512 512dx: 7.81250e-03 7.81250e-03 7.81250e-03Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 +ReQ[0][0]=1.35044102925978487528e-01 +ImQ[0][0]=0.00000000000000000000e+00 +ReQ[1][0]=1.46503893743523257918e-19 +ImQ[1][0]=0.00000000000000000000e+00 +ReQ[1][1]=-1.00239134827800734778e-02 +ImQ[1][1]=6.12158277679814592770e-19 +ReQ[2][0]=-3.16749434358319344532e-03 +ImQ[2][0]=0.00000000000000000000e+00 +ReQ[2][1]=2.71967107422066521008e-19 +ImQ[2][1]=6.45858997904533285794e-20 +ReQ[2][2]=3.87937245246538792848e-03 +ImQ[2][2]=-4.72047879662777314950e-20 +ReQ[3][0]=-1.03270140162680250945e-19 +ImQ[3][0]=0.00000000000000000000e+00 +ReQ[3][1]=1.44254038166237506628e-03 +ImQ[3][1]=4.81364176288611027474e-20 +ReQ[3][2]=1.98971411536572932946e-19 +ImQ[3][2]=-1.79891995339895258111e-21 +ReQ[3][3]=-1.86231162480334183455e-03 +ImQ[3][3]=-5.02663787767787913801e-20 +ReQ[4][0]=5.83283866455632264356e-04 +ImQ[4][0]=0.00000000000000000000e+00 +ReQ[4][1]=-1.05635548266020808133e-19 +ImQ[4][1]=-1.76794917624304521895e-20 +ReQ[4][2]=-6.14835180588662287560e-04 +ImQ[4][2]=7.97057975455553464656e-21 +ReQ[4][3]=-3.37886667444350140610e-20 +ImQ[4][3]=1.29770966605519129522e-20 +ReQ[4][4]=8.13350492312932835462e-04 +ImQ[4][4]=2.80913601695224945300e-20 +ReQ[5][0]=-1.43828716408073374585e-19 +ImQ[5][0]=0.00000000000000000000e+00 +ReQ[5][1]=-2.78838885053470022114e-04 +ImQ[5][1]=-2.71570853724318472764e-21 +ReQ[5][2]=3.91125088309489622128e-20 +ImQ[5][2]=-5.52842153163409275601e-22 +ReQ[5][3]=3.01180418383544023023e-04 +ImQ[5][3]=1.32359997614606767995e-21 +ReQ[5][4]=1.25696452812431615255e-19 +ImQ[5][4]=-6.51816107969615243200e-22 +ReQ[5][5]=-4.04075933452642109978e-04 +ImQ[5][5]=-2.10660801463267611312e-20 +SOR: Initializing Potential + SOR: Converged in 1590 iterations +L2 norm = 1.98015314505433153187e-06 +Passed: 1 + +Test time = 81.82 sec +---------------------------------------------------------- +Test Passed. +"poisson512" end time: Apr 05 13:44 PDT +"poisson512" time elapsed: 00:01:21 +---------------------------------------------------------- + +End testing: Apr 05 13:44 PDT diff --git a/tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log b/tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log new file mode 100644 index 000000000..a84d0c956 --- /dev/null +++ b/tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log @@ -0,0 +1 @@ +4:poisson512 diff --git a/tests/cmake_stuff/cmake_install.cmake b/tests/cmake_stuff/cmake_install.cmake new file mode 100644 index 000000000..56dc98927 --- /dev/null +++ b/tests/cmake_stuff/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /home/rcastroy/src/cholla/tests/cmake_stuff + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/rcastroy/src/cholla/tests/cmake_stuff/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson128.txt b/tests/cmake_stuff/poissonParameterFiles/poisson128.txt new file mode 100644 index 000000000..26c2b886f --- /dev/null +++ b/tests/cmake_stuff/poissonParameterFiles/poisson128.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=128 + +# number of grid cells in the y dimension +ny=128 + +# number of grid cells in the z dimension +nz=128 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson256.txt b/tests/cmake_stuff/poissonParameterFiles/poisson256.txt new file mode 100644 index 000000000..7c78b1ae1 --- /dev/null +++ b/tests/cmake_stuff/poissonParameterFiles/poisson256.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=256 + +# number of grid cells in the y dimension +ny=256 + +# number of grid cells in the z dimension +nz=256 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson512.txt b/tests/cmake_stuff/poissonParameterFiles/poisson512.txt new file mode 100644 index 000000000..efa7c10fb --- /dev/null +++ b/tests/cmake_stuff/poissonParameterFiles/poisson512.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=512 + +# number of grid cells in the y dimension +ny=512 + +# number of grid cells in the z dimension +nz=512 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson64.txt b/tests/cmake_stuff/poissonParameterFiles/poisson64.txt new file mode 100644 index 000000000..95bc0412d --- /dev/null +++ b/tests/cmake_stuff/poissonParameterFiles/poisson64.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=64 + +# number of grid cells in the y dimension +ny=64 + +# number of grid cells in the z dimension +nz=64 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/cmake_stuff/run_output.log b/tests/cmake_stuff/run_output.log new file mode 100644 index 000000000..4dab13f83 --- /dev/null +++ b/tests/cmake_stuff/run_output.log @@ -0,0 +1,38 @@ + +Run date: Mon Apr 5 13:33:14 2021 + +Run date: Mon Apr 5 13:33:14 2021 + +Run date: Mon Apr 5 13:33:16 2021 + +Run date: Mon Apr 5 13:36:17 2021 + +Run date: Mon Apr 5 13:36:17 2021 + +Run date: Mon Apr 5 13:36:19 2021 + +Run date: Mon Apr 5 13:38:25 2021 + +Run date: Mon Apr 5 13:38:26 2021 + +Run date: Mon Apr 5 13:38:27 2021 + +Run date: Mon Apr 5 13:38:47 2021 + +Run date: Mon Apr 5 13:38:48 2021 + +Run date: Mon Apr 5 13:39:05 2021 + +Run date: Mon Apr 5 13:39:06 2021 + +Run date: Mon Apr 5 13:39:07 2021 + +Run date: Mon Apr 5 13:39:17 2021 + +Run date: Mon Apr 5 13:42:33 2021 + +Run date: Mon Apr 5 13:42:33 2021 + +Run date: Mon Apr 5 13:42:35 2021 + +Run date: Mon Apr 5 13:42:45 2021 From 04efa760a37296184a98e6f2f025968c4b602da8 Mon Sep 17 00:00:00 2001 From: ryarza Date: Mon, 5 Apr 2021 14:47:09 -0700 Subject: [PATCH 17/21] Updated .gitignore to account for ctest files --- tests/poisson_test/CMakeLists.txt | 18 ++++++ .../poissonParameterFiles/poisson128.txt | 62 +++++++++++++++++++ .../poissonParameterFiles/poisson256.txt | 62 +++++++++++++++++++ .../poissonParameterFiles/poisson512.txt | 62 +++++++++++++++++++ .../poissonParameterFiles/poisson64.txt | 62 +++++++++++++++++++ tests/poisson_test/run_output.log | 38 ++++++++++++ 6 files changed, 304 insertions(+) create mode 100644 tests/poisson_test/CMakeLists.txt create mode 100644 tests/poisson_test/poissonParameterFiles/poisson128.txt create mode 100644 tests/poisson_test/poissonParameterFiles/poisson256.txt create mode 100644 tests/poisson_test/poissonParameterFiles/poisson512.txt create mode 100644 tests/poisson_test/poissonParameterFiles/poisson64.txt create mode 100644 tests/poisson_test/run_output.log diff --git a/tests/poisson_test/CMakeLists.txt b/tests/poisson_test/CMakeLists.txt new file mode 100644 index 000000000..22c2b3b90 --- /dev/null +++ b/tests/poisson_test/CMakeLists.txt @@ -0,0 +1,18 @@ +project(cholla) + +add_executable(cholla ../../src/main.cpp) + + +enable_testing() + +add_test(poisson64 ../../cholla.sor poissonParameterFiles/poisson64.txt) +set_tests_properties(poisson64 PROPERTIES WILL_FAIL FALSE) + +add_test(poisson128 ../../cholla.sor poissonParameterFiles/poisson128.txt) +set_tests_properties(poisson128 PROPERTIES WILL_FAIL FALSE) + +add_test(poisson256 ../../cholla.sor poissonParameterFiles/poisson256.txt) +set_tests_properties(poisson256 PROPERTIES WILL_FAIL FALSE) + +add_test(poisson512 ../../cholla.sor poissonParameterFiles/poisson512.txt) +set_tests_properties(poisson512 PROPERTIES WILL_FAIL FALSE) diff --git a/tests/poisson_test/poissonParameterFiles/poisson128.txt b/tests/poisson_test/poissonParameterFiles/poisson128.txt new file mode 100644 index 000000000..26c2b886f --- /dev/null +++ b/tests/poisson_test/poissonParameterFiles/poisson128.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=128 + +# number of grid cells in the y dimension +ny=128 + +# number of grid cells in the z dimension +nz=128 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/poisson_test/poissonParameterFiles/poisson256.txt b/tests/poisson_test/poissonParameterFiles/poisson256.txt new file mode 100644 index 000000000..7c78b1ae1 --- /dev/null +++ b/tests/poisson_test/poissonParameterFiles/poisson256.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=256 + +# number of grid cells in the y dimension +ny=256 + +# number of grid cells in the z dimension +nz=256 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/poisson_test/poissonParameterFiles/poisson512.txt b/tests/poisson_test/poissonParameterFiles/poisson512.txt new file mode 100644 index 000000000..efa7c10fb --- /dev/null +++ b/tests/poisson_test/poissonParameterFiles/poisson512.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=512 + +# number of grid cells in the y dimension +ny=512 + +# number of grid cells in the z dimension +nz=512 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/poisson_test/poissonParameterFiles/poisson64.txt b/tests/poisson_test/poissonParameterFiles/poisson64.txt new file mode 100644 index 000000000..95bc0412d --- /dev/null +++ b/tests/poisson_test/poissonParameterFiles/poisson64.txt @@ -0,0 +1,62 @@ +# +# Parameter File for the 3D Polytropic Star. +# +###################################### + +# number of grid cells in the x dimension +nx=64 + +# number of grid cells in the y dimension +ny=64 + +# number of grid cells in the z dimension +nz=64 + +# output time +tout=0. + +c0=0.75 +c1=0.5 +c2=0.75 +c3=1. +c4=1. +c5=1. + +#c0=1. +#c1=0. +#c2=0. +#c3=0. +#c4=0. +#c5=0. + +d0=0 +d1=0 +d2=0 +d3=0 +d4=0 +d5=0 + +# how often to output +outstep=100000000000 + +# value of gamma +gamma=1.66666667 + +# name of initial conditions +init=poissonTest + +# domain properties +xmin=-2. +ymin=-2. +zmin=-2. +xlen=4. +ylen=4. +zlen=4. + +# type of boundary conditions +xl_bcnd=3 +xu_bcnd=3 +yl_bcnd=3 +yu_bcnd=3 +zl_bcnd=3 +zu_bcnd=3 diff --git a/tests/poisson_test/run_output.log b/tests/poisson_test/run_output.log new file mode 100644 index 000000000..4dab13f83 --- /dev/null +++ b/tests/poisson_test/run_output.log @@ -0,0 +1,38 @@ + +Run date: Mon Apr 5 13:33:14 2021 + +Run date: Mon Apr 5 13:33:14 2021 + +Run date: Mon Apr 5 13:33:16 2021 + +Run date: Mon Apr 5 13:36:17 2021 + +Run date: Mon Apr 5 13:36:17 2021 + +Run date: Mon Apr 5 13:36:19 2021 + +Run date: Mon Apr 5 13:38:25 2021 + +Run date: Mon Apr 5 13:38:26 2021 + +Run date: Mon Apr 5 13:38:27 2021 + +Run date: Mon Apr 5 13:38:47 2021 + +Run date: Mon Apr 5 13:38:48 2021 + +Run date: Mon Apr 5 13:39:05 2021 + +Run date: Mon Apr 5 13:39:06 2021 + +Run date: Mon Apr 5 13:39:07 2021 + +Run date: Mon Apr 5 13:39:17 2021 + +Run date: Mon Apr 5 13:42:33 2021 + +Run date: Mon Apr 5 13:42:33 2021 + +Run date: Mon Apr 5 13:42:35 2021 + +Run date: Mon Apr 5 13:42:45 2021 From 85e8446144bc037fd81c8d789a5c64474603551b Mon Sep 17 00:00:00 2001 From: ryarza Date: Mon, 5 Apr 2021 14:48:38 -0700 Subject: [PATCH 18/21] Same as previous --- .gitignore | 7 + tests/cmake_stuff/CMakeCache.txt | 378 --------- .../CMakeFiles/3.20.0/CMakeCCompiler.cmake | 78 -- .../CMakeFiles/3.20.0/CMakeCXXCompiler.cmake | 91 --- .../CMakeFiles/3.20.0/CMakeSystem.cmake | 15 - .../3.20.0/CompilerIdC/CMakeCCompilerId.c | 743 ------------------ .../CMakeFiles/3.20.0/CompilerIdC/a.out | Bin 8632 -> 0 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 734 ----------------- .../CMakeFiles/3.20.0/CompilerIdCXX/a.out | Bin 8648 -> 0 bytes .../CMakeDirectoryInformation.cmake | 16 - tests/cmake_stuff/CMakeFiles/CMakeOutput.log | 614 --------------- tests/cmake_stuff/CMakeFiles/Makefile.cmake | 47 -- tests/cmake_stuff/CMakeFiles/Makefile2 | 112 --- .../CMakeFiles/TargetDirectories.txt | 4 - .../cmake_stuff/CMakeFiles/cmake.check_cache | 1 - .../cmake_stuff/CMakeFiles/feature_tests.cxx | 405 ---------- tests/cmake_stuff/CMakeFiles/progress.marks | 1 - tests/cmake_stuff/CMakeLists.txt | 18 - tests/cmake_stuff/CTestTestfile.cmake | 14 - tests/cmake_stuff/Makefile | 183 ----- .../Testing/Temporary/CTestCostData.txt | 5 - .../Testing/Temporary/LastTest.log | 419 ---------- .../Testing/Temporary/LastTestsFailed.log | 1 - tests/cmake_stuff/cmake_install.cmake | 54 -- .../poissonParameterFiles/poisson128.txt | 62 -- .../poissonParameterFiles/poisson256.txt | 62 -- .../poissonParameterFiles/poisson512.txt | 62 -- .../poissonParameterFiles/poisson64.txt | 62 -- tests/cmake_stuff/run_output.log | 38 - 29 files changed, 7 insertions(+), 4219 deletions(-) delete mode 100644 tests/cmake_stuff/CMakeCache.txt delete mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake delete mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake delete mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake delete mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c delete mode 100755 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out delete mode 100644 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp delete mode 100755 tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out delete mode 100644 tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/cmake_stuff/CMakeFiles/CMakeOutput.log delete mode 100644 tests/cmake_stuff/CMakeFiles/Makefile.cmake delete mode 100644 tests/cmake_stuff/CMakeFiles/Makefile2 delete mode 100644 tests/cmake_stuff/CMakeFiles/TargetDirectories.txt delete mode 100644 tests/cmake_stuff/CMakeFiles/cmake.check_cache delete mode 100644 tests/cmake_stuff/CMakeFiles/feature_tests.cxx delete mode 100644 tests/cmake_stuff/CMakeFiles/progress.marks delete mode 100644 tests/cmake_stuff/CMakeLists.txt delete mode 100644 tests/cmake_stuff/CTestTestfile.cmake delete mode 100644 tests/cmake_stuff/Makefile delete mode 100644 tests/cmake_stuff/Testing/Temporary/CTestCostData.txt delete mode 100644 tests/cmake_stuff/Testing/Temporary/LastTest.log delete mode 100644 tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log delete mode 100644 tests/cmake_stuff/cmake_install.cmake delete mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson128.txt delete mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson256.txt delete mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson512.txt delete mode 100644 tests/cmake_stuff/poissonParameterFiles/poisson64.txt delete mode 100644 tests/cmake_stuff/run_output.log diff --git a/.gitignore b/.gitignore index 0325338be..339b68a06 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,10 @@ out.* .DS_Store .remote-sync.json + +#ctest files +*.cmake +CMakeFiles/ +CMakeCache.txt +Testing/ +tests/poisson_test/Makefile diff --git a/tests/cmake_stuff/CMakeCache.txt b/tests/cmake_stuff/CMakeCache.txt deleted file mode 100644 index 8bd14bf57..000000000 --- a/tests/cmake_stuff/CMakeCache.txt +++ /dev/null @@ -1,378 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/rcastroy/src/cholla/tests/cmake_stuff -# It was generated by CMake: /home/rcastroy/src/cmake/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//For backwards compatibility, what version of CMake commands and -// syntax should this version of CMake try to support. -CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib - -//Flags used by the CXX compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the CXX compiler during DEBUG builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the CXX compiler during MINSIZEREL builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the CXX compiler during RELEASE builds. -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the CXX compiler during RELWITHDEBINFO builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=cholla - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Single output directory for building all executables. -EXECUTABLE_OUTPUT_PATH:PATH= - -//Single output directory for building all libraries. -LIBRARY_OUTPUT_PATH:PATH= - -//Value Computed by CMake -cholla_BINARY_DIR:STATIC=/home/rcastroy/src/cholla/tests/cmake_stuff - -//Value Computed by CMake -cholla_SOURCE_DIR:STATIC=/home/rcastroy/src/cholla/tests/cmake_stuff - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/rcastroy/src/cholla/tests/cmake_stuff -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=20 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR -CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB -CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_AR -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/home/rcastroy/src/cmake/bin/ccmake -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/rcastroy/src/cholla/tests/cmake_stuff -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/home/rcastroy/src/cmake/share/cmake-3.20 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 - diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake deleted file mode 100644 index 0ddbca8ea..000000000 --- a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCCompiler.cmake +++ /dev/null @@ -1,78 +0,0 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "4.8.5") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") - -set(CMAKE_C_PLATFORM_ID "Linux") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") -set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") -set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake deleted file mode 100644 index d1b17b038..000000000 --- a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeCXXCompiler.cmake +++ /dev/null @@ -1,91 +0,0 @@ -set(CMAKE_CXX_COMPILER "/usr/bin/c++") -set(CMAKE_CXX_COMPILER_ARG1 "") -set(CMAKE_CXX_COMPILER_ID "GNU") -set(CMAKE_CXX_COMPILER_VERSION "4.8.5") -set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") -set(CMAKE_CXX_COMPILER_WRAPPER "") -set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") -set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_template_template_parameters") -set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") -set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") -set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_template_template_parameters") -set(CMAKE_CXX17_COMPILE_FEATURES "") -set(CMAKE_CXX20_COMPILE_FEATURES "") -set(CMAKE_CXX23_COMPILE_FEATURES "") - -set(CMAKE_CXX_PLATFORM_ID "Linux") -set(CMAKE_CXX_SIMULATE_ID "") -set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_CXX_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCXX 1) -set(CMAKE_CXX_COMPILER_LOADED 1) -set(CMAKE_CXX_COMPILER_WORKS TRUE) -set(CMAKE_CXX_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_CXX_COMPILER_ID_RUN 1) -set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP) -set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) - -foreach (lang C OBJC OBJCXX) - if (CMAKE_${lang}_COMPILER_ID_RUN) - foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) - list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) - endforeach() - endif() -endforeach() - -set(CMAKE_CXX_LINKER_PREFERENCE 30) -set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -set(CMAKE_CXX_SIZEOF_DATA_PTR "8") -set(CMAKE_CXX_COMPILER_ABI "ELF") -set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") -set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") - -if(CMAKE_CXX_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_CXX_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -endif() - -if(CMAKE_CXX_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-redhat-linux") -endif() - -set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include") -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib") -set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake b/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake deleted file mode 100644 index 685c4bfe8..000000000 --- a/tests/cmake_stuff/CMakeFiles/3.20.0/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMAKE_HOST_SYSTEM "Linux-3.10.0-957.1.3.el7.x86_64") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "3.10.0-957.1.3.el7.x86_64") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") - - - -set(CMAKE_SYSTEM "Linux-3.10.0-957.1.3.el7.x86_64") -set(CMAKE_SYSTEM_NAME "Linux") -set(CMAKE_SYSTEM_VERSION "3.10.0-957.1.3.el7.x86_64") -set(CMAKE_SYSTEM_PROCESSOR "x86_64") - -set(CMAKE_CROSSCOMPILING "FALSE") - -set(CMAKE_SYSTEM_LOADED 1) diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index 8aeb2c1f4..000000000 --- a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,743 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif -#if defined(__CLASSIC_C__) -/* cv-qualifiers did not exist in K&R C */ -# define const -# define volatile -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) -# define COMPILER_ID "IntelLLVM" -#if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -#endif -#if defined(__GNUC__) -# define SIMULATE_ID "GNU" -#endif -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and - * later. Look for 6 digit vs. 8 digit version number to decide encoding. - * VVVV is no smaller than the current year when a versio is released. - */ -#if __INTEL_LLVM_COMPILER < 1000000L -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) -#else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) -#endif -#if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -#endif -#if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -#elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -#endif -#if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -#endif -#if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -#endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__NVCOMPILER) -# define COMPILER_ID "NVHPC" -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) -# if defined(__NVCOMPILER_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_ARM64EC) -# define ARCHITECTURE_ID "ARM64EC" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__ICCSTM8__) -# define ARCHITECTURE_ID "STM8" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if !defined(__STDC__) -# if (defined(_MSC_VER) && !defined(__clang__)) \ - || (defined(__ibmxl__) || defined(__IBMC__)) -# define C_DIALECT "90" -# else -# define C_DIALECT -# endif -#elif __STDC_VERSION__ >= 201000L -# define C_DIALECT "11" -#elif __STDC_VERSION__ >= 199901L -# define C_DIALECT "99" -#else -# define C_DIALECT "90" -#endif -const char* info_language_dialect_default = - "INFO" ":" "dialect_default[" C_DIALECT "]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out deleted file mode 100755 index 72124a2843dd8cf1dbad8218d77e25cbbe61c575..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8632 zcmeHMZ){W76~DHVknqPgG|&JmdD=hCOFXwnKa2)Zv5rK?nF)0D9>0ZTR7GL#R1cg}t1 z*v~I!t0wKs#I@c#_x#SEd+xdSy?5{Rcf$RBZkJ1Naf>erZ{LZsMUsi;)7XgxK+ zR0u`N(GFu3UdaL-u_{D0isJxLwnG-}8py7J^qDSDU`)Ax*f+ce$={$`1rB)?iRhL0 z5=C7s2X2}%tS`!7k*Ww6X}jcvV9Iu120Jn#jek%4Bp#sl9+wxv`5;Q&6)nlckUwmoTSw;WweB}4; zo#X4Tzy11ee)Kxp@&(n;TvmbRx(eDUz?2HOfPO?V>`tNUSl6?rkumiNBasp<(TSF1 zI%*_ajLFGtOEecVu-{nAWa25)O2ST5%Z?kFc+ApEPsURdlZh6h&Fz6;pcQqYiLr@v ziki^Hp8iO8kKPt&3v^&;m?M|`3Blu&+mxt7$tx85l5a%TaIAS~5NPm^AQ3Cz!n|?O zW)^F;)75KMD?&SY(X77pMUZGSmuu%OjY5YTM1^ftaQ8K;P(ywkg|`<9P_|uPrHIj4 zOIwK6k0SZ^4r}=v+RR_?9vF;Vy{Nzp)vjJTUybDIGeBQJa}}Y0v#V zcLyiL&~WIhq2bWskUl?KYVT8+Cvpyzri_e(Z?3Xg$Y_a1_Vw-G8BN3Ekc?-B;AtN& z$*@)?*S`_ZWE1JsP|zyy;8>-LD;>j@#bnYjN7I>!p?-Y(5NKqg<3m)BC5&V|YU;80 zsF6#WL(c_=g=@3t`5?53-;a7o%(sB{0__Ld`lwKN1L$R-mw~p!@UMmk3Exv#T*n85 zYs&B1yn03LtZRiIar`#jeNZSoiwaaK>kF|JiL{e9ks7ksN;uALUUH$DIC zj;)_Z7}`6j zTJr`^)o9+XnH77zYSP;k@&-fRrf#p&?QH=4Zf~vZ*PCFjK!5G;5p?;aJjuY53_Que zlMMX-XW(v?Dm!_NDEFAxkW76fc!ua|q6;2X*47ZewZ`I$+eKJeVc9J2Lh$}*6Z0g; z?;aMG|MO8Hjr=*cilnsXqxN{OGv`)OELO_95b~P|^;N_-5M57{3GO{)f#oI^{syu> zf5&k>jpb>JhO4Aa7!cXV!dw&mnK zu!HGxt4cN2b6Jl2g-YXBj;}4AHPnFJ7Y*G)bGHdDiw!skpdVxDGXYq&)aL!T*e_HUq*KXqx@O07hTaIrON=1B= z!0n~8c#3bQk_4a2D)Dilgjh9v@3|_(kMBD-9HNXk#s%Mdh|fCk0O8K}Zm;xTij&_D z2PM8dpU24$zsG@<iBoVka+v%$=iyPn6`LMcj|0Be?H8KkdHgQo5RpoF6&d_M;u}Sf<}-hP-T)l? zi^nloMl^=$N0sB>zng|L*{few_LF9r?lYA1wSGexLlP4nH3w z?p~hfpGiN<--i#SAHSHUJhaJH;JXh4x)#Q(%i&){GiKJzjgAJQaO(C#&w$<^IXI~6 zA{NiY#}ZjHp3%(-J(^6X;#ts$rS-97`iPO#V`e&&)s5Vgz+;PK+>FNpojW=@Dl6%u ziBv*2G8yBT4kv<{V`4O8OvLqAZerpXnAkWSG|e*Ap1sD=cuxl@{=UA0;X!>c z)ZHJ(7UZF4G@Fw>5qdmkm<6t_ zBBkfD@t8=YM$?0@>vl`k7TpdgglLv#z`YJmNUj6!Q}@$pgy>_hteiB z=`6|eibq321hU5_OydYpGh@+lt|d}1BPK;4l{VvnP9hYsRPGj?)R0(sC36 z@o}0!<1ui;oMmdwB+G*9UyFhoG-FI8q7YEpME8K;kOm-~A^_=~fO$$!&wo$wy9SSB zaox=8HU2+`*Yn&0>e|Z}fWb91zmEsqDsZL$OBBhKZv5V3q!lW5dtU#U-w<Smh2U>M?d!X z2^P5Sz?`x@uXoRrJ@=E_clQ4T*>{se-dDX_!5)1%?au;+adAHvD1QrN&-+VqFJt98 zQp~U2zPQe&iK3vAt?>UbOur8@yFIVR6|(1e*@ct;p~IfPzd^G91fAOox69Cvp<-{J z*Y{f~A$6=sl-w54pOQU~pIW0znM(F=7B#Jk;^2P{JhspFrT-}{#de3jv;7MWd)`+l z_)tT+XOZIFnZMtH#0wVXWyv0xFgDs12Ez}enTdG6X( wr>OlAN<5x-wZO&k@OurPFOJ=A|KSFUt9Ll(c3F4rW9%2H0sQaDUL36W7nA{V?*IS* diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp deleted file mode 100644 index 356dbc61f..000000000 --- a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ /dev/null @@ -1,734 +0,0 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - /* __COMO_VERSION__ = VRR */ -# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) -# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) -# define COMPILER_ID "IntelLLVM" -#if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -#endif -#if defined(__GNUC__) -# define SIMULATE_ID "GNU" -#endif -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and - * later. Look for 6 digit vs. 8 digit version number to decide encoding. - * VVVV is no smaller than the current year when a versio is released. - */ -#if __INTEL_LLVM_COMPILER < 1000000L -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) -#else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) -#endif -#if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -#endif -#if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -#elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -#endif -#if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -#endif -#if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -#endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" -# if __SUNPRO_CC >= 0x5100 - /* __SUNPRO_CC = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# endif - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - /* __HP_aCC = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - /* __DECCXX_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 -# define COMPILER_ID "XL" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__NVCOMPILER) -# define COMPILER_ID "NVHPC" -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) -# if defined(__NVCOMPILER_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) || defined(__GNUG__) -# define COMPILER_ID "GNU" -# if defined(__GNUC__) -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# else -# define COMPILER_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_ARM64EC) -# define ARCHITECTURE_ID "ARM64EC" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__ICCSTM8__) -# define ARCHITECTURE_ID "STM8" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L -# if defined(__INTEL_CXX11_MODE__) -# if defined(__cpp_aggregate_nsdmi) -# define CXX_STD 201402L -# else -# define CXX_STD 201103L -# endif -# else -# define CXX_STD 199711L -# endif -#elif defined(_MSC_VER) && defined(_MSVC_LANG) -# define CXX_STD _MSVC_LANG -#else -# define CXX_STD __cplusplus -#endif - -const char* info_language_dialect_default = "INFO" ":" "dialect_default[" -#if CXX_STD > 202002L - "23" -#elif CXX_STD > 201703L - "20" -#elif CXX_STD >= 201703L - "17" -#elif CXX_STD >= 201402L - "14" -#elif CXX_STD >= 201103L - "11" -#else - "98" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} diff --git a/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out b/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out deleted file mode 100755 index 37706eed8ecdb3ef1d630f3a5feeebbcbf9b182f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8648 zcmeHMZ){sv6~DIgum5bPYqzvr7i+Xqx+yPCnuM%l+jA19FO!p&G#woweR;K=#LRz! z{mhb4peSpFRXU1PiG1M;ln+RNx_uZCnrPZgtB?@16_tvZM5riAODl@jRY7z$=iGOW zW52k-2l#;0YrS{w`Q7t7_wRe}p6jm%Lp@H1LvV767X@k~6{>`+yAU;-rAkP&)%O@>Zu;dn^#QK(#N?A)jNfodZ z!Y9j-hi$#MPO2bBWQOG=wc`j$=AnwbMdB?IkENIFS#tldZ+Hz-`Jht;4RsZT=$7|o ziME*bUN<9{zl)Vhsg}rAsR_Z7d7lLyQOM$73ojK9P<;;@7eBS1CC@`sJa(wPwJ9EH zjK`AM$;Qc!_Qv*BC6iKGWWUir+V1Y(FKgm)^nr$L-T)V_0WAN<;f4d>b-%ai+JZTC z>D2Unmd&0Bn63TtGiEW+eRVv)J}_q3dIbR8r5FM%vVMEKOJi zkQ)n!^$cpwh=-Ygc_Ji?SW+~F6HW0{*oZe76BC)Ha5iG#Xkjj$jwVfO=ysu5X52_e zBbHriBAQH0#F|Jpwkm$58EwVxP;Y0K-lDW9ZL$YAmJaxR8YItSc5`f%5KeKL`ncp7 zkvUuwIF6j^ydyGO4R@MascX}>YP92(*Vp)jc683HT-*t;HvN9hyeux<@@<#FB)|Q) zaQD=!kVAbO%Wo{?A#MLY=%Xi@(0sc$cj=&(yQWS5>CWE4-V1a7DphC~&dpV#xX=e; z@n^uhJL;+L7Gib}G;qJxsDaR?m)u(J`s>c&`C0Ub4ZAyh7K`!=p86w*&7#Kk=ayVx zujS5b=Wf2FIWB6Kma;(pIT~t5F9TW2ePHpg5&y^w0cfwt*6s)9;@6-d!yi;C069LI z$Np*4FU;0}f%#OS2^;pGU4XX$*yk?}-}nkpJoVy61|<5(ef5@>%Pw39-j}r=-*|qt zPaF^4(q^DRo_B@k7jur_eeL+hcgo??(DUw*IT)mZ2+*bTU~R~QSC(>zfpC-e+CUGmA4mS8h4%-OZB${B~6t+EK>(9S5zPPg~l&Y-*Q zEmzR(J5dpIH+-v7bNi1~Y3`2c>OQv`cXtHb{(!ro)9veY*MWVfyGHiw$3SlYKgI6@ zbonSf8i7Y6@Mr`cjlloU2>4(>B@;_(I`0APvffs{!=~dN6O+dhVjs!1Bx@>EnWOMX zv{qUACMxInY76NcA8|N&mEtM<-eKbMk00bysLwc66w5K6%hGXQi)q%Wq7bX)U5GOz z*O06uxsfCbj6Gz6?IR}s_OU&GzpG`b5KoZ2L-jL$m2_@5^I-d)q>YgDZWPVb5x426@J@1V7W`I6MM_z?!viEsUJ__ zxh%!KLZ$gD#cSdGK`n-4-UShKLv=a)vBG&uG06qHOMbpf@r?o_D0^~=$Kjl%9R7sh zc($1167Y1<^IM8<627wdW`W_NJ-GzGot8`RxvUU>%P%8V4&QqYv9kU6zHf`!xAqsmC9kjYvD9U zrFtvK-n_wvq`A5&iT7^UfO$wM*g`4zX2TkJ4fqK#*$F@2lC^$ z`MC|aS1hkj_VahL@37gsU;t~O{S7vJEBV<=IQyvud+e|MIjsX6+ll8zm}E>0@^|28 zy(shk45!VEnH?Qf!f>Yda@T+!>fJX8Cwh@+Iyx51n9;OuCiHMTm5gS06zuF(@>+OOvd8irAWM%(A zFF6&ZV(X9;&pcJN_>5BT-2>;LkyujCW};Y8#4ru(gcOv)zAoyA>|)$Vj%AH87_rg= zAEaec`nZvd#G{}T8id^tlFDaDPdeDoyrD7He#6I!8UrV^%c2&9>| zaLP@5~s1oSxZ8VKB(#Dcm?7T%Y1*c6ezf- z=J)NOQw44L{}Z3omT&xiWTY7~#eCimn&faB8lKA5Sk_Ae@WPPelNopPNrAjjxh=Ig-eyV1R=+9jRjg`&3Tju z;lh}L`Mh5}LxD~e8FTyDj^%4mjxh@Bysw=lzK{6mr?~wD3*3j`m@=RDzgLOR{p9-X z{eP4Ao#c@B$#=@|(U+b77GT&e?kDf3YiOc5-X!<3t(-@hgR7X&`))t+eP~payp(5o z3iM(=@6Y!VpWDkW?E3d?eBNh_5dShdFG^f5LqC8_as3>Jx6*)cJj(XumR0d1;`99R zK13z{I|WNC=Yz!r=>0HjQUYusyc5IJp2o%wG&bp81V7ocYC)*KV=tB-KAc1HTmtu?}tz kzt`~j;)ZM0RMw3PBvBi6D2W_+W-In diff --git a/tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index c11b907cc..000000000 --- a/tests/cmake_stuff/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.20 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/rcastroy/src/cholla/tests/cmake_stuff") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/rcastroy/src/cholla/tests/cmake_stuff") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/cmake_stuff/CMakeFiles/CMakeOutput.log b/tests/cmake_stuff/CMakeFiles/CMakeOutput.log deleted file mode 100644 index b5e5265ce..000000000 --- a/tests/cmake_stuff/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,614 +0,0 @@ -The system is: Linux - 3.10.0-957.1.3.el7.x86_64 - x86_64 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /usr/bin/cc -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" - -The C compiler identification is GNU, found in "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdC/a.out" - -Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. -Compiler: /usr/bin/c++ -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" - -The CXX compiler identification is GNU, found in "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/3.20.0/CompilerIdCXX/a.out" - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_65aeb/fast && /usr/bin/gmake -f CMakeFiles/cmTC_65aeb.dir/build.make CMakeFiles/cmTC_65aeb.dir/build -gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -/usr/bin/cc -v -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -Target: x86_64-redhat-linux -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux -Thread model: posix -gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccbW5YV3.s -GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) - compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include" -ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include" -#include "..." search starts here: -#include <...> search starts here: - /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc - /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include - /cm/shared/apps/python/3.8.6/include - /cm/shared/apps/ffmpeg/4.3.1/include - /cm/shared/apps/openmpi/openmpi-4.0.1/include - /cm/shared/apps/gsl/2.6/include - /cm/shared/apps/hdf5/1.10.6/include - /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include - /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include - /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include - /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include - /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include - /cm/shared/apps/slurm/18.08.4/include - /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include - /usr/local/include - /usr/include -End of search list. -GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) - compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: 592abcad67b46aec035d56e51f71d007 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o /tmp/ccbW5YV3.s -GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7 -COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ -LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' -Linking C executable cmTC_65aeb -/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_65aeb.dir/link.txt --verbose=1 -/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -o cmTC_65aeb -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper -Target: x86_64-redhat-linux -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux -Thread model: posix -gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) -COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ -LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_65aeb' '-mtune=generic' '-march=x86-64' - /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_65aeb /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o -gmake[1]: Leaving directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' - - - -Parsed C implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] - add: [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] - add: [/cm/shared/apps/python/3.8.6/include] - add: [/cm/shared/apps/ffmpeg/4.3.1/include] - add: [/cm/shared/apps/openmpi/openmpi-4.0.1/include] - add: [/cm/shared/apps/gsl/2.6/include] - add: [/cm/shared/apps/hdf5/1.10.6/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] - add: [/cm/shared/apps/slurm/18.08.4/include] - add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] - add: [/usr/local/include] - add: [/usr/include] - end of search list found - collapse include dir [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] ==> [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] - collapse include dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] - collapse include dir [/cm/shared/apps/python/3.8.6/include] ==> [/cm/shared/apps/python/3.8.6/include] - collapse include dir [/cm/shared/apps/ffmpeg/4.3.1/include] ==> [/cm/shared/apps/ffmpeg/4.3.1/include] - collapse include dir [/cm/shared/apps/openmpi/openmpi-4.0.1/include] ==> [/cm/shared/apps/openmpi/openmpi-4.0.1/include] - collapse include dir [/cm/shared/apps/gsl/2.6/include] ==> [/cm/shared/apps/gsl/2.6/include] - collapse include dir [/cm/shared/apps/hdf5/1.10.6/include] ==> [/cm/shared/apps/hdf5/1.10.6/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] - collapse include dir [/cm/shared/apps/slurm/18.08.4/include] ==> [/cm/shared/apps/slurm/18.08.4/include] - collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include] - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_65aeb/fast && /usr/bin/gmake -f CMakeFiles/cmTC_65aeb.dir/build.make CMakeFiles/cmTC_65aeb.dir/build] - ignore line: [gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp'] - ignore line: [Building C object CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [Target: x86_64-redhat-linux] - ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccbW5YV3.s] - ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] - ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] - ignore line: [ /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] - ignore line: [ /cm/shared/apps/python/3.8.6/include] - ignore line: [ /cm/shared/apps/ffmpeg/4.3.1/include] - ignore line: [ /cm/shared/apps/openmpi/openmpi-4.0.1/include] - ignore line: [ /cm/shared/apps/gsl/2.6/include] - ignore line: [ /cm/shared/apps/hdf5/1.10.6/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] - ignore line: [ /cm/shared/apps/slurm/18.08.4/include] - ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] - ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: 592abcad67b46aec035d56e51f71d007] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o /tmp/ccbW5YV3.s] - ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7] - ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] - ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking C executable cmTC_65aeb] - ignore line: [/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_65aeb.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -o cmTC_65aeb ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] - ignore line: [Target: x86_64-redhat-linux] - ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] - ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] - ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_65aeb' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_65aeb /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] - arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--no-add-needed] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-o] ==> ignore - arg [cmTC_65aeb] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore - arg [-L/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] - arg [-L/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] - arg [-L/lib/../lib64] ==> dir [/lib/../lib64] - arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] - arg [-L/cm/local/apps/cuda/libs/current/lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64] - arg [-L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] - arg [-L/cm/shared/apps/python/3.8.6/lib] ==> dir [/cm/shared/apps/python/3.8.6/lib] - arg [-L/cm/shared/apps/gsl/2.6/lib] ==> dir [/cm/shared/apps/gsl/2.6/lib] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] - arg [-L/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] - arg [-L/cm/shared/apps/slurm/18.08.4/lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] - arg [CMakeFiles/cmTC_65aeb.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore - collapse library dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] - collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] - collapse library dir [/lib/../lib64] ==> [/lib64] - collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] - collapse library dir [/cm/local/apps/cuda/libs/current/lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] - collapse library dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] - collapse library dir [/cm/shared/apps/python/3.8.6/lib] ==> [/cm/shared/apps/python/3.8.6/lib] - collapse library dir [/cm/shared/apps/gsl/2.6/lib] ==> [/cm/shared/apps/gsl/2.6/lib] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] - collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> [/cm/shared/apps/slurm/18.08.4/lib64/slurm] - collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] - implicit libs: [gcc;gcc_s;c;gcc;gcc_s] - implicit dirs: [/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib] - implicit fwks: [] - - -Detecting CXX compiler ABI info compiled with the following output: -Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_21996/fast && /usr/bin/gmake -f CMakeFiles/cmTC_21996.dir/build.make CMakeFiles/cmTC_21996.dir/build -gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -v -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -Target: x86_64-redhat-linux -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux -Thread model: posix -gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccqzNq1e.s -GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) - compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include" -ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include" -ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include" -#include "..." search starts here: -#include <...> search starts here: - /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc - /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include - /cm/shared/apps/python/3.8.6/include - /cm/shared/apps/ffmpeg/4.3.1/include - /cm/shared/apps/openmpi/openmpi-4.0.1/include - /cm/shared/apps/gsl/2.6/include - /cm/shared/apps/hdf5/1.10.6/include - /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include - /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include - /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include - /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include - /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include - /cm/shared/apps/slurm/18.08.4/include - /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5 - /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux - /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward - /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include - /usr/local/include - /usr/include -End of search list. -GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux) - compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: 9340310b160f8e0621cdd942e42cc106 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccqzNq1e.s -GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7 -COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ -LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' -Linking CXX executable cmTC_21996 -/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_21996.dir/link.txt --verbose=1 -/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_21996 -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper -Target: x86_64-redhat-linux -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux -Thread model: posix -gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) -COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ -LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_21996' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_21996 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o -gmake[1]: Leaving directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' - - - -Parsed CXX implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] - add: [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] - add: [/cm/shared/apps/python/3.8.6/include] - add: [/cm/shared/apps/ffmpeg/4.3.1/include] - add: [/cm/shared/apps/openmpi/openmpi-4.0.1/include] - add: [/cm/shared/apps/gsl/2.6/include] - add: [/cm/shared/apps/hdf5/1.10.6/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] - add: [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] - add: [/cm/shared/apps/slurm/18.08.4/include] - add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] - add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] - add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] - add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] - add: [/usr/local/include] - add: [/usr/include] - end of search list found - collapse include dir [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] ==> [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] - collapse include dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] - collapse include dir [/cm/shared/apps/python/3.8.6/include] ==> [/cm/shared/apps/python/3.8.6/include] - collapse include dir [/cm/shared/apps/ffmpeg/4.3.1/include] ==> [/cm/shared/apps/ffmpeg/4.3.1/include] - collapse include dir [/cm/shared/apps/openmpi/openmpi-4.0.1/include] ==> [/cm/shared/apps/openmpi/openmpi-4.0.1/include] - collapse include dir [/cm/shared/apps/gsl/2.6/include] ==> [/cm/shared/apps/gsl/2.6/include] - collapse include dir [/cm/shared/apps/hdf5/1.10.6/include] ==> [/cm/shared/apps/hdf5/1.10.6/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] - collapse include dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] - collapse include dir [/cm/shared/apps/slurm/18.08.4/include] ==> [/cm/shared/apps/slurm/18.08.4/include] - collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ==> [/usr/include/c++/4.8.5] - collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ==> [/usr/include/c++/4.8.5/x86_64-redhat-linux] - collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ==> [/usr/include/c++/4.8.5/backward] - collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include;/cm/shared/apps/python/3.8.6/include;/cm/shared/apps/ffmpeg/4.3.1/include;/cm/shared/apps/openmpi/openmpi-4.0.1/include;/cm/shared/apps/gsl/2.6/include;/cm/shared/apps/hdf5/1.10.6/include;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/include;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include;/cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include;/cm/shared/apps/slurm/18.08.4/include;/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include] - - -Parsed CXX implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_21996/fast && /usr/bin/gmake -f CMakeFiles/cmTC_21996.dir/build.make CMakeFiles/cmTC_21996.dir/build] - ignore line: [gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp'] - ignore line: [Building CXX object CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -c /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [Target: x86_64-redhat-linux] - ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccqzNq1e.s] - ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] - ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/daal/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/tbb/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/pstl/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/mkl/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/intel/compilers_and_libraries/linux/ipp/include"] - ignore line: [ignoring nonexistent directory "/cm/shared/apps/git/git-2.23.0/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /cm/shared/apps/cuda10.2/sdk/10.2.89/common/inc] - ignore line: [ /cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/include] - ignore line: [ /cm/shared/apps/python/3.8.6/include] - ignore line: [ /cm/shared/apps/ffmpeg/4.3.1/include] - ignore line: [ /cm/shared/apps/openmpi/openmpi-4.0.1/include] - ignore line: [ /cm/shared/apps/gsl/2.6/include] - ignore line: [ /cm/shared/apps/hdf5/1.10.6/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/daal/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/tbb/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/pstl/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/mkl/include] - ignore line: [ /cm/shared/apps/intel/compilers_and_libraries/linux/ipp/include] - ignore line: [ /cm/shared/apps/slurm/18.08.4/include] - ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] - ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] - ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] - ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)] - ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: 9340310b160f8e0621cdd942e42cc106] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccqzNq1e.s] - ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7] - ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] - ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking CXX executable cmTC_21996] - ignore line: [/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_21996.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_21996 ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] - ignore line: [Target: x86_64-redhat-linux] - ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ] - ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] - ignore line: [LIBRARY_PATH=/cm/local/apps/cuda/libs/current/lib64/../lib64/:/cm/shared/apps/slurm/18.08.4/lib64/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/local/apps/cuda/libs/current/lib64/:/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib/:/cm/shared/apps/python/3.8.6/lib/:/cm/shared/apps/gsl/2.6/lib/:/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin/:/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64/:/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/:/cm/shared/apps/slurm/18.08.4/lib64/slurm/:/cm/shared/apps/slurm/18.08.4/lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_21996' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_21996 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/cm/local/apps/cuda/libs/current/lib64/../lib64 -L/cm/shared/apps/slurm/18.08.4/lib64/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/local/apps/cuda/libs/current/lib64 -L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib -L/cm/shared/apps/python/3.8.6/lib -L/cm/shared/apps/gsl/2.6/lib -L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin -L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64 -L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib -L/cm/shared/apps/slurm/18.08.4/lib64/slurm -L/cm/shared/apps/slurm/18.08.4/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] - arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--no-add-needed] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-o] ==> ignore - arg [cmTC_21996] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore - arg [-L/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] - arg [-L/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] - arg [-L/lib/../lib64] ==> dir [/lib/../lib64] - arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] - arg [-L/cm/local/apps/cuda/libs/current/lib64] ==> dir [/cm/local/apps/cuda/libs/current/lib64] - arg [-L/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] - arg [-L/cm/shared/apps/python/3.8.6/lib] ==> dir [/cm/shared/apps/python/3.8.6/lib] - arg [-L/cm/shared/apps/gsl/2.6/lib] ==> dir [/cm/shared/apps/gsl/2.6/lib] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] - arg [-L/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] - arg [-L/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] - arg [-L/cm/shared/apps/slurm/18.08.4/lib64] ==> dir [/cm/shared/apps/slurm/18.08.4/lib64] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] - arg [CMakeFiles/cmTC_21996.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore - collapse library dir [/cm/local/apps/cuda/libs/current/lib64/../lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] - collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/../lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] - collapse library dir [/lib/../lib64] ==> [/lib64] - collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] - collapse library dir [/cm/local/apps/cuda/libs/current/lib64] ==> [/cm/local/apps/cuda/libs/current/lib64] - collapse library dir [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] ==> [/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib] - collapse library dir [/cm/shared/apps/python/3.8.6/lib] ==> [/cm/shared/apps/python/3.8.6/lib] - collapse library dir [/cm/shared/apps/gsl/2.6/lib] ==> [/cm/shared/apps/gsl/2.6/lib] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64] - collapse library dir [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] ==> [/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib] - collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64/slurm] ==> [/cm/shared/apps/slurm/18.08.4/lib64/slurm] - collapse library dir [/cm/shared/apps/slurm/18.08.4/lib64] ==> [/cm/shared/apps/slurm/18.08.4/lib64] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] - implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] - implicit dirs: [/cm/local/apps/cuda/libs/current/lib64;/cm/shared/apps/slurm/18.08.4/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/cm/shared/apps/cuda10.2/toolkit/10.2.89/targets/x86_64-linux/lib;/cm/shared/apps/python/3.8.6/lib;/cm/shared/apps/gsl/2.6/lib;/cm/shared/apps/intel/compilers_and_libraries/linux/daal/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7;/cm/shared/apps/intel/compilers_and_libraries/linux/mkl/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/lib/intel64_lin;/cm/shared/apps/intel/compilers_and_libraries/linux/ipp/lib/intel64;/cm/shared/apps/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib;/cm/shared/apps/slurm/18.08.4/lib64/slurm;/usr/lib] - implicit fwks: [] - - - - -Detecting CXX [-std=c++1y] compiler features compiled with the following output: -Change Dir: /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_0c747/fast && /usr/bin/gmake -f CMakeFiles/cmTC_0c747.dir/build.make CMakeFiles/cmTC_0c747.dir/build -gmake[1]: Entering directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_0c747.dir/feature_tests.cxx.o -/usr/bin/c++ -std=c++1y -o CMakeFiles/cmTC_0c747.dir/feature_tests.cxx.o -c /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/feature_tests.cxx -Linking CXX executable cmTC_0c747 -/home/rcastroy/src/cmake/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0c747.dir/link.txt --verbose=1 -/usr/bin/c++ -rdynamic CMakeFiles/cmTC_0c747.dir/feature_tests.cxx.o -o cmTC_0c747 -gmake[1]: Leaving directory `/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/CMakeTmp' - - - - Feature record: CXX_FEATURE:1cxx_template_template_parameters - Feature record: CXX_FEATURE:1cxx_alias_templates - Feature record: CXX_FEATURE:1cxx_alignas - Feature record: CXX_FEATURE:1cxx_alignof - Feature record: CXX_FEATURE:1cxx_attributes - Feature record: CXX_FEATURE:1cxx_auto_type - Feature record: CXX_FEATURE:1cxx_constexpr - Feature record: CXX_FEATURE:1cxx_decltype - Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types - Feature record: CXX_FEATURE:1cxx_default_function_template_args - Feature record: CXX_FEATURE:1cxx_defaulted_functions - Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers - Feature record: CXX_FEATURE:1cxx_delegating_constructors - Feature record: CXX_FEATURE:1cxx_deleted_functions - Feature record: CXX_FEATURE:1cxx_enum_forward_declarations - Feature record: CXX_FEATURE:1cxx_explicit_conversions - Feature record: CXX_FEATURE:1cxx_extended_friend_declarations - Feature record: CXX_FEATURE:1cxx_extern_templates - Feature record: CXX_FEATURE:1cxx_final - Feature record: CXX_FEATURE:1cxx_func_identifier - Feature record: CXX_FEATURE:1cxx_generalized_initializers - Feature record: CXX_FEATURE:1cxx_inheriting_constructors - Feature record: CXX_FEATURE:1cxx_inline_namespaces - Feature record: CXX_FEATURE:1cxx_lambdas - Feature record: CXX_FEATURE:1cxx_local_type_template_args - Feature record: CXX_FEATURE:1cxx_long_long_type - Feature record: CXX_FEATURE:1cxx_noexcept - Feature record: CXX_FEATURE:1cxx_nonstatic_member_init - Feature record: CXX_FEATURE:1cxx_nullptr - Feature record: CXX_FEATURE:1cxx_override - Feature record: CXX_FEATURE:1cxx_range_for - Feature record: CXX_FEATURE:1cxx_raw_string_literals - Feature record: CXX_FEATURE:1cxx_reference_qualified_functions - Feature record: CXX_FEATURE:1cxx_right_angle_brackets - Feature record: CXX_FEATURE:1cxx_rvalue_references - Feature record: CXX_FEATURE:1cxx_sizeof_member - Feature record: CXX_FEATURE:1cxx_static_assert - Feature record: CXX_FEATURE:1cxx_strong_enums - Feature record: CXX_FEATURE:1cxx_thread_local - Feature record: CXX_FEATURE:1cxx_trailing_return_types - Feature record: CXX_FEATURE:1cxx_unicode_literals - Feature record: CXX_FEATURE:1cxx_uniform_initialization - Feature record: CXX_FEATURE:1cxx_unrestricted_unions - Feature record: CXX_FEATURE:1cxx_user_literals - Feature record: CXX_FEATURE:1cxx_variadic_macros - Feature record: CXX_FEATURE:1cxx_variadic_templates - Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers - Feature record: CXX_FEATURE:0cxx_attribute_deprecated - Feature record: CXX_FEATURE:0cxx_binary_literals - Feature record: CXX_FEATURE:0cxx_contextual_conversions - Feature record: CXX_FEATURE:0cxx_decltype_auto - Feature record: CXX_FEATURE:0cxx_digit_separators - Feature record: CXX_FEATURE:0cxx_generic_lambdas - Feature record: CXX_FEATURE:0cxx_lambda_init_captures - Feature record: CXX_FEATURE:0cxx_relaxed_constexpr - Feature record: CXX_FEATURE:0cxx_return_type_deduction - Feature record: CXX_FEATURE:0cxx_variable_templates diff --git a/tests/cmake_stuff/CMakeFiles/Makefile.cmake b/tests/cmake_stuff/CMakeFiles/Makefile.cmake deleted file mode 100644 index ac6132111..000000000 --- a/tests/cmake_stuff/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,47 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.20 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "CMakeFiles/3.20.0/CMakeCCompiler.cmake" - "CMakeFiles/3.20.0/CMakeCXXCompiler.cmake" - "CMakeFiles/3.20.0/CMakeSystem.cmake" - "CMakeLists.txt" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCInformation.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCXXInformation.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeCommonLanguageInclude.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeGenericSystem.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeInitializeConfigs.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeLanguageInformation.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeSystemSpecificInformation.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/CMakeSystemSpecificInitialize.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/GNU-C.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/GNU-CXX.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Compiler/GNU.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux-GNU-C.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux-GNU-CXX.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux-GNU.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/Linux.cmake" - "/home/rcastroy/src/cmake/share/cmake-3.20/Modules/Platform/UnixPaths.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/cholla.dir/DependInfo.cmake" - ) diff --git a/tests/cmake_stuff/CMakeFiles/Makefile2 b/tests/cmake_stuff/CMakeFiles/Makefile2 deleted file mode 100644 index f0c7ec129..000000000 --- a/tests/cmake_stuff/CMakeFiles/Makefile2 +++ /dev/null @@ -1,112 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.20 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/rcastroy/src/cmake/bin/cmake - -# The command to remove a file. -RM = /home/rcastroy/src/cmake/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/cholla.dir/all -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/cholla.dir/clean -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/cholla.dir - -# All Build rule for target. -CMakeFiles/cholla.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles --progress-num=1,2 "Built target cholla" -.PHONY : CMakeFiles/cholla.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/cholla.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles 2 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cholla.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles 0 -.PHONY : CMakeFiles/cholla.dir/rule - -# Convenience name for target. -cholla: CMakeFiles/cholla.dir/rule -.PHONY : cholla - -# clean rule for target. -CMakeFiles/cholla.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/clean -.PHONY : CMakeFiles/cholla.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/cmake_stuff/CMakeFiles/TargetDirectories.txt b/tests/cmake_stuff/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index f7effdde7..000000000 --- a/tests/cmake_stuff/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,4 +0,0 @@ -/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/rebuild_cache.dir -/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/edit_cache.dir -/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/test.dir -/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles/cholla.dir diff --git a/tests/cmake_stuff/CMakeFiles/cmake.check_cache b/tests/cmake_stuff/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd7317..000000000 --- a/tests/cmake_stuff/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/tests/cmake_stuff/CMakeFiles/feature_tests.cxx b/tests/cmake_stuff/CMakeFiles/feature_tests.cxx deleted file mode 100644 index ea528b446..000000000 --- a/tests/cmake_stuff/CMakeFiles/feature_tests.cxx +++ /dev/null @@ -1,405 +0,0 @@ - - const char features[] = {"\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus -"1" -#else -"0" -#endif -"cxx_template_template_parameters\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_alias_templates\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_alignas\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_alignof\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_attributes\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_auto_type\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_constexpr\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_decltype\n" -"CXX_FEATURE:" -#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_decltype_incomplete_return_types\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_default_function_template_args\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_defaulted_functions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_defaulted_move_initializers\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_delegating_constructors\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_deleted_functions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_enum_forward_declarations\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_explicit_conversions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_extended_friend_declarations\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_extern_templates\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_final\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_func_identifier\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_generalized_initializers\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_inheriting_constructors\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_inline_namespaces\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_lambdas\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_local_type_template_args\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_long_long_type\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_noexcept\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_nonstatic_member_init\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_nullptr\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_override\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_range_for\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_raw_string_literals\n" -"CXX_FEATURE:" -#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_reference_qualified_functions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_right_angle_brackets\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_rvalue_references\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_sizeof_member\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_static_assert\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_strong_enums\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_thread_local\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_trailing_return_types\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_unicode_literals\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_uniform_initialization\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_unrestricted_unions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_user_literals\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_variadic_macros\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_variadic_templates\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L -"1" -#else -"0" -#endif -"cxx_aggregate_default_initializers\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_attribute_deprecated\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_binary_literals\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_contextual_conversions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_decltype_auto\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_digit_separators\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_generic_lambdas\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_lambda_init_captures\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L -"1" -#else -"0" -#endif -"cxx_relaxed_constexpr\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_return_type_deduction\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L -"1" -#else -"0" -#endif -"cxx_variable_templates\n" - -}; - -int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/tests/cmake_stuff/CMakeFiles/progress.marks b/tests/cmake_stuff/CMakeFiles/progress.marks deleted file mode 100644 index 0cfbf0888..000000000 --- a/tests/cmake_stuff/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -2 diff --git a/tests/cmake_stuff/CMakeLists.txt b/tests/cmake_stuff/CMakeLists.txt deleted file mode 100644 index 22c2b3b90..000000000 --- a/tests/cmake_stuff/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -project(cholla) - -add_executable(cholla ../../src/main.cpp) - - -enable_testing() - -add_test(poisson64 ../../cholla.sor poissonParameterFiles/poisson64.txt) -set_tests_properties(poisson64 PROPERTIES WILL_FAIL FALSE) - -add_test(poisson128 ../../cholla.sor poissonParameterFiles/poisson128.txt) -set_tests_properties(poisson128 PROPERTIES WILL_FAIL FALSE) - -add_test(poisson256 ../../cholla.sor poissonParameterFiles/poisson256.txt) -set_tests_properties(poisson256 PROPERTIES WILL_FAIL FALSE) - -add_test(poisson512 ../../cholla.sor poissonParameterFiles/poisson512.txt) -set_tests_properties(poisson512 PROPERTIES WILL_FAIL FALSE) diff --git a/tests/cmake_stuff/CTestTestfile.cmake b/tests/cmake_stuff/CTestTestfile.cmake deleted file mode 100644 index 7726a81ef..000000000 --- a/tests/cmake_stuff/CTestTestfile.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/rcastroy/src/cholla/tests/cmake_stuff -# Build directory: /home/rcastroy/src/cholla/tests/cmake_stuff -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -add_test(poisson64 "../../cholla.sor" "poissonParameterFiles/poisson64.txt") -set_tests_properties(poisson64 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;8;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") -add_test(poisson128 "../../cholla.sor" "poissonParameterFiles/poisson128.txt") -set_tests_properties(poisson128 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;11;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") -add_test(poisson256 "../../cholla.sor" "poissonParameterFiles/poisson256.txt") -set_tests_properties(poisson256 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;14;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") -add_test(poisson512 "../../cholla.sor" "poissonParameterFiles/poisson512.txt") -set_tests_properties(poisson512 PROPERTIES WILL_FAIL "FALSE" _BACKTRACE_TRIPLES "/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;17;add_test;/home/rcastroy/src/cholla/tests/cmake_stuff/CMakeLists.txt;0;") diff --git a/tests/cmake_stuff/Makefile b/tests/cmake_stuff/Makefile deleted file mode 100644 index 85ccf778f..000000000 --- a/tests/cmake_stuff/Makefile +++ /dev/null @@ -1,183 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.20 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /home/rcastroy/src/cmake/bin/cmake - -# The command to remove a file. -RM = /home/rcastroy/src/cmake/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/rcastroy/src/cholla/tests/cmake_stuff - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /home/rcastroy/src/cmake/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." - /home/rcastroy/src/cmake/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /home/rcastroy/src/cmake/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles /home/rcastroy/src/cholla/tests/cmake_stuff//CMakeFiles/progress.marks - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/rcastroy/src/cholla/tests/cmake_stuff/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named cholla - -# Build rule for target. -cholla: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cholla -.PHONY : cholla - -# fast build rule for target. -cholla/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/build -.PHONY : cholla/fast - -# target to build an object file -home/rcastroy/src/cholla/src/main.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/home/rcastroy/src/cholla/src/main.o -.PHONY : home/rcastroy/src/cholla/src/main.o - -# target to preprocess a source file -home/rcastroy/src/cholla/src/main.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/home/rcastroy/src/cholla/src/main.i -.PHONY : home/rcastroy/src/cholla/src/main.i - -# target to generate assembly for a file -home/rcastroy/src/cholla/src/main.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/cholla.dir/build.make CMakeFiles/cholla.dir/home/rcastroy/src/cholla/src/main.s -.PHONY : home/rcastroy/src/cholla/src/main.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... rebuild_cache" - @echo "... test" - @echo "... cholla" - @echo "... home/rcastroy/src/cholla/src/main.o" - @echo "... home/rcastroy/src/cholla/src/main.i" - @echo "... home/rcastroy/src/cholla/src/main.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/cmake_stuff/Testing/Temporary/CTestCostData.txt b/tests/cmake_stuff/Testing/Temporary/CTestCostData.txt deleted file mode 100644 index 0fc643579..000000000 --- a/tests/cmake_stuff/Testing/Temporary/CTestCostData.txt +++ /dev/null @@ -1,5 +0,0 @@ -poisson64 2 0.195648 -poisson128 2 0.737374 -poisson256 2 4.93397 -poisson512 1 81.8235 ---- diff --git a/tests/cmake_stuff/Testing/Temporary/LastTest.log b/tests/cmake_stuff/Testing/Temporary/LastTest.log deleted file mode 100644 index 8c359e450..000000000 --- a/tests/cmake_stuff/Testing/Temporary/LastTest.log +++ /dev/null @@ -1,419 +0,0 @@ -Start testing: Apr 05 13:42 PDT ----------------------------------------------------------- -1/4 Testing: poisson64 -1/4 Test: poisson64 -Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson64.txt" -Directory: /home/rcastroy/src/cholla/tests/cmake_stuff -"poisson64" start time: Apr 05 13:42 PDT -Output: ----------------------------------------------------------- -Memory usage: 357.312500/32510.500000 MB -Parameter values: - n: [64, 64, 64] - Boundaries: 3 3 3 3 3 3 - Gas gamma: 1.66667e+00 - Initial conditions: poissonTest - Final time: 0.00000e+00 - Output directory: - -Creating Log File: run_output.log - File exists, appending values: run_output.log - - -Setting initial conditions... -Initial conditions set. - -Hydro solver parameters: - Integrator: VL - Reconstruction: PPMP - Riemann solver: HLLC - H correction: disabled - CFL: 0.050000 - Floors: - T : 0.0000000000e+00 - rho: 1.0000000000e-15 - P : 1.0000000000e-03 - -Timing Functions is ON - -Initializing Gravity... - Using G = 1.0000000000e+00 - N ghost potential: 2 - N ghost offset: 2 - Using OMP for gravity calculations - MAX OMP Threads: 40 - N OMP Threads per MPI process: 20 - Poisson solver: SOR - Convergence epsilon: 1.00000e-08 - Maximum angular order: 5 - Allocating memory... -Gravity Successfully Initialized. - -boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 64 64 64dx: 6.25000e-02 6.25000e-02 6.25000e-02Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 -ReQ[0][0]=1.35044069978878272797e-01 -ImQ[0][0]=0.00000000000000000000e+00 -ReQ[1][0]=1.12321531889595543127e-18 -ImQ[1][0]=0.00000000000000000000e+00 -ReQ[1][1]=-1.00238824418346118839e-02 -ImQ[1][1]=-1.72662785932175061256e-19 -ReQ[2][0]=-3.16747399225481267998e-03 -ImQ[2][0]=0.00000000000000000000e+00 -ReQ[2][1]=7.63945756650645782981e-20 -ImQ[2][1]=6.10293855941623818520e-20 -ReQ[2][2]=3.87934752728032140531e-03 -ImQ[2][2]=1.66728462970748929306e-20 -ReQ[3][0]=-5.13063738019690733505e-19 -ImQ[3][0]=0.00000000000000000000e+00 -ReQ[3][1]=1.44249569175686166364e-03 -ImQ[3][1]=5.64277798465298888967e-20 -ReQ[3][2]=-2.19106702580343044374e-19 -ImQ[3][2]=-2.23726506301451703938e-21 -ReQ[3][3]=-1.86225393038342451092e-03 -ImQ[3][3]=3.35620390984236160213e-20 -ReQ[4][0]=5.83204307585162562422e-04 -ImQ[4][0]=0.00000000000000000000e+00 -ReQ[4][1]=-1.00094023997744805082e-21 -ImQ[4][1]=8.29033497125146456863e-20 -ReQ[4][2]=-6.14798700624191859707e-04 -ImQ[4][2]=3.29080882007150919390e-21 -ReQ[4][3]=3.14746536694074523616e-20 -ImQ[4][3]=1.53026345370778737282e-20 -ReQ[4][4]=8.13275370532780261801e-04 -ImQ[4][4]=7.54683785443527555092e-21 -ReQ[5][0]=-1.60817145970109428438e-19 -ImQ[5][0]=0.00000000000000000000e+00 -ReQ[5][1]=-2.78785792115732362646e-04 -ImQ[5][1]=1.60588844121044792800e-20 -ReQ[5][2]=4.62393962417142470253e-21 -ImQ[5][2]=1.80894060207690239648e-20 -ReQ[5][3]=3.01111579765752019385e-04 -ImQ[5][3]=6.55959395633379402596e-21 -ReQ[5][4]=-2.79577208117277947977e-20 -ImQ[5][4]=1.64746775714380557214e-20 -ReQ[5][5]=-4.03993855235976391006e-04 -ImQ[5][5]=-1.70177975761744113436e-20 -SOR: Initializing Potential - SOR: Converged in 232 iterations -L2 norm = 1.28632867555491338168e-04 -Passed: 1 - -Test time = 0.39 sec ----------------------------------------------------------- -Test Passed. -"poisson64" end time: Apr 05 13:42 PDT -"poisson64" time elapsed: 00:00:00 ----------------------------------------------------------- - -2/4 Testing: poisson128 -2/4 Test: poisson128 -Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson128.txt" -Directory: /home/rcastroy/src/cholla/tests/cmake_stuff -"poisson128" start time: Apr 05 13:42 PDT -Output: ----------------------------------------------------------- -Memory usage: 357.312500/32510.500000 MB -Parameter values: - n: [128, 128, 128] - Boundaries: 3 3 3 3 3 3 - Gas gamma: 1.66667e+00 - Initial conditions: poissonTest - Final time: 0.00000e+00 - Output directory: - -Creating Log File: run_output.log - File exists, appending values: run_output.log - - -Setting initial conditions... -Initial conditions set. - -Hydro solver parameters: - Integrator: VL - Reconstruction: PPMP - Riemann solver: HLLC - H correction: disabled - CFL: 0.050000 - Floors: - T : 0.0000000000e+00 - rho: 1.0000000000e-15 - P : 1.0000000000e-03 - -Timing Functions is ON - -Initializing Gravity... - Using G = 1.0000000000e+00 - N ghost potential: 2 - N ghost offset: 2 - Using OMP for gravity calculations - MAX OMP Threads: 40 - N OMP Threads per MPI process: 20 - Poisson solver: SOR - Convergence epsilon: 1.00000e-08 - Maximum angular order: 5 - Allocating memory... -Gravity Successfully Initialized. - -boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 128 128 128dx: 3.12500e-02 3.12500e-02 3.12500e-02Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 -ReQ[0][0]=1.35044103243628921263e-01 -ImQ[0][0]=0.00000000000000000000e+00 -ReQ[1][0]=-2.62060108844022302520e-19 -ImQ[1][0]=0.00000000000000000000e+00 -ReQ[1][1]=-1.00239128639628295031e-02 -ImQ[1][1]=6.43723782881563189655e-19 -ReQ[2][0]=-3.16749397194139104342e-03 -ImQ[2][0]=0.00000000000000000000e+00 -ReQ[2][1]=1.60053856669748749446e-20 -ImQ[2][1]=5.90770360590819610846e-21 -ReQ[2][2]=3.87937199729901805584e-03 -ImQ[2][2]=7.31715321566527125134e-20 -ReQ[3][0]=-1.03494004162014063948e-18 -ImQ[3][0]=0.00000000000000000000e+00 -ReQ[3][1]=1.44253969800388869016e-03 -ImQ[3][1]=3.26684962374838055975e-20 -ReQ[3][2]=2.95815878474309970825e-20 -ImQ[3][2]=2.71377555335388681208e-21 -ReQ[3][3]=-1.86231074220405174065e-03 -ImQ[3][3]=-1.34700230292416496359e-19 -ReQ[4][0]=5.83282236898460988705e-04 -ImQ[4][0]=0.00000000000000000000e+00 -ReQ[4][1]=-1.38283181254708286578e-19 -ImQ[4][1]=3.23553045394492521912e-20 -ReQ[4][2]=-6.14834772764562167806e-04 -ImQ[4][2]=-5.54139150482222114942e-21 -ReQ[4][3]=-6.05633092733268119558e-20 -ImQ[4][3]=9.15602970046345958530e-21 -ReQ[4][4]=8.13349210180214590195e-04 -ImQ[4][4]=-1.49797567066841254639e-20 -ReQ[5][0]=-1.89507594566475016943e-20 -ImQ[5][0]=0.00000000000000000000e+00 -ReQ[5][1]=-2.78837963869819069947e-04 -ImQ[5][1]=-7.81379233727074546523e-20 -ReQ[5][2]=8.44479353701457627621e-20 -ImQ[5][2]=4.10314233211307775288e-21 -ReQ[5][3]=3.01179549202030747129e-04 -ImQ[5][3]=2.75032972107794836672e-21 -ReQ[5][4]=-5.13566341333015234078e-20 -ImQ[5][4]=-1.97972323313205859041e-22 -ReQ[5][5]=-4.04074654794890652555e-04 -ImQ[5][5]=9.36286303425536579117e-21 -SOR: Initializing Potential - SOR: Converged in 432 iterations -L2 norm = 3.20932561340243896410e-05 -Passed: 1 - -Test time = 1.47 sec ----------------------------------------------------------- -Test Passed. -"poisson128" end time: Apr 05 13:42 PDT -"poisson128" time elapsed: 00:00:01 ----------------------------------------------------------- - -3/4 Testing: poisson256 -3/4 Test: poisson256 -Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson256.txt" -Directory: /home/rcastroy/src/cholla/tests/cmake_stuff -"poisson256" start time: Apr 05 13:42 PDT -Output: ----------------------------------------------------------- -Memory usage: 357.312500/32510.500000 MB -Parameter values: - n: [256, 256, 256] - Boundaries: 3 3 3 3 3 3 - Gas gamma: 1.66667e+00 - Initial conditions: poissonTest - Final time: 0.00000e+00 - Output directory: - -Creating Log File: run_output.log - File exists, appending values: run_output.log - - -Setting initial conditions... -Initial conditions set. - -Hydro solver parameters: - Integrator: VL - Reconstruction: PPMP - Riemann solver: HLLC - H correction: disabled - CFL: 0.050000 - Floors: - T : 0.0000000000e+00 - rho: 1.0000000000e-15 - P : 1.0000000000e-03 - -Timing Functions is ON - -Initializing Gravity... - Using G = 1.0000000000e+00 - N ghost potential: 2 - N ghost offset: 2 - Using OMP for gravity calculations - MAX OMP Threads: 40 - N OMP Threads per MPI process: 20 - Poisson solver: SOR - Convergence epsilon: 1.00000e-08 - Maximum angular order: 5 - Allocating memory... -Gravity Successfully Initialized. - -boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 256 256 256dx: 1.56250e-02 1.56250e-02 1.56250e-02Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 -ReQ[0][0]=1.35044102915346325711e-01 -ImQ[0][0]=0.00000000000000000000e+00 -ReQ[1][0]=3.03716786501330019165e-18 -ImQ[1][0]=0.00000000000000000000e+00 -ReQ[1][1]=-1.00239134730205486923e-02 -ImQ[1][1]=4.87222525766407158683e-19 -ReQ[2][0]=-3.16749433728744089755e-03 -ImQ[2][0]=0.00000000000000000000e+00 -ReQ[2][1]=-1.21481038860042116659e-19 -ImQ[2][1]=1.81353980153213897939e-20 -ReQ[2][2]=3.87937244475462924762e-03 -ImQ[2][2]=-7.49758138407418583089e-20 -ReQ[3][0]=3.74156571792421720586e-19 -ImQ[3][0]=0.00000000000000000000e+00 -ReQ[3][1]=1.44254037035543096999e-03 -ImQ[3][1]=-6.21677407337727712509e-20 -ReQ[3][2]=2.56252663693087517912e-20 -ImQ[3][2]=-2.84470568211540666232e-21 -ReQ[3][3]=-1.86231161020615531079e-03 -ImQ[3][3]=7.03874402400747427100e-20 -ReQ[4][0]=5.83283844490093501475e-04 -ImQ[4][0]=0.00000000000000000000e+00 -ReQ[4][1]=-1.80997901809411013727e-19 -ImQ[4][1]=6.60240037632857043863e-21 -ReQ[4][2]=-6.14835171195287646072e-04 -ImQ[4][2]=2.44994520832493233656e-20 -ReQ[4][3]=1.22840269018319219959e-19 -ImQ[4][3]=1.36668358837141430974e-20 -ReQ[4][4]=8.13350472085292959881e-04 -ImQ[4][4]=-1.11844930881003614769e-20 -ReQ[5][0]=1.27296621270046468889e-19 -ImQ[5][0]=0.00000000000000000000e+00 -ReQ[5][1]=-2.78838872427013230101e-04 -ImQ[5][1]=2.56785819595236988868e-20 -ReQ[5][2]=-6.41636435788031576115e-20 -ImQ[5][2]=1.09554259827685560081e-21 -ReQ[5][3]=3.01180400385201135337e-04 -ImQ[5][3]=-5.00986987928966814347e-21 -ReQ[5][4]=4.90812566393271476363e-20 -ImQ[5][4]=-6.98482840912027083222e-21 -ReQ[5][5]=-4.04075913205217442103e-04 -ImQ[5][5]=2.71616091726215725894e-20 -SOR: Initializing Potential - SOR: Converged in 826 iterations -L2 norm = 8.00448951484402434087e-06 -Passed: 1 - -Test time = 9.87 sec ----------------------------------------------------------- -Test Passed. -"poisson256" end time: Apr 05 13:42 PDT -"poisson256" time elapsed: 00:00:09 ----------------------------------------------------------- - -4/4 Testing: poisson512 -4/4 Test: poisson512 -Command: "/home/rcastroy/src/cholla/cholla.sor" "poissonParameterFiles/poisson512.txt" -Directory: /home/rcastroy/src/cholla/tests/cmake_stuff -"poisson512" start time: Apr 05 13:42 PDT -Output: ----------------------------------------------------------- -Memory usage: 357.312500/32510.500000 MB -Parameter values: - n: [512, 512, 512] - Boundaries: 3 3 3 3 3 3 - Gas gamma: 1.66667e+00 - Initial conditions: poissonTest - Final time: 0.00000e+00 - Output directory: - -Creating Log File: run_output.log - File exists, appending values: run_output.log - - -Setting initial conditions... -Initial conditions set. - -Hydro solver parameters: - Integrator: VL - Reconstruction: PPMP - Riemann solver: HLLC - H correction: disabled - CFL: 0.050000 - Floors: - T : 0.0000000000e+00 - rho: 1.0000000000e-15 - P : 1.0000000000e-03 - -Timing Functions is ON - -Initializing Gravity... - Using G = 1.0000000000e+00 - N ghost potential: 2 - N ghost offset: 2 - Using OMP for gravity calculations - MAX OMP Threads: 40 - N OMP Threads per MPI process: 20 - Poisson solver: SOR - Convergence epsilon: 1.00000e-08 - Maximum angular order: 5 - Allocating memory... -Gravity Successfully Initialized. - -boundslocal: -2.00000e+00 -2.00000e+00 -2.00000e+00nlocalreal: 512 512 512dx: 7.81250e-03 7.81250e-03 7.81250e-03Multipole center: 0.0000000000e+00, 0.0000000000e+00, 0.0000000000e+00 -ReQ[0][0]=1.35044102925978487528e-01 -ImQ[0][0]=0.00000000000000000000e+00 -ReQ[1][0]=1.46503893743523257918e-19 -ImQ[1][0]=0.00000000000000000000e+00 -ReQ[1][1]=-1.00239134827800734778e-02 -ImQ[1][1]=6.12158277679814592770e-19 -ReQ[2][0]=-3.16749434358319344532e-03 -ImQ[2][0]=0.00000000000000000000e+00 -ReQ[2][1]=2.71967107422066521008e-19 -ImQ[2][1]=6.45858997904533285794e-20 -ReQ[2][2]=3.87937245246538792848e-03 -ImQ[2][2]=-4.72047879662777314950e-20 -ReQ[3][0]=-1.03270140162680250945e-19 -ImQ[3][0]=0.00000000000000000000e+00 -ReQ[3][1]=1.44254038166237506628e-03 -ImQ[3][1]=4.81364176288611027474e-20 -ReQ[3][2]=1.98971411536572932946e-19 -ImQ[3][2]=-1.79891995339895258111e-21 -ReQ[3][3]=-1.86231162480334183455e-03 -ImQ[3][3]=-5.02663787767787913801e-20 -ReQ[4][0]=5.83283866455632264356e-04 -ImQ[4][0]=0.00000000000000000000e+00 -ReQ[4][1]=-1.05635548266020808133e-19 -ImQ[4][1]=-1.76794917624304521895e-20 -ReQ[4][2]=-6.14835180588662287560e-04 -ImQ[4][2]=7.97057975455553464656e-21 -ReQ[4][3]=-3.37886667444350140610e-20 -ImQ[4][3]=1.29770966605519129522e-20 -ReQ[4][4]=8.13350492312932835462e-04 -ImQ[4][4]=2.80913601695224945300e-20 -ReQ[5][0]=-1.43828716408073374585e-19 -ImQ[5][0]=0.00000000000000000000e+00 -ReQ[5][1]=-2.78838885053470022114e-04 -ImQ[5][1]=-2.71570853724318472764e-21 -ReQ[5][2]=3.91125088309489622128e-20 -ImQ[5][2]=-5.52842153163409275601e-22 -ReQ[5][3]=3.01180418383544023023e-04 -ImQ[5][3]=1.32359997614606767995e-21 -ReQ[5][4]=1.25696452812431615255e-19 -ImQ[5][4]=-6.51816107969615243200e-22 -ReQ[5][5]=-4.04075933452642109978e-04 -ImQ[5][5]=-2.10660801463267611312e-20 -SOR: Initializing Potential - SOR: Converged in 1590 iterations -L2 norm = 1.98015314505433153187e-06 -Passed: 1 - -Test time = 81.82 sec ----------------------------------------------------------- -Test Passed. -"poisson512" end time: Apr 05 13:44 PDT -"poisson512" time elapsed: 00:01:21 ----------------------------------------------------------- - -End testing: Apr 05 13:44 PDT diff --git a/tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log b/tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log deleted file mode 100644 index a84d0c956..000000000 --- a/tests/cmake_stuff/Testing/Temporary/LastTestsFailed.log +++ /dev/null @@ -1 +0,0 @@ -4:poisson512 diff --git a/tests/cmake_stuff/cmake_install.cmake b/tests/cmake_stuff/cmake_install.cmake deleted file mode 100644 index 56dc98927..000000000 --- a/tests/cmake_stuff/cmake_install.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# Install script for directory: /home/rcastroy/src/cholla/tests/cmake_stuff - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "0") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/home/rcastroy/src/cholla/tests/cmake_stuff/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson128.txt b/tests/cmake_stuff/poissonParameterFiles/poisson128.txt deleted file mode 100644 index 26c2b886f..000000000 --- a/tests/cmake_stuff/poissonParameterFiles/poisson128.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Parameter File for the 3D Polytropic Star. -# -###################################### - -# number of grid cells in the x dimension -nx=128 - -# number of grid cells in the y dimension -ny=128 - -# number of grid cells in the z dimension -nz=128 - -# output time -tout=0. - -c0=0.75 -c1=0.5 -c2=0.75 -c3=1. -c4=1. -c5=1. - -#c0=1. -#c1=0. -#c2=0. -#c3=0. -#c4=0. -#c5=0. - -d0=0 -d1=0 -d2=0 -d3=0 -d4=0 -d5=0 - -# how often to output -outstep=100000000000 - -# value of gamma -gamma=1.66666667 - -# name of initial conditions -init=poissonTest - -# domain properties -xmin=-2. -ymin=-2. -zmin=-2. -xlen=4. -ylen=4. -zlen=4. - -# type of boundary conditions -xl_bcnd=3 -xu_bcnd=3 -yl_bcnd=3 -yu_bcnd=3 -zl_bcnd=3 -zu_bcnd=3 diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson256.txt b/tests/cmake_stuff/poissonParameterFiles/poisson256.txt deleted file mode 100644 index 7c78b1ae1..000000000 --- a/tests/cmake_stuff/poissonParameterFiles/poisson256.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Parameter File for the 3D Polytropic Star. -# -###################################### - -# number of grid cells in the x dimension -nx=256 - -# number of grid cells in the y dimension -ny=256 - -# number of grid cells in the z dimension -nz=256 - -# output time -tout=0. - -c0=0.75 -c1=0.5 -c2=0.75 -c3=1. -c4=1. -c5=1. - -#c0=1. -#c1=0. -#c2=0. -#c3=0. -#c4=0. -#c5=0. - -d0=0 -d1=0 -d2=0 -d3=0 -d4=0 -d5=0 - -# how often to output -outstep=100000000000 - -# value of gamma -gamma=1.66666667 - -# name of initial conditions -init=poissonTest - -# domain properties -xmin=-2. -ymin=-2. -zmin=-2. -xlen=4. -ylen=4. -zlen=4. - -# type of boundary conditions -xl_bcnd=3 -xu_bcnd=3 -yl_bcnd=3 -yu_bcnd=3 -zl_bcnd=3 -zu_bcnd=3 diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson512.txt b/tests/cmake_stuff/poissonParameterFiles/poisson512.txt deleted file mode 100644 index efa7c10fb..000000000 --- a/tests/cmake_stuff/poissonParameterFiles/poisson512.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Parameter File for the 3D Polytropic Star. -# -###################################### - -# number of grid cells in the x dimension -nx=512 - -# number of grid cells in the y dimension -ny=512 - -# number of grid cells in the z dimension -nz=512 - -# output time -tout=0. - -c0=0.75 -c1=0.5 -c2=0.75 -c3=1. -c4=1. -c5=1. - -#c0=1. -#c1=0. -#c2=0. -#c3=0. -#c4=0. -#c5=0. - -d0=0 -d1=0 -d2=0 -d3=0 -d4=0 -d5=0 - -# how often to output -outstep=100000000000 - -# value of gamma -gamma=1.66666667 - -# name of initial conditions -init=poissonTest - -# domain properties -xmin=-2. -ymin=-2. -zmin=-2. -xlen=4. -ylen=4. -zlen=4. - -# type of boundary conditions -xl_bcnd=3 -xu_bcnd=3 -yl_bcnd=3 -yu_bcnd=3 -zl_bcnd=3 -zu_bcnd=3 diff --git a/tests/cmake_stuff/poissonParameterFiles/poisson64.txt b/tests/cmake_stuff/poissonParameterFiles/poisson64.txt deleted file mode 100644 index 95bc0412d..000000000 --- a/tests/cmake_stuff/poissonParameterFiles/poisson64.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Parameter File for the 3D Polytropic Star. -# -###################################### - -# number of grid cells in the x dimension -nx=64 - -# number of grid cells in the y dimension -ny=64 - -# number of grid cells in the z dimension -nz=64 - -# output time -tout=0. - -c0=0.75 -c1=0.5 -c2=0.75 -c3=1. -c4=1. -c5=1. - -#c0=1. -#c1=0. -#c2=0. -#c3=0. -#c4=0. -#c5=0. - -d0=0 -d1=0 -d2=0 -d3=0 -d4=0 -d5=0 - -# how often to output -outstep=100000000000 - -# value of gamma -gamma=1.66666667 - -# name of initial conditions -init=poissonTest - -# domain properties -xmin=-2. -ymin=-2. -zmin=-2. -xlen=4. -ylen=4. -zlen=4. - -# type of boundary conditions -xl_bcnd=3 -xu_bcnd=3 -yl_bcnd=3 -yu_bcnd=3 -zl_bcnd=3 -zu_bcnd=3 diff --git a/tests/cmake_stuff/run_output.log b/tests/cmake_stuff/run_output.log deleted file mode 100644 index 4dab13f83..000000000 --- a/tests/cmake_stuff/run_output.log +++ /dev/null @@ -1,38 +0,0 @@ - -Run date: Mon Apr 5 13:33:14 2021 - -Run date: Mon Apr 5 13:33:14 2021 - -Run date: Mon Apr 5 13:33:16 2021 - -Run date: Mon Apr 5 13:36:17 2021 - -Run date: Mon Apr 5 13:36:17 2021 - -Run date: Mon Apr 5 13:36:19 2021 - -Run date: Mon Apr 5 13:38:25 2021 - -Run date: Mon Apr 5 13:38:26 2021 - -Run date: Mon Apr 5 13:38:27 2021 - -Run date: Mon Apr 5 13:38:47 2021 - -Run date: Mon Apr 5 13:38:48 2021 - -Run date: Mon Apr 5 13:39:05 2021 - -Run date: Mon Apr 5 13:39:06 2021 - -Run date: Mon Apr 5 13:39:07 2021 - -Run date: Mon Apr 5 13:39:17 2021 - -Run date: Mon Apr 5 13:42:33 2021 - -Run date: Mon Apr 5 13:42:33 2021 - -Run date: Mon Apr 5 13:42:35 2021 - -Run date: Mon Apr 5 13:42:45 2021 From 4906963ee078ac992a805d43f529a0b485c9b39f Mon Sep 17 00:00:00 2001 From: ryarza Date: Mon, 5 Apr 2021 14:54:17 -0700 Subject: [PATCH 19/21] Poisson test with ctest --- .gitignore | 1 + tests/poisson_test/run_output.log | 8 ++++++++ tests/poisson_test/test_results | 15 +++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 tests/poisson_test/test_results diff --git a/.gitignore b/.gitignore index 339b68a06..ed7e80934 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ parameter_file.txt *.h5 *.bin out.* +*.log ## dropbox file .DS_Store diff --git a/tests/poisson_test/run_output.log b/tests/poisson_test/run_output.log index 4dab13f83..b71b35319 100644 --- a/tests/poisson_test/run_output.log +++ b/tests/poisson_test/run_output.log @@ -36,3 +36,11 @@ Run date: Mon Apr 5 13:42:33 2021 Run date: Mon Apr 5 13:42:35 2021 Run date: Mon Apr 5 13:42:45 2021 + +Run date: Mon Apr 5 14:51:54 2021 + +Run date: Mon Apr 5 14:51:54 2021 + +Run date: Mon Apr 5 14:51:56 2021 + +Run date: Mon Apr 5 14:52:06 2021 diff --git a/tests/poisson_test/test_results b/tests/poisson_test/test_results new file mode 100644 index 000000000..736b807a1 --- /dev/null +++ b/tests/poisson_test/test_results @@ -0,0 +1,15 @@ +[HANDLER_OUTPUT] +Test project /home/rcastroy/src/cholla/tests/poisson_test + + Start 1: poisson64 +1/4 Test #1: poisson64 ........................ Passed 0.40 sec + Start 2: poisson128 +2/4 Test #2: poisson128 ....................... Passed 1.48 sec + Start 3: poisson256 +3/4 Test #3: poisson256 ....................... Passed 9.86 sec + Start 4: poisson512 +4/4 Test #4: poisson512 ....................... Passed 81.90 sec + +100% tests passed, 0 tests failed out of 4 + +Total Test time (real) = 93.65 sec From 9d6f093d0292661aa279d264adfe692072727546 Mon Sep 17 00:00:00 2001 From: ryarza Date: Wed, 7 Apr 2021 05:22:33 -0700 Subject: [PATCH 20/21] Changed makefile to tides --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index ef8a25371..d76eed754 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ DFLAGS += -DCUDA #DFLAGS += -DPROFILING #To use MPI, DFLAGS must include -DMPI_CHOLLA -#DFLAGS += -DMPI_CHOLLA -DBLOCK +DFLAGS += -DMPI_CHOLLA -DBLOCK #DFLAGS += -DPRECISION=1 DFLAGS += -DPRECISION=2 @@ -103,17 +103,17 @@ DFLAGS += -DN_OMP_THREADS=$(OMP_NUM_THREADS) #DFLAGS += -DPRINT_OMP_DOMAIN # Flags related to the tidal simulation -#DFLAGS += -DTIDES +DFLAGS += -DTIDES # Uses relativistic corrections to the orbit and potential. Otherwise exact Newtonian potential is used #DFLAGS += -DTIDES_RELATIVISTIC # Outputs the black hole potential, which can be used to compute whether any given fluid cell is bound or unbound -#DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH +DFLAGS += -DTIDES_OUTPUT_POTENTIAL_BH #Prints the center of mass motion at every step #DFLAGS += -DOUTPUT_ALWAYS_COM # Test Poisson solver with quasispherical distributions -DFLAGS += -DPOISSON_TEST +#DFLAGS += -DPOISSON_TEST # Cosmology simulation # DFLAGS += -DCOSMOLOGY From 1a98e19c26bc9e4b59fe53698f6a8ef9f0810323 Mon Sep 17 00:00:00 2001 From: ryarza Date: Sun, 16 May 2021 14:44:25 -0700 Subject: [PATCH 21/21] Print statement with number of blocks --- src/VL_3D_cuda.cu | 1 + 1 file changed, 1 insertion(+) diff --git a/src/VL_3D_cuda.cu b/src/VL_3D_cuda.cu index 3f9e289ec..1fbb47973 100644 --- a/src/VL_3D_cuda.cu +++ b/src/VL_3D_cuda.cu @@ -51,6 +51,7 @@ Real VL_Algorithm_3D_CUDA(Real *host_conserved0, Real *host_conserved1, int nx, //printf("Subgrid dimensions set: %d %d %d %d %d %d %d %d %d\n", nx_s, ny_s, nz_s, block1_tot, block2_tot, block3_tot, remainder1, remainder2, remainder3); //fflush(stdout); block_tot = block1_tot*block2_tot*block3_tot; + chprintf("Number of blocks: %i\n", block_tot); // number of cells in one subgrid block BLOCK_VOL = nx_s*ny_s*nz_s; // dimensions for the 1D GPU grid