Skip to content

Commit

Permalink
Rely on 'find_package(OpenMP REQUIRED)' to set -fopenmp
Browse files Browse the repository at this point in the history
  • Loading branch information
basnijholt committed Nov 27, 2023
1 parent b605cad commit 3ac3bcb
Show file tree
Hide file tree
Showing 10 changed files with 32 additions and 26 deletions.
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ endif(APPLE)
# Set the project name and language
if(APPLE)
project(qsim LANGUAGES CXX)
find_package(OpenMP REQUIRED) # Automatically happens for Linux
else()
execute_process(COMMAND which nvcc OUTPUT_VARIABLE has_nvcc OUTPUT_STRIP_TRAILING_WHITESPACE)
if(has_nvcc)
Expand All @@ -31,6 +30,8 @@ else()
endif()
endif()

find_package(OpenMP REQUIRED)

# Add subdirectories based on the architecture or available compilers
ADD_SUBDIRECTORY(pybind_interface/basic)
ADD_SUBDIRECTORY(pybind_interface/decide)
Expand Down
2 changes: 1 addition & 1 deletion pybind_interface/avx2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ project(qsim)
IF (WIN32)
set(CMAKE_CXX_FLAGS "/arch:AVX2 /O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-mavx2 -mfma -O3 -fopenmp")
set(CMAKE_CXX_FLAGS "-mavx2 -mfma -O3")
ENDIF()

if(APPLE)
Expand Down
2 changes: 1 addition & 1 deletion pybind_interface/avx512/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ project(qsim)
IF (WIN32)
set(CMAKE_CXX_FLAGS "/arch:AVX512 /O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-mavx512f -mbmi2 -O3 -fopenmp")
set(CMAKE_CXX_FLAGS "-mavx512f -mbmi2 -O3")
ENDIF()

if(APPLE)
Expand Down
8 changes: 4 additions & 4 deletions pybind_interface/basic/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
cmake_minimum_required(VERSION 3.11)
project(qsim)

IF (WIN32)
if(WIN32)
set(CMAKE_CXX_FLAGS "/O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-O3 -fopenmp")
ENDIF()
elseif(NOT APPLE)
set(CMAKE_CXX_FLAGS "-O3")
endif()


if(APPLE)
Expand Down
8 changes: 4 additions & 4 deletions pybind_interface/cuda/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
cmake_minimum_required(VERSION 3.11)
project(qsim LANGUAGES CXX CUDA)

IF (WIN32)
if(WIN32)
set(CMAKE_CXX_FLAGS "/O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-O3 -fopenmp")
ENDIF()
elseif(NOT APPLE)
set(CMAKE_CXX_FLAGS "-O3")
endif()


if(APPLE)
Expand Down
8 changes: 4 additions & 4 deletions pybind_interface/custatevec/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
cmake_minimum_required(VERSION 3.11)
project(qsim LANGUAGES CXX CUDA)

IF (WIN32)
if(WIN32)
set(CMAKE_CXX_FLAGS "/O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-O3 -fopenmp")
ENDIF()
elseif(NOT APPLE)
set(CMAKE_CXX_FLAGS "-O3")
endif()

if(APPLE)
set(CMAKE_CXX_STANDARD 14)
Expand Down
4 changes: 2 additions & 2 deletions pybind_interface/decide/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.11)

if(WIN32)
set(CMAKE_CXX_FLAGS "/O2 /openmp")
else()
set(CMAKE_CXX_FLAGS "-O3 -fopenmp")
elseif(NOT APPLE)
set(CMAKE_CXX_FLAGS "-O3")
endif()

if(APPLE AND NOT APPLE_ARM)
Expand Down
8 changes: 4 additions & 4 deletions pybind_interface/hip/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
cmake_minimum_required(VERSION 3.18)
project(qsim LANGUAGES CXX HIP)

IF (WIN32)
if(WIN32)
set(CMAKE_CXX_FLAGS "/O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-O3 -fopenmp")
ENDIF()
elseif(NOT APPLE)
set(CMAKE_CXX_FLAGS "-O3")
endif()

INCLUDE(../GetPybind11.cmake)
find_package(PythonLibs 3.7 REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion pybind_interface/sse/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ project(qsim)
IF (WIN32)
set(CMAKE_CXX_FLAGS "/O2 /openmp")
ELSE()
set(CMAKE_CXX_FLAGS "-msse4.1 -O3 -fopenmp")
set(CMAKE_CXX_FLAGS "-msse4.1 -O3")
ENDIF()


Expand Down
13 changes: 9 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,14 @@ def build_extension(self, ext):
subprocess.check_call(
["cmake", ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env
)
subprocess.check_call(
["cmake", "--build", "."] + build_args, cwd=self.build_temp
)
try:
subprocess.check_call(
["cmake", "--build", "."] + build_args, cwd=self.build_temp
)
except subprocess.CalledProcessError as e:
shutil.rmtree("build_cp")
shutil.copytree(self.build_temp, "build_cp")
raise


requirements = open("requirements.txt").readlines()
Expand All @@ -114,7 +119,7 @@ def build_extension(self, ext):
url="https://github.com/quantumlib/qsim",
author="Vamsi Krishna Devabathini",
author_email="[email protected]",
python_requires=">=3.7.0,<3.12.0",
python_requires=">=3.7.0",
install_requires=requirements,
extras_require={
"dev": dev_requirements,
Expand Down

0 comments on commit 3ac3bcb

Please sign in to comment.