Skip to content
Snippets Groups Projects
  1. Apr 29, 2024
  2. Mar 21, 2024
  3. Jan 10, 2024
  4. Nov 30, 2023
    • Luc Grosheintz's avatar
      Use `using Range = std::array<Value, 2>`. (#319) · 4095ed53
      Luc Grosheintz authored
      By using an `std::array` we can remove the differences between
      `RawIndex` and `Selection::Ranges`. It also allows us to read
      `Selection::Ranges` from disk directly via the HighFive API.
      
      This change breaks API. One change needed is:
      ```
      - ranges.emplace_back(i_begin, i_end);
      + ranges.push_back({i_begin, i_end});
      ```
      another is:
      ```
      - range.first < range.second;
      + std::get<0>(range) < std::get<1>(range);
      ```
      both are valid for versions before and after this commit. Python code is unaffected.
      4095ed53
  5. Nov 27, 2023
    • Michael Emiel Gevaert's avatar
      test for completely empty datasets (#281) · 70559bc3
      Michael Emiel Gevaert authored
      * test for completely empty datasets
      
      * prevents failures with cryptic error message:
          HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 140737340061504:
          #000: ../../../src/H5Shyper.c line 7057 in H5Sselect_hyperslab(): hyperslab doesn't support H5S_NULL space
      70559bc3
  6. Nov 06, 2023
    • Luc Grosheintz's avatar
      Optimize loading `?fferent_edges`. (#298) · 83664657
      Luc Grosheintz authored
      * Implement merge-read-extract.
      
      Reading from parallel filesystems, e.g. GPFS, requires reading few but
      large chunks. Reading multiple times from the same block/page, come with
      a hefty performance penalty.
      
      The commit implements the functionality for merging nearby reads by
      adding or modifying:
      
        * `sortAndMerge` to allow merging ranges across gaps of a certain
          size.
      
        * `bulkRead` to read block-by-block and extract the requested slices
          in memory.
      
        * `_readSelection` to always combine reads.
      
        * `?fferent_edges` to optimize reading of edge IDs.
      
      It requires a compile-time constant `SONATA_PAGESIZE` to specify the
      block/pagesize to be targeted.
      
      * Move include.
      83664657
  7. Sep 22, 2023
  8. Jul 31, 2023
  9. Jul 24, 2023
  10. Jun 23, 2023
  11. Jun 07, 2023
  12. Jun 05, 2023
  13. May 23, 2023
  14. May 02, 2023
  15. Apr 14, 2023
  16. Mar 30, 2023
    • Michael Emiel Gevaert's avatar
      Faster node sets (#256) · 17c860c0
      Michael Emiel Gevaert authored
      * it's common to have a deep structure of compound statements
         (ie: a whole hierarchy of regions), all checking the same attribute
         rather than `materializing` them separately, we group them, and materialize
         them all at once
      * Reduces a full brain hierarchy from 40 minutes to 6 seconds.
      17c860c0
  17. Mar 28, 2023
    • Michael Emiel Gevaert's avatar
      Multi clause nodeset (#255) · 0fb3a8da
      Michael Emiel Gevaert authored
      * instead of Multi Clauses like being treated at the top level
          {
              "population": "biophysical",
              "node_id": [1, 2, 3, 5, 7, 9, ...]
          }
          They are converted the NodeSetBasicMultiClause
      * this is in prep for faster `materialize`
      0fb3a8da
  18. Mar 16, 2023
  19. Feb 16, 2023
  20. Feb 13, 2023
  21. Nov 01, 2022
  22. Oct 11, 2022
  23. Oct 07, 2022
    • Michael Emiel Gevaert's avatar
      make h5 files available through PopulationProperties (#230) · 794555a2
      Michael Emiel Gevaert authored
      * circuit_config.json must now conform to the BBP standard for
        populations to be found
      * the circuit_config.json now is the ground truth for available
        properties: if multiple nodes files contain the same population name,
        only the one referenced in the circuit_config.json is considered
      794555a2
  24. Sep 30, 2022
  25. Sep 29, 2022
  26. Sep 02, 2022
  27. Jul 12, 2022
  28. Jun 30, 2022
  29. Jun 17, 2022
  30. Jun 16, 2022
  31. Jun 13, 2022
  32. Jun 03, 2022
  33. Jun 02, 2022
  34. May 31, 2022
  35. May 30, 2022
  36. May 25, 2022
  37. May 23, 2022