rn_aocl

6
13.1 2013 Altera Corporation OCL004-13.1.1 Release Notes Subscribe © 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. OpenCL™ and the OpenCL logo are trademarks of Apple Inc. used by permission of Khronos. * The Altera SDK for OpenCL is based on a published Khronos Specification, and has passed the Khronos Conformance Testing Process. Current conformance status can be found at www.khronos.org/conformance. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html . Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest 101 Innovation Drive San Jose, CA 95134 www.altera.com Altera SDK for OpenCL Version 13.1 Release Notes The Altera ® SDK for OpenCL (AOCL) Release Notes provides late-breaking information about the AOCL version 13.1. New Features & Enhancements The AOCL version 13.1 includes the following new features: You can use the Quartus ® II software installer to install the Quartus II software, the Stratix ® V device support, and the AOCL together. You can also install the AOCL as a stand-alone software. f Refer to the Altera SDK for OpenCL Getting Started Guide for more information. Beta support for programming multiple FPGA devices. f Refer to the Altera SDK for OpenCL Programming Guide for more information. When you compile your OpenCL kernels, you can direct the Altera Offline Compiler (AOC) to calculate the estimated kernel throughput by including an --estimate-throughput flag in the aoc command. Beta support for heterogeneous global memory systems. f Refer to the Altera SDK for OpenCL Programming Guide and the Altera SDK for OpenCL Optimization Guide for more information. For a heterogeneous global memory system, you can disable burst-interleaving for all global memory banks of the same type and manage them manually by including a --no-interleaving <memory_type> flag in the aoc command. You can implement the buffer_location kernel attribute to define the global memory type in which you can allocate a buffer. f Refer to the Altera SDK for OpenCL Programming Guide and the Altera SDK for OpenCL Optimization Guide for more information. You can implement the task kernel attribute to direct the AOCL host to execute your kernel as a single work-item task. f Refer to the Altera SDK for OpenCL Programming Guide and the Altera SDK for OpenCL Optimization Guide for more information.

description

rn_aocl

Transcript of rn_aocl

Page 1: rn_aocl

13.1 2013 Altera Corporation

OCL004-13.1.1

© 2013 Altera Corporation. AlNIOS, QUARTUS and STRATTrademark Office and in otherKhronos. * The Altera SDK forConformance Testing Process.and logos identified as trademwww.altera.com/common/leaccordance with Altera's standwithout notice. Altera assumeservice described herein excep

101 Innovation DriveSan Jose, CA 95134www.altera.com

Altera SDK for OpenCL Version 13.1Release Notes

Release Notes

The Altera® SDK for OpenCL™ (AOCL) Release Notes provides late-breaking information about the AOCL version 13.1.

New Features & EnhancementsThe AOCL version 13.1 includes the following new features:

■ You can use the Quartus® II software installer to install the Quartus II software, the Stratix® V device support, and the AOCL together. You can also install the AOCL as a stand-alone software.

f Refer to the Altera SDK for OpenCL Getting Started Guide for more information.

■ Beta support for programming multiple FPGA devices.

f Refer to the Altera SDK for OpenCL Programming Guide for more information.

■ When you compile your OpenCL kernels, you can direct the Altera Offline Compiler (AOC) to calculate the estimated kernel throughput by including an --estimate-throughput flag in the aoc command.

■ Beta support for heterogeneous global memory systems.

f Refer to the Altera SDK for OpenCL Programming Guide and the Altera SDK for OpenCL Optimization Guide for more information.

■ For a heterogeneous global memory system, you can disable burst-interleaving for all global memory banks of the same type and manage them manually by including a --no-interleaving <memory_type> flag in the aoc command.

■ You can implement the buffer_location kernel attribute to define the global memory type in which you can allocate a buffer.

f Refer to the Altera SDK for OpenCL Programming Guide and the Altera SDK for OpenCL Optimization Guide for more information.

■ You can implement the task kernel attribute to direct the AOCL host to execute your kernel as a single work-item task.

f Refer to the Altera SDK for OpenCL Programming Guide and the Altera SDK for OpenCL Optimization Guide for more information.

Subscribe

l rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, HARDCOPY, MAX, MEGACORE, IX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and countries. OpenCL™ and the OpenCL logo are trademarks of Apple Inc. used by permission of OpenCL is based on a published Khronos Specification, and has passed the Khronos Current conformance status can be found at www.khronos.org/conformance. All other words arks or service marks are the property of their respective holders as described at gal.html. Altera warrants performance of its semiconductor products to current specifications in ard warranty, but reserves the right to make changes to any products and services at any time

s no responsibility or liability arising out of the application or use of any information, product, or t as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest

Page 2: rn_aocl

Changes to Software Behavior Page 2

