2017年12月 |
2017.12.08 |
- 添加了如下新主题:
- Autorun Captures Tab
- Autorun Profiler Data
|
2017年11月 |
2017.11.06 |
|
2017年5月 |
2017.05.08 |
|
2016年12月 |
2016.12.02 |
少量编辑修改。 |
2016年10月 |
2016.10.31 |
- 将Altera SDK for OpenCL重新命名为 Intel® FPGA SDK for OpenCL™ 。
- 将Altera离线编译器更名为 Intel® FPGA SDK for OpenCL™ Offline Compiler。
- 在Align a Struct with or without Padding中,修改了代码片段以更正属性相对于声明的放置位置。
- 添加了主题查看您内核的report.html文件,其中的子主题描述了HTML GUI,GUI提供的各种报告,以及有关如何利用HTML报告中的信息优化OpenCL设计实例的预排。
- 将Review Your Kernel's Area Report to Identify Inefficiencies in Resource Usage更改为HTML Report: Area Report Messages,并删除了如下子小节:
- Area Report Messages for Global Memory and Global Memory Interconnect
- Area Report Messages for Local Memory
- Area Report Messages for Channels
- 添加了主题HTML Report: Kernel Design Concepts,其中包含有关内核、全局存储器互连、局部存储器、嵌套循环、单个work-item内核中的循环和通道的子主题。
- 在解释分析信息中,重新组织并添加了如下内容:
- 额外解释了“停顿”、“占用率”、“带宽”、有效性和缓冲命中(cache hit)。
- 关于解决令人不满意的Profiler指标的建议
- 在基于Optimization Report Feedback解决单个Work-Item内核依赖项中,修改图示优化单个Work-Item的工作流程,以将HTML报告取代面积报告。
- 删除了Optimization Report小节,以及相关子小节,因为该信息现在是HTML报告的一部分。
- 将Review Kernel Properties and Loop Unroll Status in the Optimization Report更改为Review Kernel Properties and Loop Unroll Status in the HTML Report,因为现在优化报告是report.html文件的一部分。
|
2016年5月 |
2016.05.02 |
- 添加了主题删除因为对存储器阵列的访问而导致的循环携带依赖项以引入ivdep pragma。
- 在提高存储器访问效率的策略中,添加了以下主题来解释如何使用numbanks和bankwidth内核属性配置局部存储器系统的几何结构:
- 通过存储(Banking)局部存储器提高内核性能
- 基于阵列索引优化局部存储器Bank的几何结构配置
- 在提高存储器访问效率的策略下,添加了主题通过控制存储器复制因子来优化对局部存储器的访问,以解释singlepump和doublepump内核属性的使用。
- 添加了关于面积报告消息的信息。请参阅查看您的内核Area Report来确定效率低下的资源使用小节了解更多信息。
- 删除了Kernel-Specific Area Report小节,因为已被增强的面积报告取代。请参阅查看您的内核面积报告来确定效率低下的资源使用部分了解更多信息。
- 更新了Optimization Report下的子小节,以包含增强型的优化报告消息。
- 添加了Optimization Report Message for Speed-Limiting Constructs
- 更新了基于Optimization Report Feedback解决单个Work-Item 内核依赖项下的子小节,以包含增强型的优化报告消息。
- 更新了图示单Work-Item内核工作流程的优化,以包含访问增强的面积报告查看资源使用情况的步骤。
- 在提高NDRange内核数据处理效率的策略下,添加了在Optimization Report中查看内核属性和循环展开状态小节。
|
2015年11月 |
2015.11.02 |
- 添加了主题多线程主机应用程序。
- 在指定最大工作组大小或者需要的工作组大小中添加了有关存储器barrier的注意事项。
|
2015年5月 |
15.0.0 |
- 在存储器访问考量中,添加了关于在针对Cyclone® V器件的内核中声明__constant指针参数时可能发生的性能下降的注意事项。
- 在单个Work-Item内核的优良设计实践中,删除了Initialize Data Prior to Usage in a Loop小节并添加了在尽可能深的范围内声明变量小节。
- 添加了通过推断移位寄存器来移除循环携带的依赖性。该主题讨论了在单个work-item内核中,如何将双精度浮点数组推断为移位寄存器可以消除循环携带的依赖项。
- 添加了特定内核的区域报告来显示Altera Offline Compiler在编译期间生成的特定内核的.area文件的实例。
- 将Transfer Data Via offline compiler Channels重新命名为Transfer Data Via offline compiler Channels or OpenCL Pipes,并添加了如下内容:
- 关于通道如何帮助提高内核性能的更多信息。
- 关于OpenCL管道的信息。
- 将数据类型考量重新命名为数据类型选择考量。
|
2014年12月 |
14.1.0 |
- 重新组织了Optimization Report Messages小节中的信息流程,以更新报告消息和优化报告的布局。
- 包含新的优化报告消息,以详细说明不成功和次优流水线执行的原因。
- 在优化报告消息下添加了复杂设计的简化分析的优化报告消息子小节以描述简化的内核分析中新的报告消息。
- 将使用Optimization Report的反馈解决单个Work-Item内核依赖项重命名为基于Optimization Report Feedback解决单个Work-Item内核携带依赖项。
- 在基于Optimization Report Feedback解决单个Work-Item内核携带依赖项下添加了将循环携带依赖项传输到局部存储器子小节,以描述解决循环携带依赖项的新策略。
- 更新了Resource-Driven Optimization和Compilation Considerations小节,因为已弃用-O3和 --util <N> Altera® Offline Compiler (offline compiler)命令选项。
- 合并并简化Heterogeneous Memory Buffers和Host Application Modifications for Heterogeneous Memory Accesses小节。
- 添加小节对齐结构并移除结构字段之间的填充。
- 删除了小节Ensure 4-Byte Alignment to All Data Structures。
- 修改图示单个Work-Item优化工作流程,以包含仿真(emulation)和分析(profiling)
|
2014年6月 |
14.0.0 |
- 将文档重命名为 Intel® FPGA SDK for OpenCL™ 最佳实践指南。
- 重组信息流程。
- 将良好设计实践重新命名为良好OpenCL内核设计实践。
- 在通过离线编译器Channel传送数据中添加了通道信息。
- 在分析您的内核来识别性能瓶颈中添加了profiler(分析程序)信息。
- 添加了小节单个Work-Item内核与NDRange内核。
- 更新了单个Work-Item执行小节。
- 删除了Performance Warning Messages小节。
- 将单个Work-Item内核编程考量重新命名为单个Work-Item内核的优良设计实践。
- 添加了小节提高单个Work-Item内核性能的策略。
- 将优化数据处理效率重命名为提高NDRange内核数据处理效率的策略。
- 删除了Resource Sharing小节。
- 将浮点操作重命名为优化浮点操作。
- 将存储器访问效率的优化重命名为提高存储器访问效率的策略。
- 更新了全局存储器的手动分区小节。
- 添加了小节优化FPGA面积使用的策略。
|
2013年12月 |
13.1.1 |
- 更新了小节指定最大工作组大小或者需要的工作组大小。
- 添加了小节异构存储器缓冲区。
- 更新了小节单个Work-Item执行。
- 添加了小节Performance Warning Messages。
- 更新了小节单个Work-Item内核编程考量 。
|
2013年11月 |
13.1.0 |
- 重组信息流程。
- 更新了小节 Intel® FPGA SDK for OpenCL™ Compilation Flow。
- 更新了小节Pipelines;插入图示Example Multistage Pipeline Diagram。
- 删除了如下图示:
- Instruction Flow through a Five-Stage Pipeline Processor。
- Vector Addition Kernel Compiled to an FPGA。
- Effect of Kernel Vectorization on Array Summation。
- Data Flow Implementation of a Four-Element Accumulation Kernel。
- Data Flow Implementation of a Four-Element Accumulation Kernel with Loop Unrolled。
- Complete Loop Unrolling。
- Unrolling Two Loop Iterations。
- Memory Master Interconnect。
- Local Memory Read and Write Ports。
- Local Memory Configuration。
- 更新如下小节优良设计实践。
- 删除以下小节:
- Predicated Execution.
- Throughput Analysis。
- Case Studies。
- 将Optimizing Data Processing Efficiency更新并重命名为Optimization of Data Processing Efficiency。
- 将Replicating Compute Units versus Kernel SIMD Vectorization重命名为Compute Unit Replication versus Kernel SIMD Vectorization。
- 将Using num_compute_units and num_simd_work_items Together重命名为Combination of Compute Unit Replication and Kernel SIMD Vectorization。
- 将Memory Streaming更新并重命名为Contiguous Memory Accesses。
- 将Optimizing Memory Access更新并重命名为General Guidelines on Optimizing Memory Accesses。
- 将Optimizing Memory Efficiency 更新并重命名为Optimization of Memory Access Efficiency。
- 在Optimization of Memory Access Efficiency下插入Single Work-Item Execution子小节。
|
2013年6月 |
13.0 SP1.0 |
- 更新了包含复杂退出路径的OpenCL内核源代码的支持状态。
- 更新了图示Effect of Kernel Vectorization on Array Summation以更正Store和Global Memory之间数据流。
- 更新了Loop Unrolling小节中 unroll pragma指令的内容。
- 更新了局部存储器小节的内容。
- 更新了图示Local Memories Transferring Data Blocks within Matrices A and B以更正Matrix B中的数据传输模式。
- 删除了图示Loop Unrolling with Vectorization。
- 删除了小节Optimizing Local Memory Bandwidth。
|
2013年5月 |
13.0.1 |
- 更新了术语。例如,流水线被计算单元代替;矢量lane以SIMD矢量lane替代。
- 在优良设计实践下添加如下小节:
- Preprocessor Macros。
- Floating-Point versus Fixed-Point Representations。
- Recommended Optimization Methodology。
- Sequence of Optimization Techniques。
- 更新了代码片段。
- 更新了图示Data Flow with Multiple Compute Units.
- 更新了图示Compute Unit Replication versus Kernel SIMD Vectorization。
- 更新了图示Optimizing Throughput Using Compute Unit Replication and SIMD Vectorization。
- 更新图示Memory Streaming。
- 插入图示Local Memories Transferring Data Blocks within Matrices A and B。
- 重新组织流程信息。更新了图示、列表和实例的编号。
- 包含有关新内核属性的信息: max_share_resources 和 num_share_resources 。
|
2013年5月 |
13.0.0 |
- 更新了流水线讨论的内容。
- 更新了案例学习的代码实例和结果列表。
- 更新了图示。
|
2012年11月 |
12.1.0 |
首次发布。 |