TI Openmp clacc compiler explanation, openmpclacc
TI Openmp clacc compiler.
1. Introduction
OpenMP is a set of Guiding compilation and processing solutions (Compiler ctictive) designed for multi-processor programs that share memory parallel systems ). OpenMP supports C, C ++, and Fortran programming languages. OpenMp compilers include Sun Compiler, GNU Compiler, and Intel Compiler.
Texas Instruments OpenMP accelerator model implementation is currently supported on the following systems:
SoC |
System |
Installation Instructions |
AM572 |
AM572 EVM |
Processor SDK for AM57x |
66AK2H |
66AK2H EVM |
Processor SDK for K2H |
66AK2H |
HP m800 Moonshot |
MCSDK-HPC for m800 |
66AK2L |
66AK2L EVM |
Processor SDK for K2L |
66AK2E |
66AK2E EVM |
Processor SDK for K2E |
66AK2G |
66AK2G EVM |
Processor SDK for K2G |
OpenMP 4.0 supports the use of OpenMP on heterogeneous systems by adding support for a set of device structures. OpenMP 4.0 can load the target code to the target device by executing code on the host. For example, the OpenMP accelerator model uses TI's OpenCL runtime, that is, the code on the ARM can be loaded to the DSP for execution, and the result is returned to the ARM.
2. clacc Compiler
Clacc is a tool used to compile the source code of the OpenMP 4.0 accelerator model. Clacc depends on the gcc tool chain of the host in sequence, C6000 code generation tool (CGT), TI OpenMP accelerator model, and OpenCL host library.
Use the following command to compile a program using clacc:
Clacc [options] [object-files] C-source-files
The clacc options are summarized as follows:
-H, -- help |
Display rental information |
-V, -- verbose |
Display debug output |
-K, -- keep_files |
|
Keep intermediate temporary files |
-D, -- runtime_verbose |
|
Enable runtime debugging information display |
-P, -- runtime_performance |
|
Enable runtime performance information display |
-G, -- debug |
Generate the target debugging symbol |
-- Make_lib |
Compile static library |
-- Host_ccArg |
Host compilation and usage |
-- HcArg |
Host compilation options |
-- TcArg |
Target compilation options |
-- HlArg |
Host connection options |
-- TlArg |
Target connection options |
-- Show_cc_opts |
Show host and target compiler options being used |
-O, -- exe |
Name |
The use of the OpenMP structure and ti-specific extensions requires a specific code structure. These examples usually have the following source directory file structure:
· Host C/C ++ files
O main. cpp/c with the main () function
O The function used in the target region is equivalent to host. cpp/c on the host.
· Target C file
O file has# Pragma omp targetAnd# Pragma omp declare targetRegions are named _ target. c
· Makefile
O contains the make. inc file
PS: The file structure and clacc compilation commands must follow the requirements strictly.