feat: acceleration and transport layer#348
Conversation
Signed-off-by: vividf <yihsiang.fang@tier4.jp>
Signed-off-by: vividf <yihsiang.fang@tier4.jp>
Signed-off-by: vividf <yihsiang.fang@tier4.jp>
Signed-off-by: vividf <yihsiang.fang@tier4.jp>
…g and transport layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
|
Note: this PR will be kept as a draft until #337 it merged, at which point this PR will be reabsed |
…cceleration_and_transport_layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…rt_layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
|
The concatenated PR was merged, so after solving the conflicts and some recent changes, I am opening this PR 🙏 |
…es implementation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…rt_layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
mojomex
left a comment
There was a problem hiding this comment.
Looking good! I left a few comments on readability/maintainability but that's all I think.
Is there a reason that x2(_gen2) is not covered?
|
@mojomex |
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…e used with shared containers Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…licts Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…rt_layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
|
@mojomex |
mojomex
left a comment
There was a problem hiding this comment.
I'd like the two container_name params to be merged but otherwise LGTM
…alled pointcloud_container. The difference being whether they are loaded in the global namespace or created in a new container within the lidar namespace Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
|
@mojomex <arg name="use_shared_container" default="false"/>
<arg name="use_cuda_preprocessor" default="false"/>to <arg name="use_shared_container" default="true"/>
<arg name="use_cuda_preprocessor" default="true"/>in |
mojomex
left a comment
There was a problem hiding this comment.
xx1-cuda.webm
Works up until concat. I had to shoehorn the new autoware_universe into pilot-auto.xx1 so I could not test everything (at least autoware_tensorrt_plugins did not build successfully).
Since this is not this PR's fault, I'd say LGTM.
* feat: initialize parameters for concatenate Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: add xx1 gen2 parameters Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: fix aip x1 parameter Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: fix x2 parameter Signed-off-by: vividf <yihsiang.fang@tier4.jp> * feat: implemented the launcher-side changes for the cuda preprocessing and transport layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * feat: accepting variable number of crop boxes now Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: updated the launchers to reflect the newest changes in the nodes implementation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored names Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored to simply branches Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: added an assert to guarantee that the cuda preprocessor will be used with shared containers Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: added documentation for the new arguments Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: reimplementing the aip naming change instead of resolving conflicts Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored node creation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * feat: removed the shared_container_name. Now all containers will be called pointcloud_container. The difference being whether they are loaded in the global namespace or created in a new container within the lidar namespace Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> --------- Signed-off-by: vividf <yihsiang.fang@tier4.jp> Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> Co-authored-by: vividf <yihsiang.fang@tier4.jp> Co-authored-by: Yi-Hsiang Fang (Vivid) <146902905+vividf@users.noreply.github.com> (cherry picked from commit 22d795b)
feat: acceleration and transport layer (#348) * feat: initialize parameters for concatenate * chore: add xx1 gen2 parameters * chore: fix aip x1 parameter * chore: fix x2 parameter * feat: implemented the launcher-side changes for the cuda preprocessing and transport layer * feat: accepting variable number of crop boxes now * chore: updated the launchers to reflect the newest changes in the nodes implementation * chore: refactored names * chore: refactored to simply branches * chore: added an assert to guarantee that the cuda preprocessor will be used with shared containers * chore: added documentation for the new arguments * chore: reimplementing the aip naming change instead of resolving conflicts * chore: refactored node creation * feat: removed the shared_container_name. Now all containers will be called pointcloud_container. The difference being whether they are loaded in the global namespace or created in a new container within the lidar namespace --------- (cherry picked from commit 22d795b) Signed-off-by: vividf <yihsiang.fang@tier4.jp> Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> Co-authored-by: Kenzo Lobos Tsunekawa <kenzo.lobos@tier4.jp> Co-authored-by: vividf <yihsiang.fang@tier4.jp> Co-authored-by: Yi-Hsiang Fang (Vivid) <146902905+vividf@users.noreply.github.com>
* feat: initialize parameters for concatenate Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: add xx1 gen2 parameters Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: fix aip x1 parameter Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: fix x2 parameter Signed-off-by: vividf <yihsiang.fang@tier4.jp> * feat: implemented the launcher-side changes for the cuda preprocessing and transport layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * feat: accepting variable number of crop boxes now Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: updated the launchers to reflect the newest changes in the nodes implementation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored names Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored to simply branches Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: added an assert to guarantee that the cuda preprocessor will be used with shared containers Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: added documentation for the new arguments Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: reimplementing the aip naming change instead of resolving conflicts Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored node creation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * feat: removed the shared_container_name. Now all containers will be called pointcloud_container. The difference being whether they are loaded in the global namespace or created in a new container within the lidar namespace Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> --------- Signed-off-by: vividf <yihsiang.fang@tier4.jp> Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> Co-authored-by: vividf <yihsiang.fang@tier4.jp> Co-authored-by: Yi-Hsiang Fang (Vivid) <146902905+vividf@users.noreply.github.com>
* feat: initialize parameters for concatenate Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: add xx1 gen2 parameters Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: fix aip x1 parameter Signed-off-by: vividf <yihsiang.fang@tier4.jp> * chore: fix x2 parameter Signed-off-by: vividf <yihsiang.fang@tier4.jp> * feat: implemented the launcher-side changes for the cuda preprocessing and transport layer Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * feat: accepting variable number of crop boxes now Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: updated the launchers to reflect the newest changes in the nodes implementation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored names Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored to simply branches Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: added an assert to guarantee that the cuda preprocessor will be used with shared containers Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: added documentation for the new arguments Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: reimplementing the aip naming change instead of resolving conflicts Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * chore: refactored node creation Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> * feat: removed the shared_container_name. Now all containers will be called pointcloud_container. The difference being whether they are loaded in the global namespace or created in a new container within the lidar namespace Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> --------- Signed-off-by: vividf <yihsiang.fang@tier4.jp> Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp> Co-authored-by: vividf <yihsiang.fang@tier4.jp> Co-authored-by: Yi-Hsiang Fang (Vivid) <146902905+vividf@users.noreply.github.com>
Description
This is part of the series of PR related to autowarefoundation/autoware_universe#9722
List of PRs:
Depending on your machine and how many nodes are in a container, the following branch may also be required:
https://github.com/knzo25/launch_ros/tree/fix/load_composable_node
There seems to be a but in ROS where if you send too many services at once some will be lost and
ros_launchcan not handle that.Related links
Parent Issue:
How was this PR tested?
The sensing/perception pipeline was tested until centerpoint for TIER IV's taxi using the logging simulator.
Notes for reviewers
The main branch that I used for development is
feat/cuda_acceleration_and_transport_layer2.However, the changes were too big so I split the PRs. That being said, development, if any will still be on that branch (and then cherrypicked to the respective PRs), and the review changes will be cherrypicked into the development branch.
Interface changes
An additional topic is added to perform type negotiation:
Example:
input/pointcloud->input/pointcloudandinput/pointcloud/cudaEffects on system behavior
Enabling this preprocessing in the launchers should provide a much reduced latency and cpu usage (at the cost of a higher GPU usage)