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

add openmp on windows #115

Open
wants to merge 51 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 50 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
43046ee
add openmp
xoviat Jan 31, 2021
1bfdb6e
add openmp
xoviat Jan 31, 2021
e89ac97
use ninja
xoviat Jan 31, 2021
fd8f829
add ninja req
xoviat Jan 31, 2021
5a472fe
add use_openmp def
xoviat Jan 31, 2021
fd0cdd0
fixup
xoviat Jan 31, 2021
679bb61
MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.8.6, and con…
Jan 31, 2021
0967224
remove unused deps
xoviat Jan 31, 2021
16697be
Update recipe/meta.yaml
xoviat Jan 31, 2021
f8a20d3
Update win_64_USE_OPENMP1.yaml
xoviat Jan 31, 2021
e047821
Update bld.bat
xoviat Jan 31, 2021
faa61e6
add patch
xoviat Feb 1, 2021
459bee5
Rename recipe/system-cmake.patch to recipe/patches/system-cmake.patch
xoviat Feb 1, 2021
6792561
add patch
xoviat Feb 1, 2021
732710f
update patch
xoviat Feb 1, 2021
7159213
Update system-cmake.patch
xoviat Feb 1, 2021
0a6a2d1
Update system-cmake.patch
xoviat Feb 1, 2021
fc3fd2a
Update conda_build_config.yaml
xoviat Feb 4, 2021
265cb84
Update meta.yaml
xoviat Feb 4, 2021
5ce9b37
MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.8.6, and con…
Feb 4, 2021
8298fbb
Update recipe/meta.yaml
xoviat Feb 4, 2021
3e8a761
Merge remote-tracking branch 'upstream/main' into openmp
h-vetinari Mar 24, 2024
87793c8
drop obsolete patch; upstream now sets clang-specific KERNEL_DEFINITIONS
h-vetinari Mar 24, 2024
ce1dfb8
try building with newest flang
h-vetinari Mar 24, 2024
9c80c63
exit bld.bat on error
h-vetinari Mar 24, 2024
1636bbf
handle flang vs. flang-new
h-vetinari Mar 24, 2024
f3952b0
enable USE_OPENMP variants on windows
h-vetinari Mar 24, 2024
b8773e4
MNT: Re-rendered with conda-build 24.1.2, conda-smithy 3.33.0, and co…
h-vetinari Mar 24, 2024
153ce91
DEBUG: skip non-windows
h-vetinari Mar 24, 2024
8c77c04
backport patch for compat with flang 18
h-vetinari Mar 24, 2024
f6210c6
Merge remote-tracking branch 'upstream/main' into openmp
h-vetinari Apr 8, 2024
6311f08
remove obsolete patch
h-vetinari Apr 8, 2024
be5ecf8
Merge remote-tracking branch 'upstream/main' into openmp
h-vetinari Jul 8, 2024
39706d6
test with flang 19.0.0.dev0
h-vetinari Jun 27, 2024
4367020
skip extremely verbose clang warnings
h-vetinari Jun 29, 2024
2af48eb
show CPU arch of CI agent to better understand test results
h-vetinari Jun 29, 2024
0ca728c
MNT: Re-rendered with conda-build 24.5.1, conda-smithy 3.36.2, and co…
h-vetinari Jul 8, 2024
590e3ce
link OpenMP explicitly; help CMake actually find it
h-vetinari Jul 8, 2024
ea06e84
try with NO_AVX512=1 to avoid failures in `?blas3`
h-vetinari Jul 8, 2024
5004b2a
Merge remote-tracking branch 'upstream/main' into openmp
h-vetinari Aug 17, 2024
32118e6
switch to llvm_rc channel
h-vetinari Aug 17, 2024
2ddc358
MNT: Re-rendered with conda-build 24.7.1, conda-smithy 3.38.0, and co…
h-vetinari Aug 17, 2024
7dd5bf3
fix openmp dependency & track_feature
h-vetinari Aug 18, 2024
3f89aec
add flang migration
h-vetinari Oct 15, 2024
a5bfbbc
remove llvm_rc label & debug skips
h-vetinari Oct 15, 2024
a1e8d78
remove compiler pin that's taken care of by migration
h-vetinari Oct 15, 2024
29160e1
add dependency on llvm-openmp-fortran on win for `.mod` files
h-vetinari Oct 15, 2024
e15b022
MNT: Re-rendered with conda-build 24.9.0, conda-smithy 3.42.2, and co…
h-vetinari Oct 15, 2024
e28d26a
handle naming conflict between package & output
h-vetinari Oct 15, 2024
b68333d
move llvm-openmp-fortran to host
h-vetinari Oct 15, 2024
1505752
Revert "show CPU arch of CI agent to better understand test results"
h-vetinari Oct 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .azure-pipelines/azure-pipelines-osx.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions .azure-pipelines/azure-pipelines-win.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .ci_support/migrations/flang19.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
__migrator:
kind: version
migration_number: 1
build_number: 1
commit_message: Rebuild for flang 19
platform_allowlist:
- win-64
override_cbc_keys:
- fortran_compiler_stub
migrator_ts: 1722763680.3089325

