Skip to content

Commit dad5ec9

Browse files
authored
updated Lidar readme to add DevCloud instructions (oneapi-src#544)
1 parent d2d47f9 commit dad5ec9

File tree

1 file changed

+81
-3
lines changed
  • AI-and-Analytics/End-to-end-Workloads/LidarObjectDetection-PointPillars

1 file changed

+81
-3
lines changed

AI-and-Analytics/End-to-end-Workloads/LidarObjectDetection-PointPillars/README.md

Lines changed: 81 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,21 @@ Code samples are licensed under the MIT license. See
3636

3737
Third-party program Licenses can be found here: [third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
3838

39+
## Running Samples on the Intel® DevCloud
40+
If you are running this sample on the DevCloud, see [Running Samples on the Intel® DevCloud](#run-samples-on-devcloud)
41+
3942
## Building the `PointPillars` Sample Program for CPU and GPU
4043
Currently, only Linux platforms are supported. It is recommended to use Ubuntu 18.04.
4144

42-
### Requirements
45+
### Requirements (Local or Remote Host Installation)
4346
To build and run the PointPillars sample, the following libraries have to be installed:
4447
1. Intel® Distribution of OpenVINO™ toolkit (at least 2021.1)
4548
2. Intel® oneAPI Base Toolkit (at least 2021.2)
4649
3. Boost (including `boost::program_options` library)
47-
4. Optional: If the sample should be run on an Intel GPU, it might be necessary to upgrade the corresponding drivers. Therefore, please consult the following page: https://github.com/intel/compute-runtime/releases/
50+
4. Optional: If the sample should be run on an Intel GPU, it might be necessary to upgrade the corresponding drivers. Therefore, please consult the following page: https://github.com/intel/compute-runtime/releases/
51+
4852

49-
### Build process
53+
### Build process (Local or Remote Host Installation)
5054
Perform the following steps:
5155
1. Prepare the environment to be able to use the Intel® Distribution of OpenVINO™ toolkit and oneAPI
5256
```
@@ -112,6 +116,80 @@ These options can also be used in combination, e.g.:
112116
./example.exe --cpu --gpu --host
113117
```
114118

119+
## Running Samples on the Intel&reg; DevCloud<a name="run-samples-on-devcloud"></a>
120+
121+
### Run in Batch Mode
122+
This sample runs in batch mode, so you must have a script for batch processing. Once you have a script set up, continue with the next section, Request a Compute Node.
123+
124+
### Request a Compute Node
125+
In order to run on the DevCloud, you need to request a compute node using node properties such as: `gpu`, `xeon`, `fpga_compile`, `fpga_runtime` and others. For more information about the node properties, execute the `pbsnodes` command.
126+
This node information must be provided when submitting a job to run your sample in batch mode using the qsub command. When you see the qsub command in the Run section of the [Hello World instructions](https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolkitSamples/), change the command to fit the node you are using. Nodes which are in bold indicate they are compatible with this sample:
127+
128+
<!---Mark each compatible Node in BOLD-->
129+
| Node | Command |
130+
| ----------------- | ------------------------------------------------------- |
131+
| __GPU__ | __qsub -l nodes=1:gpu:ppn=2 -d . hello-world.sh__ |
132+
| __CPU__ | __qsub -l nodes=1:xeon:ppn=2 -d . hello-world.sh__ |
133+
| FPGA Compile Time | qsub -l nodes=1:fpga\_compile:ppn=2 -d . hello-world.sh |
134+
| FPGA Runtime | qsub -l nodes=1:fpga\_runtime:ppn=2 -d . hello-world.sh |
135+
136+
### Build process (DevCloud)
137+
1. Build the program using the following `cmake` commands.
138+
```
139+
$ mkdir build && cd build
140+
$ cmake ..
141+
$ make
142+
```
143+
144+
## Running the `PointPillars` Sample Program (DevCloud)
145+
After a successful build, the sample program can be run as follows:
146+
```
147+
./example.exe
148+
```
149+
The input data for the sample program is the example.pcd located in the /data folder. It contains an artificial point cloud from a simulated LIDAR sensor of the CARLA simulator [3]. The corresponding scene looks as follows:
150+
![SampleScene](data/image.png)
151+
The example.pcd file is a point cloud in ASCII using the PCL-format, which renders to (using the pcl_viewer tool):
152+
![SamplePointCloud](data/pointcloud.png)
153+
It is worth noting that there are three cars in this scene, one of which is very far away and thus not yet properly covered in the LIDAR scan. Then, there is a black car inside the intersection, which is also well visible in the LIDAR data, and a hidden car, right behind the black one. Hence, `PointPillars` should detect at least one car.
154+
155+
Successful execution of the sample program results in at least one detected object and an output similar to:
156+
```
157+
Starting PointPillars
158+
PreProcessing - 20ms
159+
AnchorMask - 10ms
160+
PFE Inference - 91ms
161+
Scattering - 50ms
162+
RPN Inference - 107ms
163+
Postprocessing - 13ms
164+
Done
165+
Execution time: 296ms
166+
167+
1 cars detected
168+
Car: Probability = 0.622569 Position = (24.8561, 12.5615, -0.00771689) Length = 2.42855 Width = 3.61396
169+
```
170+
171+
## Execution Options for the Sample Program
172+
The sample program provides a few command-line options, which can be accessed using the 'help' option
173+
```
174+
./example.exe --help
175+
```
176+
177+
Furthermore, it is possible to specify the execution device. For using multi-threaded CPU execution, please use:
178+
```
179+
./example.exe --cpu
180+
```
181+
For single-threaded execution on the host system, please use:
182+
```
183+
./example.exe --host
184+
```
185+
And to use an Intel® DG1 or integrated graphics, please use:
186+
```
187+
./example.exe --gpu
188+
```
189+
These options can also be used in combination, e.g.:
190+
```
191+
./example.exe --cpu --gpu --host
192+
115193
## Known Limitations
116194
- This sample code only works using models trained with the Sigmoid function, not with Softmax or Crossentropy
117195
- If other models than the recommended models are used, it has to be ensured that the maximum number of classifications is at most 20

0 commit comments

Comments
 (0)