sctl.hpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // Scientific Computing Template Library
  2. #ifndef _SCTL_HPP_
  3. #define _SCTL_HPP_
  4. #define SCTL_NAMESPACE sctl
  5. // Profiling parameters
  6. #ifndef SCTL_PROFILE
  7. #define SCTL_PROFILE -1 // Granularity level
  8. #endif
  9. // Parameters for memory manager
  10. #define SCTL_MEM_ALIGN 64
  11. #define SCTL_CACHE_LINE_SIZE 512 // in Bytes
  12. #ifndef SCTL_GLOBAL_MEM_BUFF
  13. #define SCTL_GLOBAL_MEM_BUFF 1024LL * 0LL // in MB
  14. #endif
  15. #define SCTL_QUOTEME(x) SCTL_QUOTEME_1(x)
  16. #define SCTL_QUOTEME_1(x) #x
  17. #define SCTL_INCLUDE(x) SCTL_QUOTEME(SCTL_NAMESPACE/x)
  18. // Tensor
  19. #include SCTL_INCLUDE(tensor.hpp)
  20. // Tree
  21. #include SCTL_INCLUDE(tree.hpp)
  22. // MPI Wrapper
  23. #include SCTL_INCLUDE(comm.hpp)
  24. // Memory Manager, Iterators
  25. #include SCTL_INCLUDE(mem_mgr.hpp)
  26. // Thread Communicator, Shared Memory Manager
  27. #include SCTL_INCLUDE(thread-comm.hpp)
  28. // Vector
  29. #include SCTL_INCLUDE(vector.hpp)
  30. // Matrix, Permutation operators
  31. #include SCTL_INCLUDE(matrix.hpp)
  32. // Template vector intrinsics
  33. #include SCTL_INCLUDE(intrin_wrapper.hpp)
  34. // Template vector intrinsics (new)
  35. #include SCTL_INCLUDE(vec.hpp)
  36. // OpenMP merge-sort and scan
  37. #include SCTL_INCLUDE(ompUtils.hpp)
  38. // Parallel solver
  39. #include SCTL_INCLUDE(parallel_solver.hpp)
  40. // Chebyshev basis
  41. #include SCTL_INCLUDE(cheb_utils.hpp)
  42. // Morton
  43. #include SCTL_INCLUDE(morton.hpp)
  44. // Spherical Harmonics
  45. #include SCTL_INCLUDE(sph_harm.hpp)
  46. #include SCTL_INCLUDE(fft_wrapper.hpp)
  47. #include SCTL_INCLUDE(legendre_rule.hpp)
  48. // Profiler
  49. #include SCTL_INCLUDE(profile.hpp)
  50. // Print stack trace
  51. #include SCTL_INCLUDE(stacktrace.h)
  52. const int sgh = SCTL_NAMESPACE::SetSigHandler(); // Set signal handler
  53. // Boundary quadrature, Kernel functions
  54. #include SCTL_INCLUDE(kernel_functions.hpp)
  55. #include SCTL_INCLUDE(boundary_quadrature.hpp)
  56. #endif //_SCTL_HPP_