Skip to content
Snippets Groups Projects
  1. Oct 01, 2018
    • akuesters's avatar
      Integrating Mac OS X and clang compiler into Travis CI (#601) · e755a420
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      changes: 
      - .travis.yml:
        - added matrix for different osx's, since enumeration style only works for `env` and `compiler`
      
      - scripts/travis/build.sh:
        - changed getting compiler version from ``${CXX} -dumpversion`` to ``${CXX} --version | grep -m1 ""`` 
        - added `--oversubscribe` flag to `mpiexec` on Mac to allow more processes on a node than processing elements
        - added `--mca btl tcp,self` flag for Open MPI to use the "tcp" and "self" BTLs for transporting MPI messages on Mac
      e755a420
  2. Jul 24, 2018
    • noraabiakar's avatar
      task_system as part of an execution_context (#537) · 7a6c1031
      noraabiakar authored and Benjamin Cumming's avatar Benjamin Cumming committed
      - Task system is no longer a single system private to the implementation of the threading backend and used everywhere. A separate task_system can be used (with a specified number of threads) for every simulation.
      - arb::execution_context is the interface to task_system  and the previously defined distributed_context
      - TBB and serial support has been removed. Cthreads is the only threading backend available. 
      7a6c1031
  3. Jul 06, 2018
    • Sam Yates's avatar
      Migrate source/build to c++14 ... · 3ee79191
      Sam Yates authored and Benjamin Cumming's avatar Benjamin Cumming committed
      Migrate source/build to c++14                                                                                                                    (#522)
      
      * Update `CMakeLists.txt` for C++14 option.
      * Update to gcc 6 minimum.
      * Update travis CI from gcc-5 to gcc-6
      * Use `std::..._t` style type traits, replacing `util::` aliases.
      * Use `std::cbegin`, `std::cend`, and `std::make_unique`, replacing `util::` versions.
      * Remove `DEDUCED_RETURN_TYPE` macros.
      * Remove redundant return type specifications.
      * Use correct ADL for `begin` and `end` in (almost all) the range utilities.
      * Remove redundant `mechinfo` ctor (aggregate initialization suffices).
      * Use lambda capture initializers where appropriate.
      * Use generic `std::equal_to`.
      * Use variable templates for `math::infinity` and `math::pi`.
      * Remove `enum_hash` workaround.
      * Use `""s` string literals where we were using our own `""_s` construction.
      * Use generic lambda for recursive lambda instead of `std::function` wrapper.
      * Use generic lambda for generic arithmetic tests.
      
      Fixes #358.
      3ee79191
  4. Mar 27, 2018
    • Ben Cumming's avatar
      Installation Guide (#459) · 0cf65a4c
      Ben Cumming authored
      Added an installation guide to the Read The Docs
      Removed the outdated build/install information from README.md
      Link from README to Read The Docs
      Updated the splash page for Read The Docs
      0cf65a4c
  5. Mar 15, 2018
    • Ben Cumming's avatar
      Improve TBB vs. CMake (#451) · 459d6562
      Ben Cumming authored
      This replaces the CMake templates provided by TBB with a much more sane alternative!
      
      The TBB CMake templates had a very strange workflow, that involved downloading the TBB source and compiling it, which made it impossible to configure the TBB build, and caused problems on systems without connection to the internet.
      
      We replace this with a fork of the TBB repository maintained by Github user @wjakob:
      https://github.com/wjakob/tbb
      This fork provides a sane CMakeLists.txt that can be configured from our CMake setup.
      It is added as a git submodule, so it can be downloaded with the rest of the repository, hence not requiring connection to the internet during CMake configuration.
      
      It could be extended to use a user-provided build of TBB to use instead of building it.
      
      fixes #332.
      459d6562
  6. Sep 11, 2017
    • Ben Cumming's avatar
      Basic CI support with TravisCI (#340) · 137c5b5f
      Ben Cumming authored
      Add support for continuous integration with Travis CI.
      This implements bare bones support that can be extended over time.
      
      Travis CI test environments:
      
          All use gcc 5.
          Test the serial distributed back end with serial and cthread threading backends.
          Test mpi with cthread.
          The tbb test failed sporadically because CMake, so it is disabled for now.
      
      The test script:
      
          Builds the unit tests, global_communication tests and miniapp.
          Asserts that all unit and global_communication tests pass.
          Asserts that the miniapp runs successfully.
              does not test miniapp output for now.
      
      There is plenty of scope for improving the tests.
      A key improvement will be to use validated output for the validation and miniapp
      to provide some validation.
      
      There were some small fixes required to make the tests pass on Travis
      
          communication/mpi.hpp now sets default size and rank values of 1 and 0 respectively
          to allow all unit tests to pass when built with MPI.
          The wrappers around MPI API calls use const_cast to support MPI implementations that
          are not "const aware".
          A missing header was added to tests/unit/test_range to make std::unordered_multimap
          available.`
      137c5b5f