sctl.hpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef _SCTL_HPP_
  2. #define _SCTL_HPP_
  3. #define SCTL_NAMESPACE sctl
  4. #define SCTL_QUOTEME(x) SCTL_QUOTEME_1(x)
  5. #define SCTL_QUOTEME_1(x) #x
  6. #define SCTL_INCLUDE(x) SCTL_QUOTEME(sctl/x)
  7. // Have MPI
  8. //#define SCTL_HAVE_MPI
  9. // Disable assert checks.
  10. //#ifndef NDEBUG
  11. //#define NDEBUG
  12. //#endif
  13. // Parameters for memory manager
  14. #define SCTL_MEM_ALIGN 64
  15. #define SCTL_GLOBAL_MEM_BUFF 1024LL * 6LL // in MB
  16. #ifndef NDEBUG
  17. #define SCTL_MEMDEBUG // Enable memory checks.
  18. #endif
  19. // Profiling parameters
  20. #define SCTL_PROFILE 5 // Granularity level
  21. #define SCTL_VERBOSE
  22. // MPI Wrapper
  23. #include SCTL_INCLUDE(comm.hpp)
  24. // Memory Manager, Iterators
  25. #include SCTL_INCLUDE(mem_mgr.hpp)
  26. // Vector
  27. #include SCTL_INCLUDE(vector.hpp)
  28. // Matrix, Permutation operators
  29. #include SCTL_INCLUDE(matrix.hpp)
  30. // Template vector intrinsics
  31. #include SCTL_INCLUDE(intrin_wrapper.hpp)
  32. // OpenMP merge-sort and scan
  33. #include SCTL_INCLUDE(ompUtils.hpp)
  34. // Parallel solver
  35. #include SCTL_INCLUDE(parallel_solver.hpp)
  36. // ChebBasis
  37. #include SCTL_INCLUDE(cheb_utils.hpp)
  38. // Morton
  39. #include SCTL_INCLUDE(morton.hpp)
  40. #include SCTL_INCLUDE(fft_wrapper.hpp)
  41. #include SCTL_INCLUDE(legendre_rule.hpp)
  42. // Profiler
  43. #include SCTL_INCLUDE(profile.hpp)
  44. // Print stack trace
  45. #include SCTL_INCLUDE(stacktrace.h)
  46. const int sgh = SCTL_NAMESPACE::SetSigHandler(); // Set signal handler
  47. #endif //_SCTL_HPP_