Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into universe-launch-ver…
Browse files Browse the repository at this point in the history
…sioning

Signed-off-by: Yutaka Kondo <[email protected]>
  • Loading branch information
youtalk committed Nov 19, 2024
2 parents 3746713 + abb6b8d commit a7bf538
Show file tree
Hide file tree
Showing 10 changed files with 114 additions and 179 deletions.
3 changes: 3 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,9 @@ WarningsAsErrors: "

HeaderFilterRegex: ^(?!\/usr)(?!\/opt)

ExtraArgs:
- -std=c++17

FormatStyle: none

CheckOptions:
Expand Down
3 changes: 3 additions & 0 deletions .clang-tidy-ci
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,9 @@ WarningsAsErrors: "

HeaderFilterRegex: ^(?!\/usr)(?!\/opt)

ExtraArgs:
- -std=c++17

CheckOptions:
- key: bugprone-argument-comment.CommentBoolLiterals
value: "0"
Expand Down
24 changes: 15 additions & 9 deletions .github/actions/docker-build/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ inputs:
cache-tag-suffix:
description: Suffix of the target cache tag.
required: true
repos:
description: Target .repos file.
default: autoware.repos
required: true
additional-repos:
description: Additional target .repos file.
default: ""
required: false
build-args:
description: Additional build args.
required: false
Expand All @@ -32,12 +32,18 @@ runs:
- name: Run vcs import
run: |
mkdir src
vcs import src < ${{ inputs.repos }}
vcs import src < autoware.repos
shell: bash

- name: Import additional repositories
if: ${{ inputs.additional-repos != '' }}
run: |
vcs import src < ${{ inputs.additional-repos }}
shell: bash

- name: Cache ccache
uses: actions/cache@v4
if: ${{ github.ref == 'refs/heads/main' }}
if: ${{ github.ref == 'refs/heads/main' && inputs.additional-repos == '' }}
id: cache-ccache
with:
path: |
Expand All @@ -48,7 +54,7 @@ runs:
- name: Cache apt-get
uses: actions/cache@v4
if: ${{ github.ref == 'refs/heads/main' }}
if: ${{ github.ref == 'refs/heads/main' && inputs.additional-repos == '' }}
id: cache-apt-get
with:
path: |
Expand All @@ -59,7 +65,7 @@ runs:
- name: Restore ccache
uses: actions/cache/restore@v4
if: ${{ github.ref != 'refs/heads/main' }}
if: ${{ github.ref != 'refs/heads/main' || inputs.additional-repos != '' }}
with:
path: |
root-ccache
Expand All @@ -69,7 +75,7 @@ runs:
- name: Restore apt-get
uses: actions/cache/restore@v4
if: ${{ github.ref != 'refs/heads/main' }}
if: ${{ github.ref != 'refs/heads/main' || inputs.additional-repos != '' }}
with:
path: |
var-cache-apt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/health-check-nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
with:
platform: amd64
cache-tag-suffix: nightly
repos: autoware-nightly.repos
additional-repos: autoware-nightly.repos
build-args: |
ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }}
BASE_IMAGE=${{ needs.load-env.outputs.base_image }}
Expand Down
34 changes: 26 additions & 8 deletions ansible/roles/cuda/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# cuda