Changes to Software BehaviorItems listed in the following table represent cases in which the behavior of the current release of the AOCL differs from the previous version.

Description Workaround

The installation and uninstallation procedures for the Quartus II software, the Stratix V device support, and the AOCL have changed.

Refer to the Altera SDK for OpenCL Getting Started Guide for updated installation and uninstallation instructions.

The procedure for setting the ALTERAOCLSDKROOT environment variable has changed.

You no longer need to set the ALTERAOCLSDKROOT environment variable manually. The installer automatically sets ALTERAOCLSDKROOT to point to the folder or directory containing the extracted installation package.

c The uninstaller does not remove the ALTERAOCLSDKROOT environment variable automatically. You must remove ALTERAOCLSDKROOT manually when you uninstall the AOCL.

The name of the folder or directory containing the contents of the AOCL version 13.1 has changed.

The contents of the AOCL version 13.1 are extracted to the hld folder or directory. For example, C:\Altera\<version>\hld.

The AOC no longer generates the kernel throughput analysis report on-screen when you include only the --report flag in your aoc command.

The command aoc -c <your_kernel_filename>.cl --report directs the AOC to generate the estimated resource usage summary on screen only.

To view the kernel throughput analysis report in the <your_kernel_filename>.log file, include the --estimate-throughput flag in your aoc command.

To view the kernel throughput analysis report on-screen, include both the --estimate-throughput and the --report flags in your aoc command.

The AOCL no longer includes a designs folder or directory containing example OpenCL applications. You can download example OpenCL designs from the OpenCL

Design Examples page on the Altera website.

December 2013 Altera Corporation Altera SDK for OpenCL Version 13.1 Release Notes

Page 3: rn_aocl

Known Issues & Workarounds Page 3

Known Issues & WorkaroundsThis section provides information about the following known issues that affect the AOCL.

Description Workaround

If the filename of your OpenCL application begins with a non-alphanumeric character, compilation will fail.

For example, if you compile a kernel named /&myKernel.cl by invoking the command aoc /&myKernel.cl, compilation fails with the following error message:

Error: Quartus compilation FAILED

See quartus_sh_compile.log for the output log.

Ensure that the filenames of your OpenCL application begin with alphanumeric characters.

c The AOCL translates any non-alphanumeric character into an underscore (“_”).

If you differentiate two OpenCL application files by ending the filenames with different non-alphanumeric characters, the AOC replaces the non-alphanumeric characters with underscores (“_”). For example, if you have two kernels named myKernel#.cl and myKernel&.cl, the AOC renames both to myKernel_.cl during compilation.

Altera recommends that you avoid including non-alphanumeric characters in your filenames.

For Linux systems, the setting of the PATH environment variable has been updated.

During AOCL installation, add $ALTERAOCLSDKROOT/bin to the PATH environment variable.

During AOCL uninstallation, remove the added path from the PATH environment variable.

For Linux systems, the setting of the LD_LIBRARY_PATH environment variable has been updated.

Do not set the LD_LIBRARY_PATH environment variable during AOCL installation.

Before you run the host application, set the LD_LIBRARY_PATH environment variable to $ALTERAOCLSDKROOT/host/linux64/lib.

During AOCL uninstallation, remove the added path from the LD_LIBRARY_PATH environment variable.

For Windows systems, the setting of the PATH environment variable has been updated.

During AOCL installation, add %ALTERAOCLSDKROOT%\bin to the PATH environment variable.

Before you run the host application, add %ALTERAOCLSDKROOT%\host\windows64\bin to the PATH environment variable.

During AOCL uninstallation, remove the added paths from the PATH environment variable.

December 2013 Altera Corporation Altera SDK for OpenCL Version 13.1 Release Notes

Page 4: rn_aocl

Known Issues & Workarounds Page 4

Including float3 value-type arguments in your kernel results in hardware that functions incorrectly.

For example, the following value-type argument results in incorrect hardware:

__kernel void myKernel(__global float3 sum)

{

//statements

}

Do not include float3 value-type arguments in your kernels.

The AOCL does not support flash programming of BittWare accelerator boards using the AOCL flash utility.

To program the flash memory of your BIttWare board, contactyour board vendor for support. Refer to the BittWare DeveloperSite of the BittWare website for more information.

If you debug your host application on Linux using the GNU Project debugger (GDB), the debugging process terminates with the following error message:

Program received signal SIG44, Real-time event 44.

To debug your host application using the GDB, invoke thefollowing GDB command prior to running the host application:

handle SIG44 nostop

The AOC might consume a large amount of memory when performing a full compilation of an OpenCL design. As a result, you might encounter one or both of the following situations:

■ You might experience very long compilation times.

■ Your operating system might fail with a fatal system error.

