runApplication - Launch an application on the NVIDIA target by name - MATLAB (original) (raw)
Main Content
Launch an application on the NVIDIA target by name
Syntax
Description
[procID](#mw%5Fe1079f78-3591-45f8-b06f-7f4a738d9005) = runApplication([hwObj](#mw%5F5456a7bf-36ac-4649-beb7-b19b8fc3a438%5Fsep%5Fmw%5Fbcc65819-faa5-4997-9bca-35a8da7d894a),[exeName](#mw%5F68c33bab-f89d-4092-89fd-e9a630b2e5cf))
launches the application (executable) specified by exeName
on the NVIDIA® target board desktop.
[procID](#mw%5Fe1079f78-3591-45f8-b06f-7f4a738d9005) = runApplication(___,[exeArgs](#mw%5Fe85e489e-1089-406b-bdb2-90cea7d66a0e))
launches the application specified by exeName
on the NVIDIA target board desktop. exeArgs
is used to specify run-time arguments to the application.
[procID](#mw%5Fe1079f78-3591-45f8-b06f-7f4a738d9005) = runApplication(___,[exePath](#mw%5Fc2b073dd-c47b-45ba-81df-de2b88d68ffb))
launches the application specified by exeName
on the NVIDIA target board desktop. exePath
is used to explicitly specify the location of the application.
Examples
This example shows how to launch an application on the NVIDIA Jetson™ TX2 target. This example requires a USB camera connected to the NVIDIA target.
Create a live hardware connection from the MATLAB® software to the NVIDIA hardware by using the jetson function. To create a live hardware connection object, provide the host name or IP address, user name, and password of the target board. For example:
hwobj = jetson('jetson-board-name','ubuntu','ubuntu');
Create a MATLAB function liveCapture.m
that connects to the webcam on a Jetson TX2 board and displays the image on the board. This function acts as the_entry-point_ for code generation.
function liveCapture() %#codegen
% To enable code generation for hardware interfaces hwobj = jetson; w = webcam(hwobj,1,'1280x800'); d = imageDisplay(hwobj);
for k = 1:2000 % Capture the image from the webcam on hardware. img = snapshot(w); % Display image. image(d,img); end
Create a GPU code configuration object for generating an executable. Use thecoder.hardware function to create a configuration object for the Jetson platform and assign it to the Hardware
property of the code configuration object cfg
.
cfg = coder.gpuConfig('exe'); cfg.GenerateReport = true; cfg.Hardware = coder.hardware('NVIDIA Jetson'); cfg.CustomInclude = fullfile('codegen','exe','liveCapture','examples'); cfg.CustomSource = fullfile('codegen','exe','liveCapture','examples','main.cu');
The main.cu
file is generated as part of code generation process. For this example, you can use this file without modification.
To generate CUDA® code, use the codegen command and pass the GPU code configuration object along with the liveCapture
entry-point function. After the code generation takes place on the host, the generated files are copied over and built on the target.
codegen -config cfg liveCapture
Use the runApplication
function to launch the executable on the TX2 board.
procID = runApplication(hwobj,'liveCapture');
Launching the executable on the target...
Executable launched successfully with process ID 12821. Displaying the simple runtime log for the executable...
Input Arguments
Connection to a specific NVIDIA hardware board, specified as a jetson or drive object.
Specify the name of the application to run on the NVIDIA target desktop.
Example: 'liveCapture.elf'
Specify the runtime arguments to the application.
Example: 'camVid.avi'
Specify the path to the application on the NVIDIA board. If a value is not specified, the software uses theworkspaceDir
property of the jetson ordrive object to determine the standard location of the application.
Example: '/home/ubuntu/myLiveEdgeDetect/MATLAB_ws/R2019a/home/gpucoder/myLiveEdgeDetection'
Output Arguments
The process ID of the application launched on the NVIDIA target.
Example: 12821
Version History
Introduced in R2019a
See Also
Functions
- jetson | drive | snapshot | imageDisplay | system | openShell | killApplication | killProcess | runExecutable
Objects
Topics
- Sobel Edge Detection on NVIDIA Jetson Nano Using Raspberry Pi Camera Module V2
- Getting Started with the MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms
- Deploy and Run Sobel Edge Detection with I/O on NVIDIA Jetson Nano
- Build and Run an Executable on NVIDIA Hardware
- Stop or Restart an Executable Running on NVIDIA Hardware
- Run Linux Commands on NVIDIA Hardware