Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update vir simd 0.4 #404

Merged
merged 7 commits into from
Sep 26, 2024
Merged

Update vir simd 0.4 #404

merged 7 commits into from
Sep 26, 2024

Commits on Sep 24, 2024

  1. Fix qa_Converter when targeting AVX-512

    Only convert simd types that are supported by the implementation.
    
    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    bd5170b View commit details
    Browse the repository at this point in the history
  2. CMake: Improve CMAKE_BUILD_TYPE usage and docs

    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    1ff59af View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. Replace meta::simdize by vir::simdize; adjust implementation accordingly

    * Bump to vir-simd v0.4.0
    * Replace gr::meta::simdize with vir::simdize.
    * Replace gr::meta::simdize_size_v with ::size() on simdized types.
    * "Document" that vir::transform can be used, where std::transform and
    std::ranges::transform are documented.
    
    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    841aead View commit details
    Browse the repository at this point in the history
  2. Remove all offsets from processOne(_simd)

    Remove:
    - invokeProcessOneWithOrWithoutOffset
    - exact_argument_type
    - can_processOne_with_offset_invoke_test
    - can_processOne_simd_with_offset
    - can_processOne_scalar_with_offset
    - can_processOne_with_offset
    
    Modify MergedGraph apply_left, apply_right, processOne, and
    processOne_simd to not require an offset argument anymore.
    
    Modify all calls to processOne(_simd) to never pass an offset.
    
    Modify TagMonitors processOne to generateTag without offset. The
    published tag is now unconditional 0 all the time.
    
    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    79bf8c3 View commit details
    Browse the repository at this point in the history
  3. Fix non-const processOne signatures to not accept simd arguments

    Either the function is const and can work with chunks of inputs, or it
    is non-const and cannot work with chunks of input. These functions were
    none of these.
    
    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    3fd81a9 View commit details
    Browse the repository at this point in the history
  4. Non-const processOne cannot be called in a SIMD-loop

    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    db647e6 View commit details
    Browse the repository at this point in the history
  5. Make nosonar_node_api non-SIMD-only

    With `sink::processOne` being non-const the merged graphs in this
    benchmark are always non-SIMD. Consequently the processOne_simd calls
    become ill-formed and need to be removed. Thus, there's no difference
    anymore when compiling with DISABLE_SIMD and that extra benchmark
    executable can go.
    
    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
    mattkretz committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    f04a8b5 View commit details
    Browse the repository at this point in the history