From e47d47b53d1cd61c774a658560cd52332646bb0c Mon Sep 17 00:00:00 2001 From: Daniel Claudino Date: Fri, 31 May 2024 15:49:18 +0000 Subject: [PATCH] Moved optimizers into quantum/plugins Signed-off-by: Daniel Claudino --- .gitmodules | 4 +- quantum/plugins/CMakeLists.txt | 1 + .../plugins/circuit_optimizers/CMakeLists.txt | 63 ++++++++++++++++++ .../OptimizersActivator.cpp | 0 .../gate_merge/GateMergeOptimizer.cpp | 0 .../gate_merge/GateMergeOptimizer.hpp | 0 .../gate_merge/tests/CMakeLists.txt | 0 .../gate_merge/tests/GateMergingTester.cpp | 0 .../NearestNeighborTransform.cpp | 0 .../NearestNeighborTransform.hpp | 0 .../lnn_transform/tests/CMakeLists.txt | 0 .../tests/NearestNeighborTransformTester.cpp | 0 .../manifest.json | 0 .../pulse/PulseTransform.cpp | 0 .../pulse/PulseTransform.hpp | 0 .../pulse/tests/CMakeLists.txt | 0 .../pulse/tests/PulseTransformTester.cpp | 0 .../qsearch/CMakeLists.txt | 0 .../qsearch/manifest.json | 0 .../qsearch/qsearch.cpp | 0 .../qsearch/qsearch.hpp | 0 .../qsearch/tests/CMakeLists.txt | 0 .../qsearch/tests/QsearchOptimizerTester.cpp | 0 .../simple/CircuitOptimizer.cpp | 0 .../simple/CircuitOptimizer.hpp | 0 .../simple/PhasePolynomialRepresentation.cpp | 0 .../simple/PhasePolynomialRepresentation.hpp | 0 .../simple/default_placement.hpp | 0 .../simple/tests/CMakeLists.txt | 0 .../simple/tests/CircuitOptimizerTester.cpp | 0 quantum/plugins/optimizers/CMakeLists.txt | 65 +------------------ .../plugins/optimizers}/mlpack/CMakeLists.txt | 0 .../plugins/optimizers}/mlpack/manifest.json | 0 .../optimizers}/mlpack/mlpack_optimizer.cpp | 0 .../optimizers}/mlpack/mlpack_optimizer.hpp | 0 .../optimizers}/mlpack/tests/CMakeLists.txt | 0 .../mlpack/tests/MLPACKOptimizerTester.cpp | 0 .../nlopt-optimizers/CMakeLists.txt | 4 +- .../nlopt-optimizers/manifest.json | 0 .../nlopt-optimizers/nlopt_optimizer.cpp | 0 .../nlopt-optimizers/nlopt_optimizer.hpp | 0 .../nlopt-optimizers/tests/CMakeLists.txt | 0 .../tests/NLOptimizerTester.cpp | 2 +- .../optimizer/nlopt-optimizers => tpls}/nlopt | 0 xacc/CMakeLists.txt | 1 - xacc/optimizer/CMakeLists.txt | 2 - 46 files changed, 71 insertions(+), 71 deletions(-) create mode 100644 quantum/plugins/circuit_optimizers/CMakeLists.txt rename quantum/plugins/{optimizers => circuit_optimizers}/OptimizersActivator.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/gate_merge/GateMergeOptimizer.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/gate_merge/GateMergeOptimizer.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/gate_merge/tests/CMakeLists.txt (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/gate_merge/tests/GateMergingTester.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/lnn_transform/NearestNeighborTransform.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/lnn_transform/NearestNeighborTransform.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/lnn_transform/tests/CMakeLists.txt (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/lnn_transform/tests/NearestNeighborTransformTester.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/manifest.json (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/pulse/PulseTransform.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/pulse/PulseTransform.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/pulse/tests/CMakeLists.txt (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/pulse/tests/PulseTransformTester.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/qsearch/CMakeLists.txt (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/qsearch/manifest.json (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/qsearch/qsearch.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/qsearch/qsearch.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/qsearch/tests/CMakeLists.txt (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/qsearch/tests/QsearchOptimizerTester.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/CircuitOptimizer.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/CircuitOptimizer.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/PhasePolynomialRepresentation.cpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/PhasePolynomialRepresentation.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/default_placement.hpp (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/tests/CMakeLists.txt (100%) rename quantum/plugins/{optimizers => circuit_optimizers}/simple/tests/CircuitOptimizerTester.cpp (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/mlpack/CMakeLists.txt (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/mlpack/manifest.json (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/mlpack/mlpack_optimizer.cpp (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/mlpack/mlpack_optimizer.hpp (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/mlpack/tests/CMakeLists.txt (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/mlpack/tests/MLPACKOptimizerTester.cpp (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/nlopt-optimizers/CMakeLists.txt (93%) rename {xacc/optimizer => quantum/plugins/optimizers}/nlopt-optimizers/manifest.json (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/nlopt-optimizers/nlopt_optimizer.cpp (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/nlopt-optimizers/nlopt_optimizer.hpp (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/nlopt-optimizers/tests/CMakeLists.txt (100%) rename {xacc/optimizer => quantum/plugins/optimizers}/nlopt-optimizers/tests/NLOptimizerTester.cpp (98%) rename {xacc/optimizer/nlopt-optimizers => tpls}/nlopt (100%) delete mode 100644 xacc/optimizer/CMakeLists.txt diff --git a/.gitmodules b/.gitmodules index 0112cbde7..69b9dd425 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,8 +10,8 @@ [submodule "quantum/plugins/dwave/embedding/minorminer"] path = quantum/plugins/dwave/embedding/minorminer url = https://github.com/dwavesystems/minorminer -[submodule "xacc/optimizer/nlopt-optimizers/nlopt"] - path = xacc/optimizer/nlopt-optimizers/nlopt +[submodule "tpls/nlopt"] + path = tpls/nlopt url = https://github.com/stevengj/nlopt [submodule "quantum/plugins/dwave/tpls/legacy-sapi-clients"] path = quantum/plugins/dwave/tpls/legacy-sapi-clients diff --git a/quantum/plugins/CMakeLists.txt b/quantum/plugins/CMakeLists.txt index 38701ba1f..c837b148d 100644 --- a/quantum/plugins/CMakeLists.txt +++ b/quantum/plugins/CMakeLists.txt @@ -17,6 +17,7 @@ add_subdirectory(algorithms) add_subdirectory(decorators) add_subdirectory(circuits) add_subdirectory(optimizers) +add_subdirectory(circuit_optimizers) add_subdirectory(iontrap) add_subdirectory(ionq) add_subdirectory(placement) diff --git a/quantum/plugins/circuit_optimizers/CMakeLists.txt b/quantum/plugins/circuit_optimizers/CMakeLists.txt new file mode 100644 index 000000000..95a2555dc --- /dev/null +++ b/quantum/plugins/circuit_optimizers/CMakeLists.txt @@ -0,0 +1,63 @@ +# ******************************************************************************* +# Copyright (c) 2019 UT-Battelle, LLC. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v.10 which accompany this distribution. +# The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# https://eclipse.org/org/documents/edl-v10.php +# +# Contributors: +# Alexander J. McCaskey - initial API and implementation +# *******************************************************************************/ +set (LIBRARY_NAME xacc-circuit-optimizers) + +file (GLOB_RECURSE HEADERS *.hpp) +file (GLOB SRC simple/*.cpp OptimizersActivator.cpp pulse/*.cpp gate_merge/*.cpp lnn_transform/*.cpp) + +# Set up dependencies to resources to track changes +usFunctionGetResourceSource(TARGET ${LIBRARY_NAME} OUT SRC) +# Generate bundle initialization code +usFunctionGenerateBundleInit(TARGET ${LIBRARY_NAME} OUT SRC) + +add_library(${LIBRARY_NAME} SHARED ${SRC}) + +set(_bundle_name xacc_circuit_optimizers) + +set_target_properties(${LIBRARY_NAME} PROPERTIES + # This is required for every bundle + COMPILE_DEFINITIONS US_BUNDLE_NAME=${_bundle_name} + # This is for convenience, used by other CMake functions + US_BUNDLE_NAME ${_bundle_name} + ) + +# Embed meta-data from a manifest.json file +usFunctionEmbedResources(TARGET ${LIBRARY_NAME} + WORKING_DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR} + FILES + manifest.json + ) + +target_include_directories(${LIBRARY_NAME} PUBLIC simple pulse gate_merge lnn_transform ${EIGEN_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/tpls/exprtk) +target_link_libraries(${LIBRARY_NAME} xacc xacc-quantum-gate) + +if(APPLE) + set_target_properties(${LIBRARY_NAME} PROPERTIES INSTALL_RPATH "@loader_path/../lib;@loader_path") + set_target_properties(${LIBRARY_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") +else() + set_target_properties(${LIBRARY_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/../lib:$ORIGIN") + set_target_properties(${LIBRARY_NAME} PROPERTIES LINK_FLAGS "-shared") +endif() + +install(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/plugins) + +# Gather tests +if(XACC_BUILD_TESTS) + add_subdirectory(simple/tests) + add_subdirectory(pulse/tests) + add_subdirectory(gate_merge/tests) + add_subdirectory(lnn_transform/tests) +endif() + +add_subdirectory(qsearch) \ No newline at end of file diff --git a/quantum/plugins/optimizers/OptimizersActivator.cpp b/quantum/plugins/circuit_optimizers/OptimizersActivator.cpp similarity index 100% rename from quantum/plugins/optimizers/OptimizersActivator.cpp rename to quantum/plugins/circuit_optimizers/OptimizersActivator.cpp diff --git a/quantum/plugins/optimizers/gate_merge/GateMergeOptimizer.cpp b/quantum/plugins/circuit_optimizers/gate_merge/GateMergeOptimizer.cpp similarity index 100% rename from quantum/plugins/optimizers/gate_merge/GateMergeOptimizer.cpp rename to quantum/plugins/circuit_optimizers/gate_merge/GateMergeOptimizer.cpp diff --git a/quantum/plugins/optimizers/gate_merge/GateMergeOptimizer.hpp b/quantum/plugins/circuit_optimizers/gate_merge/GateMergeOptimizer.hpp similarity index 100% rename from quantum/plugins/optimizers/gate_merge/GateMergeOptimizer.hpp rename to quantum/plugins/circuit_optimizers/gate_merge/GateMergeOptimizer.hpp diff --git a/quantum/plugins/optimizers/gate_merge/tests/CMakeLists.txt b/quantum/plugins/circuit_optimizers/gate_merge/tests/CMakeLists.txt similarity index 100% rename from quantum/plugins/optimizers/gate_merge/tests/CMakeLists.txt rename to quantum/plugins/circuit_optimizers/gate_merge/tests/CMakeLists.txt diff --git a/quantum/plugins/optimizers/gate_merge/tests/GateMergingTester.cpp b/quantum/plugins/circuit_optimizers/gate_merge/tests/GateMergingTester.cpp similarity index 100% rename from quantum/plugins/optimizers/gate_merge/tests/GateMergingTester.cpp rename to quantum/plugins/circuit_optimizers/gate_merge/tests/GateMergingTester.cpp diff --git a/quantum/plugins/optimizers/lnn_transform/NearestNeighborTransform.cpp b/quantum/plugins/circuit_optimizers/lnn_transform/NearestNeighborTransform.cpp similarity index 100% rename from quantum/plugins/optimizers/lnn_transform/NearestNeighborTransform.cpp rename to quantum/plugins/circuit_optimizers/lnn_transform/NearestNeighborTransform.cpp diff --git a/quantum/plugins/optimizers/lnn_transform/NearestNeighborTransform.hpp b/quantum/plugins/circuit_optimizers/lnn_transform/NearestNeighborTransform.hpp similarity index 100% rename from quantum/plugins/optimizers/lnn_transform/NearestNeighborTransform.hpp rename to quantum/plugins/circuit_optimizers/lnn_transform/NearestNeighborTransform.hpp diff --git a/quantum/plugins/optimizers/lnn_transform/tests/CMakeLists.txt b/quantum/plugins/circuit_optimizers/lnn_transform/tests/CMakeLists.txt similarity index 100% rename from quantum/plugins/optimizers/lnn_transform/tests/CMakeLists.txt rename to quantum/plugins/circuit_optimizers/lnn_transform/tests/CMakeLists.txt diff --git a/quantum/plugins/optimizers/lnn_transform/tests/NearestNeighborTransformTester.cpp b/quantum/plugins/circuit_optimizers/lnn_transform/tests/NearestNeighborTransformTester.cpp similarity index 100% rename from quantum/plugins/optimizers/lnn_transform/tests/NearestNeighborTransformTester.cpp rename to quantum/plugins/circuit_optimizers/lnn_transform/tests/NearestNeighborTransformTester.cpp diff --git a/quantum/plugins/optimizers/manifest.json b/quantum/plugins/circuit_optimizers/manifest.json similarity index 100% rename from quantum/plugins/optimizers/manifest.json rename to quantum/plugins/circuit_optimizers/manifest.json diff --git a/quantum/plugins/optimizers/pulse/PulseTransform.cpp b/quantum/plugins/circuit_optimizers/pulse/PulseTransform.cpp similarity index 100% rename from quantum/plugins/optimizers/pulse/PulseTransform.cpp rename to quantum/plugins/circuit_optimizers/pulse/PulseTransform.cpp diff --git a/quantum/plugins/optimizers/pulse/PulseTransform.hpp b/quantum/plugins/circuit_optimizers/pulse/PulseTransform.hpp similarity index 100% rename from quantum/plugins/optimizers/pulse/PulseTransform.hpp rename to quantum/plugins/circuit_optimizers/pulse/PulseTransform.hpp diff --git a/quantum/plugins/optimizers/pulse/tests/CMakeLists.txt b/quantum/plugins/circuit_optimizers/pulse/tests/CMakeLists.txt similarity index 100% rename from quantum/plugins/optimizers/pulse/tests/CMakeLists.txt rename to quantum/plugins/circuit_optimizers/pulse/tests/CMakeLists.txt diff --git a/quantum/plugins/optimizers/pulse/tests/PulseTransformTester.cpp b/quantum/plugins/circuit_optimizers/pulse/tests/PulseTransformTester.cpp similarity index 100% rename from quantum/plugins/optimizers/pulse/tests/PulseTransformTester.cpp rename to quantum/plugins/circuit_optimizers/pulse/tests/PulseTransformTester.cpp diff --git a/quantum/plugins/optimizers/qsearch/CMakeLists.txt b/quantum/plugins/circuit_optimizers/qsearch/CMakeLists.txt similarity index 100% rename from quantum/plugins/optimizers/qsearch/CMakeLists.txt rename to quantum/plugins/circuit_optimizers/qsearch/CMakeLists.txt diff --git a/quantum/plugins/optimizers/qsearch/manifest.json b/quantum/plugins/circuit_optimizers/qsearch/manifest.json similarity index 100% rename from quantum/plugins/optimizers/qsearch/manifest.json rename to quantum/plugins/circuit_optimizers/qsearch/manifest.json diff --git a/quantum/plugins/optimizers/qsearch/qsearch.cpp b/quantum/plugins/circuit_optimizers/qsearch/qsearch.cpp similarity index 100% rename from quantum/plugins/optimizers/qsearch/qsearch.cpp rename to quantum/plugins/circuit_optimizers/qsearch/qsearch.cpp diff --git a/quantum/plugins/optimizers/qsearch/qsearch.hpp b/quantum/plugins/circuit_optimizers/qsearch/qsearch.hpp similarity index 100% rename from quantum/plugins/optimizers/qsearch/qsearch.hpp rename to quantum/plugins/circuit_optimizers/qsearch/qsearch.hpp diff --git a/quantum/plugins/optimizers/qsearch/tests/CMakeLists.txt b/quantum/plugins/circuit_optimizers/qsearch/tests/CMakeLists.txt similarity index 100% rename from quantum/plugins/optimizers/qsearch/tests/CMakeLists.txt rename to quantum/plugins/circuit_optimizers/qsearch/tests/CMakeLists.txt diff --git a/quantum/plugins/optimizers/qsearch/tests/QsearchOptimizerTester.cpp b/quantum/plugins/circuit_optimizers/qsearch/tests/QsearchOptimizerTester.cpp similarity index 100% rename from quantum/plugins/optimizers/qsearch/tests/QsearchOptimizerTester.cpp rename to quantum/plugins/circuit_optimizers/qsearch/tests/QsearchOptimizerTester.cpp diff --git a/quantum/plugins/optimizers/simple/CircuitOptimizer.cpp b/quantum/plugins/circuit_optimizers/simple/CircuitOptimizer.cpp similarity index 100% rename from quantum/plugins/optimizers/simple/CircuitOptimizer.cpp rename to quantum/plugins/circuit_optimizers/simple/CircuitOptimizer.cpp diff --git a/quantum/plugins/optimizers/simple/CircuitOptimizer.hpp b/quantum/plugins/circuit_optimizers/simple/CircuitOptimizer.hpp similarity index 100% rename from quantum/plugins/optimizers/simple/CircuitOptimizer.hpp rename to quantum/plugins/circuit_optimizers/simple/CircuitOptimizer.hpp diff --git a/quantum/plugins/optimizers/simple/PhasePolynomialRepresentation.cpp b/quantum/plugins/circuit_optimizers/simple/PhasePolynomialRepresentation.cpp similarity index 100% rename from quantum/plugins/optimizers/simple/PhasePolynomialRepresentation.cpp rename to quantum/plugins/circuit_optimizers/simple/PhasePolynomialRepresentation.cpp diff --git a/quantum/plugins/optimizers/simple/PhasePolynomialRepresentation.hpp b/quantum/plugins/circuit_optimizers/simple/PhasePolynomialRepresentation.hpp similarity index 100% rename from quantum/plugins/optimizers/simple/PhasePolynomialRepresentation.hpp rename to quantum/plugins/circuit_optimizers/simple/PhasePolynomialRepresentation.hpp diff --git a/quantum/plugins/optimizers/simple/default_placement.hpp b/quantum/plugins/circuit_optimizers/simple/default_placement.hpp similarity index 100% rename from quantum/plugins/optimizers/simple/default_placement.hpp rename to quantum/plugins/circuit_optimizers/simple/default_placement.hpp diff --git a/quantum/plugins/optimizers/simple/tests/CMakeLists.txt b/quantum/plugins/circuit_optimizers/simple/tests/CMakeLists.txt similarity index 100% rename from quantum/plugins/optimizers/simple/tests/CMakeLists.txt rename to quantum/plugins/circuit_optimizers/simple/tests/CMakeLists.txt diff --git a/quantum/plugins/optimizers/simple/tests/CircuitOptimizerTester.cpp b/quantum/plugins/circuit_optimizers/simple/tests/CircuitOptimizerTester.cpp similarity index 100% rename from quantum/plugins/optimizers/simple/tests/CircuitOptimizerTester.cpp rename to quantum/plugins/circuit_optimizers/simple/tests/CircuitOptimizerTester.cpp diff --git a/quantum/plugins/optimizers/CMakeLists.txt b/quantum/plugins/optimizers/CMakeLists.txt index 95a2555dc..d764e5c20 100644 --- a/quantum/plugins/optimizers/CMakeLists.txt +++ b/quantum/plugins/optimizers/CMakeLists.txt @@ -1,63 +1,2 @@ -# ******************************************************************************* -# Copyright (c) 2019 UT-Battelle, LLC. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# and Eclipse Distribution License v.10 which accompany this distribution. -# The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html -# and the Eclipse Distribution License is available at -# https://eclipse.org/org/documents/edl-v10.php -# -# Contributors: -# Alexander J. McCaskey - initial API and implementation -# *******************************************************************************/ -set (LIBRARY_NAME xacc-circuit-optimizers) - -file (GLOB_RECURSE HEADERS *.hpp) -file (GLOB SRC simple/*.cpp OptimizersActivator.cpp pulse/*.cpp gate_merge/*.cpp lnn_transform/*.cpp) - -# Set up dependencies to resources to track changes -usFunctionGetResourceSource(TARGET ${LIBRARY_NAME} OUT SRC) -# Generate bundle initialization code -usFunctionGenerateBundleInit(TARGET ${LIBRARY_NAME} OUT SRC) - -add_library(${LIBRARY_NAME} SHARED ${SRC}) - -set(_bundle_name xacc_circuit_optimizers) - -set_target_properties(${LIBRARY_NAME} PROPERTIES - # This is required for every bundle - COMPILE_DEFINITIONS US_BUNDLE_NAME=${_bundle_name} - # This is for convenience, used by other CMake functions - US_BUNDLE_NAME ${_bundle_name} - ) - -# Embed meta-data from a manifest.json file -usFunctionEmbedResources(TARGET ${LIBRARY_NAME} - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR} - FILES - manifest.json - ) - -target_include_directories(${LIBRARY_NAME} PUBLIC simple pulse gate_merge lnn_transform ${EIGEN_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/tpls/exprtk) -target_link_libraries(${LIBRARY_NAME} xacc xacc-quantum-gate) - -if(APPLE) - set_target_properties(${LIBRARY_NAME} PROPERTIES INSTALL_RPATH "@loader_path/../lib;@loader_path") - set_target_properties(${LIBRARY_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") -else() - set_target_properties(${LIBRARY_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/../lib:$ORIGIN") - set_target_properties(${LIBRARY_NAME} PROPERTIES LINK_FLAGS "-shared") -endif() - -install(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/plugins) - -# Gather tests -if(XACC_BUILD_TESTS) - add_subdirectory(simple/tests) - add_subdirectory(pulse/tests) - add_subdirectory(gate_merge/tests) - add_subdirectory(lnn_transform/tests) -endif() - -add_subdirectory(qsearch) \ No newline at end of file +add_subdirectory(nlopt-optimizers) +add_subdirectory(mlpack) \ No newline at end of file diff --git a/xacc/optimizer/mlpack/CMakeLists.txt b/quantum/plugins/optimizers/mlpack/CMakeLists.txt similarity index 100% rename from xacc/optimizer/mlpack/CMakeLists.txt rename to quantum/plugins/optimizers/mlpack/CMakeLists.txt diff --git a/xacc/optimizer/mlpack/manifest.json b/quantum/plugins/optimizers/mlpack/manifest.json similarity index 100% rename from xacc/optimizer/mlpack/manifest.json rename to quantum/plugins/optimizers/mlpack/manifest.json diff --git a/xacc/optimizer/mlpack/mlpack_optimizer.cpp b/quantum/plugins/optimizers/mlpack/mlpack_optimizer.cpp similarity index 100% rename from xacc/optimizer/mlpack/mlpack_optimizer.cpp rename to quantum/plugins/optimizers/mlpack/mlpack_optimizer.cpp diff --git a/xacc/optimizer/mlpack/mlpack_optimizer.hpp b/quantum/plugins/optimizers/mlpack/mlpack_optimizer.hpp similarity index 100% rename from xacc/optimizer/mlpack/mlpack_optimizer.hpp rename to quantum/plugins/optimizers/mlpack/mlpack_optimizer.hpp diff --git a/xacc/optimizer/mlpack/tests/CMakeLists.txt b/quantum/plugins/optimizers/mlpack/tests/CMakeLists.txt similarity index 100% rename from xacc/optimizer/mlpack/tests/CMakeLists.txt rename to quantum/plugins/optimizers/mlpack/tests/CMakeLists.txt diff --git a/xacc/optimizer/mlpack/tests/MLPACKOptimizerTester.cpp b/quantum/plugins/optimizers/mlpack/tests/MLPACKOptimizerTester.cpp similarity index 100% rename from xacc/optimizer/mlpack/tests/MLPACKOptimizerTester.cpp rename to quantum/plugins/optimizers/mlpack/tests/MLPACKOptimizerTester.cpp diff --git a/xacc/optimizer/nlopt-optimizers/CMakeLists.txt b/quantum/plugins/optimizers/nlopt-optimizers/CMakeLists.txt similarity index 93% rename from xacc/optimizer/nlopt-optimizers/CMakeLists.txt rename to quantum/plugins/optimizers/nlopt-optimizers/CMakeLists.txt index 6cdbadc8c..e1c56ae54 100644 --- a/xacc/optimizer/nlopt-optimizers/CMakeLists.txt +++ b/quantum/plugins/optimizers/nlopt-optimizers/CMakeLists.txt @@ -9,7 +9,7 @@ SET(NLOPT_SWIG OFF CACHE BOOL "") set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings") endif() set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) -add_subdirectory(nlopt) +add_subdirectory(${CMAKE_SOURCE_DIR}/tpls/nlopt ${CMAKE_BINARY_DIR}/tpls/nlopt) set(LIBRARY_NAME xacc-optimizer-nlopt) @@ -22,7 +22,7 @@ add_library(${LIBRARY_NAME} SHARED ${SRC}) target_include_directories( ${LIBRARY_NAME} - PUBLIC . .. ${CMAKE_BUILD_DIR}/xacc/optimizer/nlopt-optimizers/nlopt/src/api) + PUBLIC . .. ${CMAKE_SOURCE_DIR}/tpls/nlopt/src/api) target_link_libraries(${LIBRARY_NAME} PUBLIC nlopt xacc CppMicroServices) diff --git a/xacc/optimizer/nlopt-optimizers/manifest.json b/quantum/plugins/optimizers/nlopt-optimizers/manifest.json similarity index 100% rename from xacc/optimizer/nlopt-optimizers/manifest.json rename to quantum/plugins/optimizers/nlopt-optimizers/manifest.json diff --git a/xacc/optimizer/nlopt-optimizers/nlopt_optimizer.cpp b/quantum/plugins/optimizers/nlopt-optimizers/nlopt_optimizer.cpp similarity index 100% rename from xacc/optimizer/nlopt-optimizers/nlopt_optimizer.cpp rename to quantum/plugins/optimizers/nlopt-optimizers/nlopt_optimizer.cpp diff --git a/xacc/optimizer/nlopt-optimizers/nlopt_optimizer.hpp b/quantum/plugins/optimizers/nlopt-optimizers/nlopt_optimizer.hpp similarity index 100% rename from xacc/optimizer/nlopt-optimizers/nlopt_optimizer.hpp rename to quantum/plugins/optimizers/nlopt-optimizers/nlopt_optimizer.hpp diff --git a/xacc/optimizer/nlopt-optimizers/tests/CMakeLists.txt b/quantum/plugins/optimizers/nlopt-optimizers/tests/CMakeLists.txt similarity index 100% rename from xacc/optimizer/nlopt-optimizers/tests/CMakeLists.txt rename to quantum/plugins/optimizers/nlopt-optimizers/tests/CMakeLists.txt diff --git a/xacc/optimizer/nlopt-optimizers/tests/NLOptimizerTester.cpp b/quantum/plugins/optimizers/nlopt-optimizers/tests/NLOptimizerTester.cpp similarity index 98% rename from xacc/optimizer/nlopt-optimizers/tests/NLOptimizerTester.cpp rename to quantum/plugins/optimizers/nlopt-optimizers/tests/NLOptimizerTester.cpp index 4560b2f47..e7578d95c 100644 --- a/xacc/optimizer/nlopt-optimizers/tests/NLOptimizerTester.cpp +++ b/quantum/plugins/optimizers/nlopt-optimizers/tests/NLOptimizerTester.cpp @@ -1,7 +1,7 @@ #include #include "xacc.hpp" #include "xacc_service.hpp" -#include "nlopt_optimizer.hpp" +//#include "nlopt_optimizer.hpp" using namespace xacc; diff --git a/xacc/optimizer/nlopt-optimizers/nlopt b/tpls/nlopt similarity index 100% rename from xacc/optimizer/nlopt-optimizers/nlopt rename to tpls/nlopt diff --git a/xacc/CMakeLists.txt b/xacc/CMakeLists.txt index 6c9f1bc7d..40f827085 100644 --- a/xacc/CMakeLists.txt +++ b/xacc/CMakeLists.txt @@ -151,7 +151,6 @@ endif() install(FILES ${HEADERS} DESTINATION include/xacc) install(TARGETS xacc DESTINATION lib) -add_subdirectory(optimizer) add_subdirectory(utils/exprtk_parsing) add_subdirectory(ir/graph-impl) add_subdirectory(utils/ini_config_parsing) diff --git a/xacc/optimizer/CMakeLists.txt b/xacc/optimizer/CMakeLists.txt deleted file mode 100644 index d764e5c20..000000000 --- a/xacc/optimizer/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -add_subdirectory(nlopt-optimizers) -add_subdirectory(mlpack) \ No newline at end of file