Rico's Nerd Cluster

「离开世界之前 一切都是过程」

CMake - Concepts and Options

CMake Concepts, Compile Options, Commands, CMake-Format

Concepts Hierarchy CMake is hierarchical. That is, you have a top-level project, with multiple subprojects. Basic Operations: 1 2 3 4 cmake_minimum_required(VERSION 3.10) project(MyProject) ad...

My Journey Into CUDA

GPU Architecture, Tensor Cores, SIMD SIMT, Pinned Memory

A Great introduction video can be found here GPU (GA102) Architecture A graphics card’s brain is its GPU. NVidia’s Ampere GPU architecture family has GA102 and GA104. GA102 is shared across NVidi...

Bash Magic

Bash is great. Here is a list of bash tricks & knowledge points that I found magical

Builtins Declare The declare builtin is used to explictly declare variables declare -r var is to declare a read-only variable 1 2 declare -r var="123" var="456" # see "var: readonly varia...

C++ - Writing GTest for ROS

Test! Test! Test!

Concepts Google Test (a.k.a GTest) is an open source unit testing structure. From the official website Test Suite vs Test Case: A test suite contains one or many tests. You should group your t...

ROS - Using GDB for ROS

GDB is a very useful that allows us to pause at a break point or failure and inspect.

Introduction GDB is EXTREMELY handy. I used to doing a lot of print statements, but now I use GDB a lot. The reason is simple: I can check multiple things at once without recompiling everytime, es...

ROS Infrastructure Notes

A Running List of ROS Infrastructure I found Useful

ROS Basics Where ROS binaries are stored In ROS, many packages come in the C++ binary form. They are installed through apt, and are stored in /opt/ros/noetic/lib. ROS Actions The ROS Action rea...

Common Robotics CPP Software Packages

TBB

TBB TBB (Intel Threading Building Blocks) is a parallel-programming library that abstracts out details for managing threads, synchronization, or load balancing explicitly. Key features include: ...

C++ - Static Functions And Keyword

Static Functions And Keyword

As a very high level summary, the keyword static has two uses: File scope static variables and functions can be only accessed within the current translation unit (i.e., the cpp source file) C...

C++ - Cpp17 Parallel Algorithms


C++ - Linkage

In C++, Linkage is Either External Or Internal

Linkage In C and C++, linkage determines the accessibility of functions & variables defined in one source file in other different translation units (i.e., different source files). There are t...