diff --git a/.gitignore b/.gitignore index cdb47dd9..02b9d3b3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,13 @@ astra-sim-alibabacloud/build/simai_analytical/build/ test/log/ *.log .cur* + +# for vscode +*.idea + +# for clion +cmake-build-*/ + +# output +results/ +bin/ diff --git a/astra-sim-alibabacloud/build/astra_ns3/CMakeLists.txt b/astra-sim-alibabacloud/build/astra_ns3/CMakeLists.txt deleted file mode 100644 index 90340392..00000000 --- a/astra-sim-alibabacloud/build/astra_ns3/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -# CMake requirement -cmake_minimum_required(VERSION 3.15) - -# C++ requirement -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED True) -add_definitions("-Wall -g") -SET(CMAKE_BUILD_TYPE "Debug") - -# Compiler requirement -if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.3) - message(FATAL_ERROR "g++ (GNU) version should be greater than 5.3, but found ${CMAKE_CXX_COMPILER_VERSION}") - endif() -endif() - - -# Setup project -project(AstraSimNetwork) diff --git a/astra-sim-alibabacloud/build/astra_ns3/build.sh b/astra-sim-alibabacloud/build/astra_ns3/build.sh index 9f69e5cd..b874bc9e 100755 --- a/astra-sim-alibabacloud/build/astra_ns3/build.sh +++ b/astra-sim-alibabacloud/build/astra_ns3/build.sh @@ -8,7 +8,7 @@ echo $SCRIPT_DIR GEM5_DIR="${SCRIPT_DIR:?}"/../../extern/network_backend/garnet/gem5_astra/ ASTRA_SIM_DIR="${SCRIPT_DIR:?}"/../../astra-sim INPUT_DIR="${SCRIPT_DIR:?}"/../../inputs -NS3_DIR="${SCRIPT_DIR:?}"/../../extern/network_backend/ns3-interface +NS3_DIR="${SCRIPT_DIR:?}"/../../../ns-3-alibabacloud NS3_APPLICATION="${NS3_DIR:?}"/simulation/src/applications/ SIM_LOG_DIR=/etc/astra-sim BUILD_DIR="${SCRIPT_DIR:?}"/build/ @@ -35,34 +35,26 @@ function cleanup_result { rm -rf "${RESULT_DIR}" } -function compile_astrasim { - cd "${BUILD_DIR}" || exit - cmake .. - make -} - function compile { # Only compile & Run the AstraSimNetwork ns3program if [ ! -f '"${INPUT_DIR}"/inputs/config/SimAI.conf' ]; then echo ""${INPUT_DIR}"/config/SimAI.conf is not exist" cp "${INPUT_DIR}"/config/SimAI.conf "${SIM_LOG_DIR}"/config/SimAI.conf fi - cp "${ASTRA_SIM_DIR}"/network_frontend/ns3/AstraSimNetwork.cc "${NS3_DIR}"/simulation/scratch/ - cp "${ASTRA_SIM_DIR}"/network_frontend/ns3/*.h "${NS3_DIR}"/simulation/scratch/ - rm -rf "${NS3_APPLICATION}"/astra-sim - cp -r "${ASTRA_SIM_DIR}" "${NS3_APPLICATION}"/ cd "${NS3_DIR}/simulation" # CC='gcc-4.9' CXX='g++-4.9' - CC='gcc' CXX='g++' - ./ns3 configure -d debug --enable-mtp - ./ns3 build - + CC='gcc' CXX='g++' + mkdir build + cd build + cmake .. + make -j12 AstraSimNetworkNs3 cd "${SCRIPT_DIR:?}" } +# this cannot work; should use cmake to debug, neither waf nor ns3 function debug { - cp "${ASTRA_SIM_DIR}"/network_frontend/ns3/AstraSimNetwork.cc "${NS3_DIR}"/simulation/scratch/ - cp "${ASTRA_SIM_DIR}"/network_frontend/ns3/*.h "${NS3_DIR}"/simulation/scratch/ +# cp "${ASTRA_SIM_DIR}"/network_frontend/ns3/AstraSimNetwork.cc "${NS3_DIR}"/simulation/scratch/ +# cp "${ASTRA_SIM_DIR}"/network_frontend/ns3/*.h "${NS3_DIR}"/simulation/scratch/ cd "${NS3_DIR}/simulation" CC='gcc-4.9' CXX='g++-4.9' ./waf configure @@ -82,10 +74,9 @@ case "$1" in cleanup_result;; -d|--debug) setup - debug;; + debug;; # todo: remove? -c|--compile) setup - compile_astrasim compile;; -r|--run) setup diff --git a/ns-3-alibabacloud b/ns-3-alibabacloud index 781b7d80..6825e1e8 160000 --- a/ns-3-alibabacloud +++ b/ns-3-alibabacloud @@ -1 +1 @@ -Subproject commit 781b7d804736bdbbc184254636d6a3c8cfea9ab4 +Subproject commit 6825e1e8f706de2bd96cebcbccae964d97fc0484 diff --git a/scripts/build.sh b/scripts/build.sh index 6910c1a8..ad13faae 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -2,7 +2,7 @@ SCRIPT_DIR=$(dirname "$(realpath $0)") ROOT_DIR=$(realpath "${SCRIPT_DIR:?}"/..) NS3_DIR="${ROOT_DIR:?}"/ns-3-alibabacloud SIMAI_DIR="${ROOT_DIR:?}"/astra-sim-alibabacloud -SOURCE_NS3_BIN_DIR="${SIMAI_DIR:?}"/extern/network_backend/ns3-interface/simulation/build/scratch/ns3.36.1-AstraSimNetwork-debug +SOURCE_NS3_BIN_DIR="${ROOT_DIR:?}"/ns-3-alibabacloud/simulation/build/AstraSimNetworkNs3 SOURCE_ANA_BIN_DIR="${SIMAI_DIR:?}"/build/simai_analytical/build/simai_analytical/SimAI_analytical SOURCE_PHY_BIN_DIR="${SIMAI_DIR:?}"/build/simai_phy/build/simai_phynet/SimAI_phynet @@ -12,9 +12,9 @@ function compile { case "$option" in "ns3") mkdir -p "${TARGET_BIN_DIR:?}" - rm -rf "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface/ - mkdir -p "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface - cp -r "${NS3_DIR:?}"/* "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface +# rm -rf "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface/ +# mkdir -p "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface +# cp -r "${NS3_DIR:?}"/* "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface cd "${SIMAI_DIR:?}" ./build.sh -lr ns3 ./build.sh -c ns3 @@ -40,7 +40,7 @@ function cleanup_build { case "$option" in "ns3") rm "${TARGET_BIN_DIR:?}"/SimAI_simulator - rm -rf "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface/ +# rm -rf "${SIMAI_DIR:?}"/extern/network_backend/ns3-interface/ cd "${SIMAI_DIR:?}" ./build.sh -lr ns3;; "phy")