AUTH's THMMY "Parallel and distributed systems" course assignments.
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 

59 wiersze
1.4 KiB

  1. /*!
  2. * \file config.h
  3. * \brief Build configuration file.
  4. *
  5. * \author
  6. * Christos Choutouridis AEM:8997
  7. * <cchoutou@ece.auth.gr>
  8. */
  9. #ifndef CONFIG_H_
  10. #define CONFIG_H_
  11. #include <cstdint>
  12. /*
  13. * Defines for different version of the exercise
  14. */
  15. #define BITONIC (1)
  16. #define BUBBLETONIC (2)
  17. // Fail-safe version selection
  18. #if !defined CODE_VERSION
  19. #define CODE_VERSION BITONIC
  20. #endif
  21. // Default Data size (in case -q <N> is not present)
  22. #define DEFAULT_DATA_SIZE (1 << 16)
  23. /*!
  24. * Value type selection
  25. *
  26. * We support the following compiler types or the <cstdint> that translate to them:
  27. * char - unsigned char
  28. * short - unsigned short
  29. * int - unsigned int
  30. * long - unsigned long
  31. * long long - unsigned long long
  32. * float
  33. * double
  34. */
  35. using distValue_t = uint32_t;
  36. /*!
  37. * Session option for each invocation of the executable
  38. */
  39. struct session_t {
  40. size_t arraySize{DEFAULT_DATA_SIZE}; //!<
  41. bool validation{false}; //!< Request a full validation at the end, performed by process rank 0
  42. bool ndebug{false}; //!< Skips debug trap on DEBUG builds
  43. bool timing{false}; //!< Enable timing measurements and prints
  44. bool verbose{false}; //!< Flag to enable verbose output to stdout
  45. };
  46. extern session_t session;
  47. #endif /* CONFIG_H_ */