From 8a645b2ba0ce84611927e553c0be72ebafdc341b Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 24 Mar 2025 14:54:05 -0300 Subject: [PATCH 1/3] Actually test with 2 threads --- .github/workflows/CI-CPU.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI-CPU.yml b/.github/workflows/CI-CPU.yml index 4efc362..e163592 100644 --- a/.github/workflows/CI-CPU.yml +++ b/.github/workflows/CI-CPU.yml @@ -49,6 +49,8 @@ jobs: - uses: julia-actions/cache@v2 - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 + env: + JULIA_NUM_THREADS: ${{ matrix.env.JULIA_NUM_THREADS }} docs: name: Documentation runs-on: ubuntu-latest @@ -58,4 +60,4 @@ jobs: - uses: julia-actions/julia-docdeploy@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} \ No newline at end of file + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} From f58f7bbc311b348f552d7f80fff3269aaa430ed5 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 24 Mar 2025 14:55:02 -0300 Subject: [PATCH 2/3] only macos-13 runners support macos x64 and officially test macos aarch64 --- .github/workflows/CI-CPU.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/CI-CPU.yml b/.github/workflows/CI-CPU.yml index e163592..a9848a3 100644 --- a/.github/workflows/CI-CPU.yml +++ b/.github/workflows/CI-CPU.yml @@ -31,15 +31,27 @@ jobs: - ubuntu-latest - macOS-latest - windows-latest + - macOS-13 arch: - x64 - x86 + - aarch64 env: - JULIA_NUM_THREADS: 1 - JULIA_NUM_THREADS: 2 exclude: + - os: macOS-13 + arch: x86 + - os: macOS-13 + arch: aarch64 - os: macOS-latest arch: x86 + - os: macOS-latest + arch: x64 + - os: ubuntu-latest + arch: aarch64 + - os: windows-latest + arch: aarch64 steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2 From 6b2e348f3dba25a79003eaf731beb29d22df40e4 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 24 Mar 2025 18:17:41 -0300 Subject: [PATCH 3/3] Fix multi-thread CPU mapreduce --- src/reduce/reduce.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/reduce/reduce.jl b/src/reduce/reduce.jl index 88e535b..06d775b 100644 --- a/src/reduce/reduce.jl +++ b/src/reduce/reduce.jl @@ -274,12 +274,12 @@ function _mapreduce_impl( if num_tasks <= 1 return Base.mapreduce(f, op, src; init=init) end - return OMT.tmapreduce( - f, op, src, init=init, + return op(init, OMT.tmapreduce( + f, op, src; init=neutral, scheduler=scheduler, outputtype=typeof(init), nchunks=num_tasks, - ) + )) else # FIXME: waiting on OhMyThreads.jl for n-dimensional reduction return Base.mapreduce(f, op, src; init=init, dims=dims)