Skip to content

Commit

Permalink
Merge pull request #303 from nv-morpheus/branch-23.03
Browse files Browse the repository at this point in the history
[RELEASE] MRC v23.03
  • Loading branch information
mdemoret-nv authored Mar 29, 2023
2 parents 4868bf0 + 70aa4f8 commit 0266522
Show file tree
Hide file tree
Showing 95 changed files with 3,697 additions and 595 deletions.
77 changes: 65 additions & 12 deletions .github/workflows/ci_pipe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ run-name: CI Pipeline
on:
workflow_call:
inputs:
aws_region:
default: 'us-west-2'
type: string
run_check:
required: true
type: boolean
Expand All @@ -39,24 +36,31 @@ on:
required: true
CONDA_TOKEN:
required: true
GHA_AWS_ACCESS_KEY_ID:
required: true
GHA_AWS_SECRET_ACCESS_KEY:
required: true
NGC_API_KEY:
required: true

env:
AWS_DEFAULT_REGION: ${{ inputs.aws_region }}
AWS_ACCESS_KEY_ID: "${{ secrets.GHA_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.GHA_AWS_SECRET_ACCESS_KEY }}"
CHANGE_TARGET: "${{ github.base_ref }}"
GH_TOKEN: "${{ github.token }}"
GIT_COMMIT: "${{ github.sha }}"
MRC_ROOT: "${{ github.workspace }}/mrc"
WORKSPACE: "${{ github.workspace }}/mrc"
WORKSPACE_TMP: "${{ github.workspace }}/tmp"

permissions:
actions: none
checks: none
contents: read
deployments: none
discussions: none
id-token: write
issues: none
packages: read
pages: none
pull-requests: read
repository-projects: none
security-events: none
statuses: none

jobs:
check:
Expand All @@ -80,6 +84,13 @@ jobs:
path: 'mrc'
fetch-depth: 0

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: Check
shell: bash
run: ./mrc/ci/scripts/github/checks.sh
Expand All @@ -105,6 +116,13 @@ jobs:
lfs: false
path: 'mrc'

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: Build:linux:x86_64
shell: bash
env:
Expand All @@ -114,7 +132,7 @@ jobs:
test:
name: Test
needs: [build]
runs-on: [self-hosted, linux, amd64, gpu-v100-495-1]
runs-on: [self-hosted, linux, amd64, gpu-v100-525-1]
timeout-minutes: 60
container:
credentials:
Expand All @@ -137,6 +155,13 @@ jobs:
lfs: false
path: 'mrc'

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: Test:linux:x86_64
shell: bash
env:
Expand All @@ -146,7 +171,7 @@ jobs:

codecov:
name: Code Coverage
runs-on: [self-hosted, linux, amd64, gpu-v100-495-1]
runs-on: [self-hosted, linux, amd64, gpu-v100-525-1]
timeout-minutes: 60
container:
credentials:
Expand All @@ -167,6 +192,13 @@ jobs:
lfs: false
path: 'mrc'

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: Build
shell: bash
run: ./mrc/ci/scripts/github/build.sh
Expand Down Expand Up @@ -197,6 +229,13 @@ jobs:
lfs: false
path: 'mrc'

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: build_docs
shell: bash
run: ./mrc/ci/scripts/github/docs.sh
Expand All @@ -222,6 +261,13 @@ jobs:
lfs: false
path: 'mrc'

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: pre_benchmark
shell: bash
run: ./mrc/ci/scripts/github/pre_benchmark.sh
Expand Down Expand Up @@ -255,6 +301,13 @@ jobs:
path: 'mrc'
fetch-depth: 0

- name: Get AWS credentials using OIDC
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: ${{ vars.AWS_REGION }}
role-duration-seconds: 43200 # 12h

- name: conda
shell: bash
env:
Expand Down
21 changes: 17 additions & 4 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,30 @@ concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true

permissions:
actions: none
checks: none
contents: read
deployments: none
discussions: none
id-token: write
issues: none
packages: read
pages: none
pull-requests: read
repository-projects: none
security-events: none
statuses: none

