Altera SDK for OpenCL Version 14.1 Release Notes
Transcription
Altera SDK for OpenCL Version 14.1 Release Notes
2014.12.15 OCL004-14.1.0 Altera SDK for OpenCL Version 14.1 Release Notes Subscribe Send Feedback The Altera® Software Development Kit (SDK) for OpenCL™(1) (AOCL(2)) Release Notes provides latebreaking information about the AOCL version 14.1. New Features and Enhancements The Altera Software Development Kit (SDK) for OpenCL (AOCL) version 14.1 includes the following new features: • Emulator for assessing kernel functionality without executing each design iteration on the actual FPGA. • Profiler for instrumenting OpenCL kernels with performance counters, and assessing kernel perform‐ ance based on performance data. The Profiler includes a GUI that displays the performance data. • Single license for both the AOCL and the Quartus® II software. • AOCL uninstall utility for removing current host computer drivers used for communication with the board. • Hard floating-point support for applicable Altera devices. • For x86-64 and big-endian systems, an init_opencl.bat (Windows) and an init_opencl.sh (Linux) script you can run to set the environment variables for an active session transiently. • SoC-specific hello_world example design. The AOCL version 14.1 includes the following beta features: • Automigration functionality in the Custom Platform Toolkit for updating an existing Custom Platform for use with the current version of the AOCL. Changes to Software Behavior Items listed in the following table represent cases in which the behavior of the current release of the Altera Software Development Kit (SDK) for OpenCL (AOCL) differs from the previous version. (1) (2) OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission of the Khronos Group™. 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. © 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, 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. 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 version of device specifications before relying on any published information and before placing orders for products or services. www.altera.com 101 Innovation Drive, San Jose, CA 95134 ISO 9001:2008 Registered 2 OCL004-14.1.0 2014.12.15 Changes to Software Behavior Description For x86-64 and big-endian architectures, the version of Red Hat Enterprise (RHEL) Linux that the AOCL and the Altera Runtime Environment (RTE) for OpenCL support has been updated. Workaround The AOCL and the RTE no longer support RHEL Linux version 5.x. They only support RHEL Linux version 6. The FPGA board uninstallation procedure has been To uninstall an FPGA board, perform the following updated. tasks: 1. Following your board vendor's instructions to disconnect the board from your machine. 2. Invoke the aocl uninstall utility command to remove the current host computer drivers the AOCL and the RTE use to communi‐ cate with the FPGA board. 3. Uninstall the Custom Platform. 4. Unset the environment variable LD_LIBRARY_ PATH (for Linux) or PATH (for Windows). 5. Unset the environment variable AOCL_ BOARD_PACKAGE_ROOT. The Altera Offline Compiler (AOC) command option --util <N> has been deprecated. — The AOC command option -O3 has been deprecated. — The AOCL reprogram utility command for programming the Cyclone® V SoC Development Kit is now the program utility command. To program the Cyclone V SoC Development Kit, invoke the aocl program /dev/<device_ name> <your_kernel_filename>.aocx command. The AOCL diagnostic utility command for running a diagnostic test on the Cyclone V SoC Development Kit is now the diagnose utility command. To query a list of board variants in the Cyclone V SoC Development Kit Reference Platform (c5soc), invoke the aocl diagnose command. To run a diagnostic test on a board variant in c5soc, invoke the aocl diagnose /dev/<device_ name> command. Items listed in the following table represent cases in which the behavior of the current releases of the AOCL Custom Platform Toolkit and Reference Platforms differ from the previous version. Description Workaround You no longer need to manually migrate a Custom Platform to the current version by performing the tasks outlined in the Migration.txt file. The Altera SDK for OpenCL Custom Platform Toolkit now offers automigration as a beta functionality. Refer to the Altera SDK for OpenCL Custom Platform Toolkit User Guide for more information. A Custom Platform must now support the AOCL uninstall utility. Refer to the Altera SDK for OpenCL Custom Platform Toolkit User Guide for more information. Altera Corporation Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback OCL004-14.1.0 2014.12.15 Known Issues and Workarounds Description The board_spec.xml file of a Custom Platform now requires a compile eXtensible Markup Language (XML) element. 3 Workaround The compile element includes attributes you must specify to control Quartus II compilation, registra‐ tion, and automigration. Refer to the Altera SDK for OpenCL Custom Platform Toolkit User Guide for more information. The names of the executables for the AOCL program and diagnose utilities now match the command names. The executables reprogram and reprogram.exe are now program and program.exe, respectively. The executables diagnostic and diagnostic.exe are now diagnose and diagnose.exe, respectively. The specifications for the version attributes in the board_env.xml and board_spec.xml files have been Specify the version attribute with the version of the Altera Complete Design Suite (ACDS) and AOCL version you use to develop the Custom Platform. Arguments for the aocl_mmd_get_offline_info memory-mapped device (MMD) application programming interface (API) function have been updated. You can set the enum values AOCL_MMD_USES_YIELD and AOCL_MMD_MEM_TYPES_SUPPORTED for the requested_info_id argument in the aocl_mmd_ get_offline_info function. For more information on AOCL_MMD_USES_YIELD, refer to the aocl_mmd_ get_offline_info section in AOCL Custom Platform Toolkit Reference Material chapter of the Altera SDK for OpenCL Custom Platform Toolkit User Guide. The design partition strategy for the c5soc Reference Platform has been updated. Starting from version 14.1, the c5soc Reference Platform contains a board partition that you can export and preserve the nonkernel logic. updated. For information on how to update your existing Custom Platform that you modified from c5soc version 14.0, refer to the Altera Cyclone V SoC Development Kit Reference Platform Porting Guide. Related Information • Altera SDK for OpenCL Custom Platform Toolkit User Guide • Altera Cyclone V SoC Development Kit Reference Platform Porting Guide Known Issues and Workarounds This section provides information about the following known issues that affect the Altera Software Development Kit (SDK) for OpenCL (AOCL). Description Workaround Emulation is not supported for kernels targeting a Cyclone V SoC Development Kit. — Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback Altera Corporation 4 OCL004-14.1.0 2014.12.15 Known Issues and Workarounds Description If you install the latest Custom Platform for your target FPGA board and you use the AOCL version 14.0 to compile an OpenCL kernel for the board, design compilation might fail at the routing stage with the AOCL generating the following error message: Workaround There is no workaround. If you encounter this error, reduce the size of your kernel to decrease consumption of logic resources and then recompile your design. Error: Internal Compiler Error The following error description is available in the <your_kernel_filename>/quartus_sh_compile.log file: Error (170113): Hard routing constraints for signal "<signal_ name>" could not be satisfied If you include a memory barrier at the end of an NDRange kernel, compilation fails. Do not include a memory barrier at the end of your NDRange kernel. The $ALTERAOCLSDKROOT/init_opencl.sh script for big-endian systems adds the following paths to the LD_LIBRARY_PATH environment variable: The paths should point to the ppc64 directory, not the linux64 directory. Modify the init_opencl.sh script by replacing the erroneous LD_LIBRARY_PATH settings with the following paths: $ALTERAOCLSDKROOT/host/linux64/lib $AOCL_BOARD_PACKAGE_ROOT/linux64/lib $ALTERAOCLSDKROOT/host/ppc64/lib $AOCL_BOARD_PACKAGE_ROOT/ppc64/lib This section provides information about the following known issues that affect the current releases of the AOCL Custom Platform Toolkit and Reference Platforms. These issues might also affect Custom Platforms you create for use with the AOCL. Description Workaround The title of the Altera Stratix V Network Reference Platform User Guide has been updated to Altera Stratix V Network Reference Platform Porting Guide. — The title of the Altera Cyclone V SoC Development Kit Reference Platform User Guide has been updated to Altera Cyclone V SoC Development Kit Reference Platform Porting Guide. — For Custom or Reference Platforms that includes quick user datagram protocol (QuickUDP) intellec‐ tual property (IP) from PLDA, Improper installa‐ tion of the QuickUDP IP license causes the OpenCL kernel compilation to fail with the following error message: The error only applies to the QuickUDP IP and has no actual dependency on the TCP Hardware Stack QuickTCP IP from PLDA. Ensure you have a valid QuickUDP license that is properly installed. For more installation information, refer to the PLDA website. Error (292014): Can't find valid feature line for core PLDA QUICKTCP (73E1_AE12) in current license. Altera Corporation Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback OCL004-14.1.0 2014.12.15 Software Issues Resolved Description In the Recompiling the Linux Kernel and the OpenCL Linux Kernel Driver section of version 14.0 of the Altera Cyclone V SoC Development Kit Reference Platform Porting Guide, the instruction to run the dmesg |grep dma_contiguous_ reserve command might not result in the following message: 5 Workaround The message is not available because it is overwritten when the buffer refreshes. To verify that you enable the contiguous memory access (CMA) successfully, run the grep init_cma/proc/ kallsyms command. If the output is non-empty, CMA is enabled. cma: dma_contiguous_reserve: reserving 512 MiB for global area If your Custom Platform includes a board that has only one bank of memory, the Altera Offline Compiler (AOC) might generate incorrect hardware for a kernel targeting that board. In the board_spec.xml file of your Custom Platform, if there is exactly one interface element specified for the global_mem element, remove the interleaved_bytes and config_addr attributes from global_mem. Software Issues Resolved The following issues were corrected or otherwise resolved in the Altera Software Development Kit (SDK) for OpenCL (AOCL) version 14.1. Description Workaround Starting from the AOCL version 14.1, you no longer In the AOCL versions 13.1 and 14.0, to prevent some C++ based libraries and programs from need to remove the libstdc++ library files from the failing, in addition to setting the environment $ALTERAOCLSDKROOT/host/linux64/lib directory. variable LD_LIBRARY_PATH to $ALTERAOCLSDK‐ ROOT/host/linux64/lib at runtime, you might have to remove the following files from the $ALTERAOCLSDK‐ ROOT/host/linux64/lib directory: • • • • libstdc++.so.6.0.9 libstdc++.so.6.0 libstdc++.so.6 libstdc++.so Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback Altera Corporation 6 OCL004-14.1.0 2014.12.15 Document Revision History Document Revision History Table 1: Altera SDK for OpenCL Version 14.1 Release Notes Document Revision History Date December 2014 Document Version 14.1.0 Changes • Included the following new features: • • • • • • • • • • • • • • • • • • • Altera Corporation Single OpenCL license. AOCL uninstall utility. Hard floating-point support. An ALTERAOCLSDKROOT/init_opencl script for setting environment variables transiently. • Custom Platform automigration as a beta functionality. Noted that RHEL version 5.x is no longer supported. Noted that a routing error might be solved by reducing kernel size. Added notice the AOCL program and diagnose utilities now support the Cyclone V SoC Development Kit (c5soc). Noted that emulation is not available to kernels targeting c5soc. Noted that the end of an NDRange kernel cannot include a memory barrier. Noted the erroneous LD_LIBRARY_PATH settings in the ALTERAOCLSDKROOT/init_opencl.sh script for big-endian systems. Added notice that improper installation of the PLDA QuickUDP IP license might result in an error message that refers to the QuickTCP IP. Added change notice for the command you run to verify that CMA is enabled successfully for c5soc. Noted that the AOC might generate incorrect hardware for kernels targeting a board with only one bank of memory. Noted that the --util <N> and -O3 AOC options are deprecated. Noted that the board_spec.xml file now includes a compile XML element. Added notice of updated specifications for the version XML attributes in the board_env.xml and board_spec.xml files. Added notice about new enum value arguments for the aocl_ mmd_get_offline_info MMD API call. Added notice about board partition in the c5soc Reference Platform. Added notice that you no longer need to remove the libstdc++ library files from the ALTERAOCLSDKROOT/host/linux64/lib directory. Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback OCL004-14.1.0 2014.12.15 Document Revision History Date June 2014 Document Version 14.0.0 Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback 7 Changes • Included Cyclone V SoC support and big-endian architecture support as new features. • Included the following new features: RTE, AOCL channels extension, optimization report for single work-item kernels, and AOCL Custom Platform. • Included emulator and profiler as new beta features. • Included RPM installation option for AOCL and RTE. • Added notice that float3 argument types are supported in 14.0. • Added notice that kernel clock reconfiguration issue during .aocx file generation is fixed in 14.0. • Added notice that the issue with excessive memory consump‐ tion during full compilation is fixed in 14.0. • Added deprecation notices for the --estimatethroughput and --sw-dimm-partition AOC options. • Added deprecation notices for the num_share_resources, max_share_resources, max_unroll_loop and task kernel attributes. • Updated Linux version support. • Added support notice for OpenCL C++ bindings. • Added notice that, for Windows systems, trailing slashes in include paths are illegal. • Added notice that, for Windows systems, compilation fails if the file path to the kernel source file exceeds 260 characters in length. • Added notice that to disable burst-interleaving for the default global memory, --no-interleaving requires a default argument. • Added notice that AOC options for floating-point operations have been renamed (that is, --fp-relaxed and --fpc). • Added notice that the program and flash AOCL utilities require a device name argument. • Added notice that aocl diagnostic has been renamed to aocl diagnose. Invoking aocl diagnose queries a list of devices. Invoking aocl diagnose <device_name> runs board vendor’s diagnostic tests on a specific board. • Added notices of Cyclone V SoC-specific AOCL limitations. • Added notice to exclude the num_compute_units kernel attribute in OpenCL kernel programs targeting big-endian systems. • Added notices of the Altera SDK for OpenCL Optimization Guide and the APBPP board package have been renamed. Altera Corporation 8 OCL004-14.1.0 2014.12.15 Document Revision History Date Document 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. Altera Corporation Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback OCL004-14.1.0 2014.12.15 Document Revision History Date Document Version 9 Changes 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. Altera SDK for OpenCL Version 14.1 Release Notes Send Feedback Altera Corporation