(接上一篇)

2.2.2 Building

使用如下步骤生成:

第一步: 用brcc编译

编译器可以在<BROOKROOT>/sdk/bin/下找到

brcc   [-hkrbfilxaec]  [-w level]  [-D macro]  [-n  flag]  [-w level]  [-o prefix]  [-p shader]  <.br file>

Brook+ 参数

-h                       帮助

-k                       保留生成的IL程序(在 <filename.il>下)

-r                        禁用虚拟地址技术

-o  <prefix>        在生成的文件前加上prefix的前缀

-p  <shader>      CPU或者CAL(可以是多CAL)

-s                       Tokenize into char list generated IL program

-b                       打开bison调试选项

-f                        打开flex调试选项

-i                        为外部预处理器指定包含的文件夹

-l                        在生成的代码中加入#line 标记行

-w  <level>        选择警告等级:0,1,2,3;默认为"0"

-x                       打开“警告即错误”的选项(只能和-a选项配合使用)

-a                       禁用强类型检查

-e                       为非kernel函数声明增加"extern C"

-c                        禁用缓存聚合数组的特性

-pp                     启用预处理器

-D  <name>       定义一个宏

-D  <name>{=}<int-value>

定义值为整型的宏,宏名称和值之间不能有空格

-n paremeter     禁用给定的选项。例如: -n l 禁用为调试而标记行的选项。目前,只支持-l

注意 -x和-w选项只能同时有一个和-a配合使用。

第二步

在上例中,编译命令如下:

(注:windows平台下)

brcc.exe   -o  sum  sum.br

这个命令将编译sum.br文件,生成一个C++文件和.h文件。注意.cpp文件包含#line的标记行。大多数情况下,这可以让你在调试器中单步调试.br文件。

第三步

(注:windows平台下使用visual studio的情形)

将brook.lib加到项目“链接器” ->“输入” ->“附加依赖项”。它在<BROOKROOT>/sdk/lib/下。

第四步

编译生成的C++文件。

makefile的使用,参考<BROOKROOT>/samples/util/build/

Brook+ Programming (2)相关推荐

  1. Brook+ Programming

    翻译自AMD文档 2.1Runtime Options 在运行Brook+程序之前,需要注意一下环境变量: BRT_RUNTIME 这个环境变量允许你决定计算的后端是CPU(可以方便地调试)还是CAL ...

  2. Brook+ Programming (4)

    (接上篇) 由main函数开始,生成三个流接受输入矩阵(A和B)和输出矩阵(流一般用来表示矩阵).然后三块内存缓冲区开辟出来(input_A,input_B和 input_C)接着streamRead ...

  3. Brook+ Programming (6)

    2.6 The Brook+ Runtiem API 现在版本的Brook+的特性都是完全改写了runtime引擎后的.为了提高性能和稳定性,新的C++ API提供给开发者以便能在低层用更有弹性的方式 ...

  4. Brook+ Programming (1)

    (接上一篇文章) Brook+的代码和C/C++的很像,但要注意以下几点: 第一,brcc像C编译器一样工作,也就是说编程要坚持标准C规范(例如:变量在代码段前声明). 对于更复杂的应用,要小心地区分 ...

  5. docker报错:driver failed programming external connectivity on endpoint, iptables:No chain by that name

    docker 报错: Error response from daemon: Cannot restart container hello: driver failed programming ext ...

  6. Java OOP(Object Oriented Programming)个人理解及总结

    面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 其三大特征:封装,继承,多态: 封装:解决数据的安全问题. 继承:解决代码的重用问题. 多态:解决程序 ...

  7. Structured Streaming编程 Programming Guide

    Structured Streaming编程 Programming Guide • Overview • Quick Example • Programming Model o Basic Conc ...

  8. 算法编程Algos Programming

    算法编程Algos Programming 不同算法的集合,用于编程比赛,如ACM ICPC. 算法按主题划分.大多数算法都可以从文件中按原样运行.每种算法都有一个参考问题,并对其时间和空间复杂度作了 ...

  9. CSE 3100 Systems Programming

    代做CSE 3100留学生作业.代写C/C++程序作业.代做Systems Programming作业.代写C/C++编程设计作业 CSE 3100 Systems Programming Homew ...

最新文章

  1. 关于BMP格式图像的理解和读写(c++).docx
  2. 史上最详细的微生物扩增子数据库整理
  3. 软件开发管理的十大工作任务(FROM 栾跃)
  4. 将资源文件中的数据写回磁盘
  5. 在dw下安装zen coding,并对其快捷键进行修改
  6. Java获取linux服务器cpu、内存、硬盘相关信息
  7. Linux常用命令汇总--ln
  8. Docker垃圾清理方案
  9. JavaScript习题(数组去重、有序数组乱序排列)
  10. 数位DP入门之hdu 3652 B-number
  11. 试用到期_各大化妆品品牌试用装广告
  12. “21天好习惯“第一期-2
  13. 17. shell 脚本
  14. 软件工程|如何写设计文档
  15. html实现图片裁剪,JavaScript html js图片切割系统,裁剪,图片处理
  16. 复旦毕业生兼职送外卖,去你的“精神内耗”
  17. 程序员一般通过什么平台接单
  18. java选择语句中switch的用法(详细介绍)
  19. 0805的高频绕线电感有什么特征
  20. margin、padding、border

热门文章

  1. 从失败中学习区块链实验
  2. CAD梦想画图中“PLAN命令”
  3. 计算机找不到 bitlocker,win10系统bitlocker找不到tpm的解决方法
  4. 快捷回复软件有哪些,哪些快捷回复软件可提高卖家的效率
  5. 番禺好去处,ZBOX沉浸式体验馆
  6. 用计算机计算应该注意什么,科学计算器使用注意事项 - 科学计算器价钱是多少_科学计算器使用方法_科学计算器使用注意事项...
  7. ubuntu windows远程桌面连接xrdp相关问题
  8. 连接MySQL数据库的两种方式
  9. 分析床位使用率判断医院挂床住院
  10. 详解梯度下降法的三种形式BGD、SGD以及MBGD