TI Openmp clacc编译器讲解

Data: 2017.12.29

Author: cjh

Theme: TI Openmp clacc编译器讲解

 

本章内容主要分四讲来讲:

一、clacc编译器的讲解

二、makefile的讲解

三、openmp target语法讲解

四、openmp 例程讲解

五、openmpacc代码下载

 

1.      介绍

OpenMP用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案(Compiler Directive)。OpenMP支持的编程语言包括C、C++和Fortran;而支持OpenMp的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等。

德州仪器的OpenMP加速器模型实现目前在以下系统上得到支持:

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规范通过添加对一组设备结构的支持,支持在异构系统上使用OpenMP。OpenMP 4.0可以通过在主机上执行代码,可使用traget将目标代码加载到目标设备运行。举个例子:OpenMP加速器模型运行时实现利用了TI的OpenCL运行时,即原来在ARM上的代码可以加载到DSP上执行,在将结果返回到ARM上。

 

2.      clacc编译器

clacc是一个用来编译OpenMP 4.0加速器模型源代码的工具。clacc依次依赖于主机gcc工具链,C6000代码生成工具(CGT)以及TI OpenMP加速器模型和OpenCL主机库。

TI Openmp clacc编译器讲解_第1张图片

使用clacc编译程序,通过以下命令完成的:

clacc [options] [object-files] C-source-files

 

clacc选项总结如下

-h, --help

显示房租信息

-v, --verbose

显示debug输出

-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

生成目标调试符号

--make_lib

编译静态库

--host_cc arg

主机编译使用

--hc arg

主机编译选项

--tc arg

目标编译选项

--hl arg

主机连接选项

--tl arg

目标连接选项

--show_cc_opts

Show host and target compiler options being used

-o, --exe

命名

使用OpenMP结构和TI特定的扩展需要特定的代码结构。这些示例通常具有以下源目录文件结构:

·        主机 C/C++文件

o   具有main()函数的 main.cpp/c

o   在目标区域使用的函数等效在主机上名为host.cpp/c

·        目标 C文件

o   文件具有 #pragma omp target and #pragma omp declare target regions are named _target.c

·        Makefile

o   包含make.inc文件

PS:文件结构和clacc的编译命令要严格按照要求来

你可能感兴趣的:(AM5728)