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