DSP

TI Openmp clacc编译器讲解

2019-07-13 17:36发布

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主机库。
使用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的编译命令要严格按照要求来