jobs:
ci_pipe:
uses: ./.github/workflows/ci_pipe.yml
with:
run_check: ${{ startsWith(github.ref_name, 'pull-request/') }}
run_package_conda: ${{ !startsWith(github.ref_name, 'pull-request/') }}
container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-driver-221130
test_container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-base-221130
container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-driver-230315
test_container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-test-230315
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
CONDA_TOKEN: ${{ secrets.CONDA_TOKEN }}
GHA_AWS_ACCESS_KEY_ID: ${{ secrets.GHA_AWS_ACCESS_KEY_ID }}
GHA_AWS_SECRET_ACCESS_KEY: ${{ secrets.GHA_AWS_SECRET_ACCESS_KEY }}
NGC_API_KEY: ${{ secrets.NGC_API_KEY }}
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "morpheus_utils"]
path = external/utilities
url = https://github.com/nv-morpheus/utilities.git
branch = branch-23.01
branch = branch-23.03
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
# MRC 23.03.00 (29 Mar 2023)

## 🚨 Breaking Changes

- Cleanup top-level forward.hpp and types.hpp ([#292](https://github.com/nv-morpheus/MRC/pull/292)) [@dagardner-nv](https://github.com/dagardner-nv)

## 🐛 Bug Fixes

- Cleanup top-level forward.hpp and types.hpp ([#292](https://github.com/nv-morpheus/MRC/pull/292)) [@dagardner-nv](https://github.com/dagardner-nv)

## 🛠️ Improvements

- Updating to driver 525 ([#299](https://github.com/nv-morpheus/MRC/pull/299)) [@jjacobelli](https://github.com/jjacobelli)
- Improvements to the python module generation CMake code ([#298](https://github.com/nv-morpheus/MRC/pull/298)) [@mdemoret-nv](https://github.com/mdemoret-nv)
- Update workflow `permissions` block ([#296](https://github.com/nv-morpheus/MRC/pull/296)) [@ajschmidt8](https://github.com/ajschmidt8)
- Set AWS credentials lifetime to 12h ([#295](https://github.com/nv-morpheus/MRC/pull/295)) [@jjacobelli](https://github.com/jjacobelli)
- Use AWS OIDC to get AWS creds ([#294](https://github.com/nv-morpheus/MRC/pull/294)) [@jjacobelli](https://github.com/jjacobelli)
- Pointer cast macro ([#293](https://github.com/nv-morpheus/MRC/pull/293)) [@dagardner-nv](https://github.com/dagardner-nv)
- Update `sccache` bucket ([#289](https://github.com/nv-morpheus/MRC/pull/289)) [@ajschmidt8](https://github.com/ajschmidt8)
- Update CMake to only add fcoroutines flag if clang version is less than 16 + bump to latest utils ([#288](https://github.com/nv-morpheus/MRC/pull/288)) [@drobison00](https://github.com/drobison00)
- Mirror module / buffer + python bindings. ([#286](https://github.com/nv-morpheus/MRC/pull/286)) [@drobison00](https://github.com/drobison00)
- Updating to use driver 520 ([#282](https://github.com/nv-morpheus/MRC/pull/282)) [@mdemoret-nv](https://github.com/mdemoret-nv)

# MRC 23.01.00 (30 Jan 2023)

## 🚨 Breaking Changes
Expand Down
16 changes: 13 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ morpheus_utils_initialize_package_manager(
morpheus_utils_initialize_cuda_arch(mrc)

project(mrc
VERSION 23.01.00
VERSION 23.03.00
LANGUAGES C CXX
)

Expand All @@ -92,15 +92,25 @@ if(NOT DEFINED CMAKE_CUDA_HOST_COMPILER)
# incompatible with CUDA 11.4/11.5/11.6. See Issue #102
if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})

endif()
endif()

if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# Our version of NVCC officially only supports clang versions 3.2 - 13, we are now using 14
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -allow-unsupported-compiler")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines-ts")
# Check if the major version of Clang is greater than 15
execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "--version"
OUTPUT_VARIABLE clang_version_info
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)

string(REGEX MATCH "version [0-9]+" clang_version_value ${clang_version_info})
string(REGEX REPLACE "version ([0-9]+)" "\\1" clang_version ${clang_version_value})

if(${clang_version} VERSION_LESS_EQUAL "15")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines-ts")
endif()

endif()

# Now enable CUDA
Expand Down
8 changes: 7 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,16 @@ RUN --mount=type=cache,target=/var/cache/apt \
apt update && \
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC \
apt install --no-install-recommends -y \
libnvidia-compute-495 \
libnvidia-compute-525 \
&& \
rm -rf /var/lib/apt/lists/*

# ============ test ==================
FROM base as test

# Add any test only dependencies here. For now there is none but we need the
# target to get the CI runner build scripts to work

# ========= development ================
FROM base as development

Expand Down
1 change: 1 addition & 0 deletions ci/scripts/github/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ rapids-logger "Check versions"
python3 --version
cmake --version
ninja --version
sccache --version

if [[ "${BUILD_CC}" == "gcc" ]]; then
rapids-logger "Building with GCC"
Expand Down
4 changes: 2 additions & 2 deletions ci/scripts/github/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ export DISPLAY_ARTIFACT_URL="${DISPLAY_URL}${ARTIFACT_ENDPOINT}"

# Set sccache env vars
export SCCACHE_S3_KEY_PREFIX=mrc-${NVARCH}-${BUILD_CC}
export SCCACHE_BUCKET=rapids-sccache
export SCCACHE_REGION="${AWS_DEFAULT_REGION}"
export SCCACHE_BUCKET=rapids-sccache-east
export SCCACHE_REGION="us-east-2"
export SCCACHE_IDLE_TIMEOUT=32768
#export SCCACHE_LOG=debug

Expand Down
16 changes: 8 additions & 8 deletions cpp/mrc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ add_library(libmrc
src/internal/codable/codable_storage.cpp
src/internal/codable/decodable_storage_view.cpp
src/internal/codable/storage_view.cpp
src/internal/control_plane/client.cpp
src/internal/control_plane/client/connections_manager.cpp
src/internal/control_plane/client.cpp
src/internal/control_plane/client/instance.cpp
src/internal/control_plane/client/state_manager.cpp
src/internal/control_plane/client/subscription_service.cpp
src/internal/control_plane/resources.cpp
src/internal/control_plane/server.cpp
src/internal/control_plane/server/connection_manager.cpp
src/internal/control_plane/server.cpp
src/internal/control_plane/server/subscription_manager.cpp
src/internal/control_plane/server/tagged_issuer.cpp
src/internal/data_plane/callbacks.cpp
Expand Down Expand Up @@ -61,8 +61,8 @@ add_library(libmrc
src/internal/resources/manager.cpp
src/internal/resources/partition_resources_base.cpp
src/internal/resources/partition_resources.cpp
src/internal/runnable/engine_factory.cpp
src/internal/runnable/engine.cpp
src/internal/runnable/engine_factory.cpp
src/internal/runnable/engines.cpp
src/internal/runnable/fiber_engine.cpp
src/internal/runnable/fiber_engines.cpp
Expand All @@ -84,18 +84,18 @@ add_library(libmrc
src/internal/system/fiber_pool.cpp
src/internal/system/fiber_task_queue.cpp
src/internal/system/gpu_info.cpp
src/internal/system/host_partition_provider.cpp
src/internal/system/host_partition.cpp
src/internal/system/host_partition_provider.cpp
src/internal/system/iresources.cpp
src/internal/system/isystem.cpp
src/internal/system/partition_provider.cpp
src/internal/system/partition.cpp
src/internal/system/partition_provider.cpp
src/internal/system/partitions.cpp
src/internal/system/resources.cpp
src/internal/system/system_provider.cpp
src/internal/system/system.cpp
src/internal/system/thread_pool.cpp
src/internal/system/system_provider.cpp
src/internal/system/thread.cpp
src/internal/system/thread_pool.cpp
src/internal/system/topology.cpp
src/internal/ucx/context.cpp
src/internal/ucx/endpoint.cpp
Expand All @@ -108,8 +108,8 @@ add_library(libmrc
src/internal/utils/parse_config.cpp
src/internal/utils/parse_ints.cpp
src/internal/utils/shared_resource_bit_map.cpp
src/public/benchmarking/trace_statistics.cpp
src/public/benchmarking/tracer.cpp
src/public/benchmarking/trace_statistics.cpp
src/public/benchmarking/util.cpp
src/public/channel/channel.cpp
src/public/codable/encoded_object.cpp
Expand Down
4 changes: 2 additions & 2 deletions cpp/mrc/benchmarks/bench_segment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ class LongEmitReceiveFixture : public benchmark::Fixture
}),
m_watcher->create_tracer_emit_tap(int_name));

segment.make_dynamic_edge<data_type_t>(last_node, internal);
segment.make_edge(last_node, internal);
last_node = internal;
}

Expand All @@ -281,7 +281,7 @@ class LongEmitReceiveFixture : public benchmark::Fixture
sink_name,
m_watcher->create_tracer_sink_lambda(sink_name, [](tracer_type_t& data) {}));

segment.make_dynamic_edge<data_type_t>(last_node, sink);
segment.make_edge(last_node, sink);
};

auto pipeline = pipeline::make_pipeline();
Expand Down
Loading

0 comments on commit 0266522

Please sign in to comment.