AUTH's THMMY "Parallel and distributed systems" course assignments.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

59 lignes
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 config_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 perf{false}; //!< Enable performance timing measurements and prints
  44. bool verbose{false}; //!< Flag to enable verbose output to stdout
  45. };
  46. extern config_t config;
  47. #endif /* CONFIG_H_ */