This role installs [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) following [this page](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network) and [this page](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions).
This role installs [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) following [this page](https://developer.nvidia.com/cuda-12-3-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network) and [this page](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions).

This role also registers Vulkan, OpenGL, and OpenCL GPU vendors for future use.

Expand All @@ -13,22 +13,36 @@ This role also registers Vulkan, OpenGL, and OpenCL GPU vendors for future use.

## Manual Installation

Follow these instructions to download and install the CUDA Toolkit and the corresponding NVIDIA Driver for Ubuntu 20.04.
### Version compatibility

For Universe, the `cuda_version` version can also be found in:
[../../playbooks/universe.yaml](../../playbooks/universe.yaml)
Autoware currently uses CUDA `12.3` and from this [CUDA Application Compatibility Support Matrix](https://docs.nvidia.com/deploy/cuda-compatibility/#use-the-right-compat-package) that only the NVIDIA driver version `545` is compatible with this version of CUDA.

#### 🛠️ For Advanced Users

⚠️ **Proceed with caution**: Avoid removing essential system components.

To prevent conflicts during NVIDIA installation, we recommend completely removing old NVIDIA Drivers and CUDA by following this guide: [How can I uninstall a NVIDIA driver completely?](https://askubuntu.com/a/206289/761440).

- **Important**: If you remove the previous NVIDIA drivers, ensure you install the recommended versions listed below **before restarting your system**.

Once the drivers are installed correctly, you may safely restart your system.

### CUDA Toolkit and Driver

Follow these instructions to download and install the CUDA Toolkit.

From: <https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#network-repo-installation-for-ubuntu>

```bash
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env

# From: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#network-repo-installation-for-ubuntu

os=ubuntu2204
wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$(uname -m)/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}")
sudo apt-get -y install cuda-${cuda_version_dashed}
sudo apt-get -y install cuda-toolkit-${cuda_version_dashed}
sudo apt-get install -y cuda-drivers-545
```

Perform the post installation actions:
Expand All @@ -37,9 +51,13 @@ Perform the post installation actions:
# Taken from: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
```

### GPU Vendors

# Register Vulkan, OpenGL, and OpenCL GPU vendors
Register Vulkan, OpenGL, and OpenCL GPU vendors following the instructions below.

```bash
# Create Vulkan directory
sudo mkdir -p /etc/vulkan/icd.d
sudo chmod 0755 /etc/vulkan/icd.d
Expand Down
25 changes: 9 additions & 16 deletions ansible/roles/dev_tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,34 +12,27 @@ This role installs optional development tools for Autoware.

## Inputs

| Name | Required | Description |
| ------------- | -------- | --------------------------------------- |
| clang-version | true | The version of clang-format to install. |
| ros-distro | true | The ROS distribution. |
| Name | Required | Description |
| ------------------------------- | -------- | --------------------------------------- |
| pre_commit_clang_format_version | true | The version of clang-format to install. |
| rosdistro | true | The ROS distribution. |

## Manual Installation

```bash
#!/bin/bash
# For the environment variables
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env

# Update package lists
sudo apt-get update

# Install Git LFS
sudo apt install python3-pip
sudo apt-get install -y golang
sudo apt-get install -y ros-${rosdistro}-plotjuggler-ros
sudo apt-get install -y git-lfs

# Setup Git LFS
git lfs install

# Install pre-commit using pip3
pip3 install pre-commit

# Install a specific version of clang-format using pip3
pip3 install clang-format==${pre_commit_clang_format_version}

# Install Go
sudo apt-get install -y golang

# Install PlotJuggler
sudo apt-get install -y ros-${ROS_DISTRO}-plotjuggler-ros
```
22 changes: 7 additions & 15 deletions ansible/roles/tensorrt/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tensorrt

This role installs TensorRT and cuDNN following [this page](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing).
This role installs TensorRT and cuDNN following [the official NVIDIA TensorRT Installation Guide](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing).

## Inputs

Expand All @@ -11,29 +11,16 @@ This role installs TensorRT and cuDNN following [this page](https://docs.nvidia.

## Manual Installation

For Universe, the `cudnn_version` and `tensorrt_version` variables should be copied from
[amd64.env](../../../amd64.env) or [arm64.env](../../../arm64.env) depending on the architecture used.

```bash
# For the environment variables
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env

# Can also be found at: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing

sudo apt-get install -y \
libcudnn8=${cudnn_version} \
libnvinfer8=${tensorrt_version} \
libnvinfer-plugin8=${tensorrt_version} \
libnvparsers8=${tensorrt_version} \
libnvonnxparsers8=${tensorrt_version} \

sudo apt-mark hold \
libcudnn8 \
libnvinfer8 \
libnvinfer-plugin8 \
libnvparsers8 \
libnvonnxparsers8

sudo apt-get install -y \
libcudnn8-dev=${cudnn_version} \
libnvinfer-dev=${tensorrt_version} \
libnvinfer-plugin-dev=${tensorrt_version} \
Expand All @@ -43,6 +30,11 @@ libnvparsers-dev=${tensorrt_version} \
libnvonnxparsers-dev=${tensorrt_version}

sudo apt-mark hold \
libcudnn8 \
libnvinfer8 \
libnvinfer-plugin8 \
libnvparsers8 \
libnvonnxparsers8 \
libcudnn8-dev \
libnvinfer-dev \
libnvinfer-plugin-dev \
Expand Down
103 changes: 0 additions & 103 deletions autoware-nightly.repos
Original file line number Diff line number Diff line change
@@ -1,109 +1,16 @@
repositories:
# core
core/autoware_msgs:
type: git
url: https://github.com/autowarefoundation/autoware_msgs.git
version: main
core/autoware_adapi_msgs:
type: git
url: https://github.com/autowarefoundation/autoware_adapi_msgs.git
version: main
core/autoware_internal_msgs:
type: git
url: https://github.com/autowarefoundation/autoware_internal_msgs.git
version: main
# TODO(youtalk): Remove autoware_common when https://github.com/autowarefoundation/autoware/issues/4911 is closed
core/autoware_common:
type: git
url: https://github.com/autowarefoundation/autoware_common.git
version: remove-autoware-cmake-utils
core/autoware_cmake:
type: git
url: https://github.com/autowarefoundation/autoware_cmake.git
version: main
core/autoware_utils:
type: git
url: https://github.com/autowarefoundation/autoware_utils.git
version: main
core/autoware_lanelet2_extension:
type: git
url: https://github.com/autowarefoundation/autoware_lanelet2_extension.git
version: main
core/autoware.core:
type: git
url: https://github.com/autowarefoundation/autoware.core.git
version: main
# universe
universe/autoware.universe:
type: git
url: https://github.com/autowarefoundation/autoware.universe.git
version: main
universe/external/tier4_ad_api_adaptor: # TODO(TIER IV): Migrate to AD API
type: git
url: https://github.com/tier4/tier4_ad_api_adaptor.git
version: tier4/universe
universe/external/tier4_autoware_msgs:
type: git
url: https://github.com/tier4/tier4_autoware_msgs.git
version: tier4/universe
# Fix the version not to merge https://github.com/MORAI-Autonomous/MORAI-ROS2_morai_msgs/pull/9
universe/external/morai_msgs:
type: git
url: https://github.com/MORAI-Autonomous/MORAI-ROS2_morai_msgs.git
version: e2e75fc1603a9798773e467a679edf68b448e705
universe/external/muSSP:
type: git
url: https://github.com/tier4/muSSP.git
version: tier4/main
universe/external/pointcloud_to_laserscan:
type: git
url: https://github.com/tier4/pointcloud_to_laserscan.git
version: tier4/main
universe/external/eagleye:
type: git
url: https://github.com/MapIV/eagleye.git
version: autoware-main
universe/external/rtklib_ros_bridge:
type: git
url: https://github.com/MapIV/rtklib_ros_bridge.git
version: ros2-v0.1.0
universe/external/llh_converter:
type: git
url: https://github.com/MapIV/llh_converter.git
version: ros2
universe/external/glog: # TODO(Horibe): to use isGoogleInitialized() API in v0.6.0. Remove when the rosdep glog version is updated to v0.6.0 (already updated in Ubuntu 24.04)
type: git
url: https://github.com/tier4/glog.git
version: v0.6.0_t4-ros
# launcher
launcher/autoware_launch:
type: git
url: https://github.com/autowarefoundation/autoware_launch.git
version: main
# sensor_component
sensor_component/external/sensor_component_description:
type: git
url: https://github.com/tier4/sensor_component_description.git
version: main
sensor_component/external/tamagawa_imu_driver:
type: git
url: https://github.com/tier4/tamagawa_imu_driver.git
version: ros2
sensor_component/external/nebula:
type: git
url: https://github.com/tier4/nebula.git
version: main
# Fork of transport_drivers that enables reduction of copy operations
sensor_component/transport_drivers:
type: git
url: https://github.com/autowarefoundation/transport_drivers
version: main
# Continental compatible version of ROS 2 socket CAN
sensor_component/ros2_socketcan:
type: git
url: https://github.com/autowarefoundation/ros2_socketcan
version: main
# sensor_kit
sensor_kit/sample_sensor_kit_launch:
type: git
url: https://github.com/autowarefoundation/sample_sensor_kit_launch.git
Expand All @@ -120,7 +27,6 @@ repositories:
type: git
url: https://github.com/autowarefoundation/single_lidar_sensor_kit_launch.git
version: main
# vehicle
vehicle/sample_vehicle_launch:
type: git
url: https://github.com/autowarefoundation/sample_vehicle_launch.git
Expand All @@ -129,12 +35,3 @@ repositories:
type: git
url: https://github.com/autowarefoundation/awsim_labs_vehicle_launch.git
version: main
vehicle/external/pacmod_interface:
type: git
url: https://github.com/tier4/pacmod_interface.git
version: main
# param
param/autoware_individual_params:
type: git
url: https://github.com/autowarefoundation/autoware_individual_params.git
version: main
Loading

0 comments on commit a7bf538

Please sign in to comment.