Before you perform a full compilation, you must modify theQuartus II Settings files (.qsf) by performing the followingsteps:

1. Locate the path to your FPGA board package by invoking the aocl board-path command.

2. Navigate to the board package folder or directory, and add the assignment set_global_assignment - name AUTO_PARALLEL_SYNTHESIS OFF to all the files named top.qsf.

Some C++ based libraries and programs might fail if you perform all of the following:

1. You run the AOCL on Red Hat Enterprise Linux (RHEL) version 6.0 or later.

2. You set LD_LIBRARY_PATH to $ALTERAOCLSDKROOT/host/linux64/lib when you install the AOCL.

3. You attempt to execute host code that uses C++ runtime features available in GNU Compiler Collection (GCC) version 4.3 or later.

To make the OpenCL runtime compatible with C++ code thatyou compile with new versions of GCC, set LD_LIBRARY_PATHto $ALTERAOCLSDKROOT/host/linux64/lib only when you runyour OpenCL host program.

If setting LD_LIBRARY_PATH is insufficient, remove thefollowing files from the AOCL:

■ $ALTERAOCLSDKROOT/host/linux64/lib/libstdc++.so.6.0.9

■ $ALTERAOCLSDKROOT/host/linux64/lib/libstdc++.so.6.0

■ $ALTERAOCLSDKROOT/host/linux64/lib/libstdc++.so.6

■ $ALTERAOCLSDKROOT/host/linux64/lib/libstdc++.so

Instead of these listed files, the Altera runtime libraries access the libstdc++ library (version 6.0.9 or later) available from your user’s environment. The library must be from version 6.0.9 or later.

Description Workaround

December 2013 Altera Corporation Altera SDK for OpenCL Version 13.1 Release Notes

Page 5: rn_aocl

Software Issues Resolved Page 5

Software Issues ResolvedThe following issues were corrected or otherwise resolved in the AOCL version 13.1.

Description Workaround

In the AOCL versions 13.0 SP1 and earlier, the AOC might not parse the following OpenCL kernel parameters correctly:

■ global_id_*

■ local_id_*

■ group_id_*

■ local_size_*

■ num_groups_*

Starting from the AOCL version 13.1, the AOC parses these OpenCL kernel parameters correctly.

In the AOCL versions 13.0 SP1 and earlier, the following AOCL utilities were not fully implemented for BittWare FPGA boards:

■ aocl install

■ aocl diagnostic

■ aocl program

Starting from the AOCL version 13.1, you can implement the AOCL install, diagnostic, and program utilities to manage your BittWare FPGA board.

December 2013 Altera Corporation Altera SDK for OpenCL Version 13.1 Release Notes

Page 6: rn_aocl

Document Revision History Page 6

Document Revision History The following table shows the revision history for this document.

Document Revision History

Date Version Changes

December 2013 13.1.1

Included multiple devices support as a new beta feature.

Included heterogeneous memory system as a new beta feature.

Included the --no-interleaving <memory_type> option of the aoc command.

Included new buffer_location kernel attribute.

Added notice to modify the contents of $ALTERAOCLSDKROOT/host/linux64/lib to remove OpenCL runtime incompatibility with C++ code compiled with GCC versions 4.3 and later.

November 2013 13.1.0

Included the --estimate-throughput option of the aoc command.

Included new task kernel attribute.

Included restrictions on OpenCL filenames.

Updated installation and uninstallation instructions.

Updated location where OpenCL example applications can be downloaded.

Updated the name of the folder or directory to which the installer extracts the AOCL.

Updated setting of the PATH environment variable.

Updated setting to LD_LIBRARY_PATH environment variable.

Updated output of the --report flag of the aoc command.

Updated the AOCL support status for BittWare FPGA boards.

Updated the AOCL support status for kernel parameters.

Updated support status for float3 argument types.

Included notice on premature termination of host application debugging process in GDB.

Included notice to modify top.qsf to avoid large memory consumption during full compilation.

June 2013 13.0 SP1.0

Included new kernel attributes and new design example.

Updated LM_LICENSE_FILE setting for Windows and Linux systems.

Updated board driver installation instructions.

Updated the SDK installation instructions for Linux systems without preexisting .cshrc or .bashrc files.

Updated the locations of the board drivers for Nallatech and Bittware boards.

Updated the implementation status of the AOCL utility for the BittWare board.

Updated vendor and device IDs on Windows systems.

Updated path to design examples.

Updated path to the moving_average design example.

Updated flash programming instructions.

Updated file type support for .aocx files.

Updated support status of complex exit paths in kernel source code.

Added notices on figure updates in the Altera SDK for OpenCL Optimization Guide.

May 2013 13.0.0 Initial release.

December 2013 Altera Corporation Altera SDK for OpenCL Version 13.1 Release Notes