fortran_compiler_version: # [win64]
- 19 # [win64]
6 changes: 3 additions & 3 deletions .ci_support/osx_64_SYMBOLSUFFIX64_name_suffix-ilp64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ USE_OPENMP:
c_compiler:
- clang
c_compiler_version:
- '16'
- '17'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
Expand All @@ -23,9 +23,9 @@ channel_targets:
fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
- '13'
llvm_openmp:
- '16'
- '17'
macos_machine:
- x86_64-apple-darwin13.4.0
name_suffix:
Expand Down
6 changes: 3 additions & 3 deletions .ci_support/osx_64_SYMBOLSUFFIXname_suffix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ USE_OPENMP:
c_compiler:
- clang
c_compiler_version:
- '16'
- '17'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
Expand All @@ -23,9 +23,9 @@ channel_targets:
fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
- '13'
llvm_openmp:
- '16'
- '17'
macos_machine:
- x86_64-apple-darwin13.4.0
name_suffix:
Expand Down
6 changes: 3 additions & 3 deletions .ci_support/osx_arm64_SYMBOLSUFFIX64_name_suffix-ilp64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ USE_OPENMP:
c_compiler:
- clang
c_compiler_version:
- '16'
- '17'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
Expand All @@ -23,9 +23,9 @@ channel_targets:
fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
- '13'
llvm_openmp:
- '16'
- '17'
macos_machine:
- arm64-apple-darwin20.0.0
name_suffix:
Expand Down
6 changes: 3 additions & 3 deletions .ci_support/osx_arm64_SYMBOLSUFFIXname_suffix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ USE_OPENMP:
c_compiler:
- clang
c_compiler_version:
- '16'
- '17'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
Expand All @@ -23,9 +23,9 @@ channel_targets:
fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
- '13'
llvm_openmp:
- '16'
- '17'
macos_machine:
- arm64-apple-darwin20.0.0
name_suffix:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ channel_targets:
fortran_compiler:
- flang
fortran_compiler_version:
- '5'
- '19'
name_suffix:
- ''
perl:
Expand Down
28 changes: 28 additions & 0 deletions .ci_support/win_64_USE_OPENMP1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
INTERFACE64:
- '0'
SYMBOLSUFFIX:
- ''
USE_OPENMP:
- '1'
c_compiler:
- vs2019
c_stdlib:
- vs
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
fortran_compiler:
- flang
fortran_compiler_version:
- '19'
name_suffix:
- ''
perl:
- 5.32.1
target_platform:
- win-64
zip_keys:
- - SYMBOLSUFFIX
- name_suffix
- INTERFACE64
6 changes: 4 additions & 2 deletions .scripts/build_steps.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .scripts/run_osx_build.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions .scripts/run_win_build.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 9 additions & 2 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 29 additions & 4 deletions azure-pipelines.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion build-locally.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -1,18 +1,38 @@
@echo on
SetLocal EnableDelayedExpansion

:: show CPU arch to detect slow CI agents early (rather than wait for 6h timeout)
python -c "import numpy; numpy.show_config()"

:: flang still uses a temporary name not recognized by CMake
copy %BUILD_PREFIX%\Library\bin\flang-new.exe %BUILD_PREFIX%\Library\bin\flang.exe

mkdir build
cd build

if "%USE_OPENMP%"=="1" (
REM https://discourse.cmake.org/t/how-to-find-openmp-with-clang-on-macos/8860
set "CMAKE_EXTRA=-DOpenMP_ROOT=%LIBRARY_LIB%"
REM not picked up by `find_package(OpenMP)` for some reason
set "CMAKE_EXTRA=-DOpenMP_Fortran_FLAGS=-fopenmp -DOpenMP_Fortran_LIB_NAMES=libomp"
)

:: millions of lines of warnings with clang-19
set "CFLAGS=%CFLAGS% -w"

cmake -G "Ninja" ^
-DCMAKE_C_COMPILER=clang-cl ^
-DCMAKE_Fortran_COMPILER=flang ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
-DDYNAMIC_ARCH=ON ^
-DBUILD_WITHOUT_LAPACK=no ^
-DNO_AVX512=1 ^
-DNOFORTRAN=0 ^
-DNUM_THREADS=128 ^
-DBUILD_SHARED_LIBS=on ^
-DUSE_OPENMP=%USE_OPENMP% ^
!CMAKE_EXTRA! ^
%SRC_DIR%
if %ERRORLEVEL% neq 0 exit 1

Expand Down
3 changes: 3 additions & 0 deletions recipe/build.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
#!/bin/bash
set -ex

# show CPU arch to detect slow CI agents early (rather than wait for 6h timeout)
python -c "import numpy; numpy.show_config()"

# Fix ctest not automatically discovering tests
LDFLAGS=$(echo "${LDFLAGS}" | sed "s/-Wl,--gc-sections//g")

Expand Down
4 changes: 2 additions & 2 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ INTERFACE64:
- 1 # [not (win or aarch64)]

USE_OPENMP:
- "0" # [win or linux]
- "1" # [osx or linux]
- "0" # [not osx]
- "1"

zip_keys:
- - SYMBOLSUFFIX
Expand Down
Loading