Altera SDK For OpenCL Programming Guide Aocl
aocl_programming_guide
User Manual:
Open the PDF directly: View PDF
Page Count: 153 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Altera SDK for OpenCL Programming Guide
- Contents
- 1. Altera SDK for OpenCL Programming Guide
- Altera SDK for OpenCL Programming Guide Prerequisites
- Altera SDK for OpenCL FPGA Programming Flow
- Altera Offline Compiler Kernel Compilation Flows
- Obtaining General Information on Software, Compiler, and Custom Platform
- Displaying the Software Version (version)
- Displaying the Compiler Version (--version)
- Listing the Altera SDK for OpenCL Utility Command Options (help)
- Listing the Altera Offline Compiler Command Options (no argument, --help, or -h)
- Listing the Available FPGA Boards in Your Custom Platform (--list-boards)
- Managing an FPGA Board
- Installing an FPGA Board (install)
- Uninstalling the FPGA Board (uninstall)
- Querying the Device Name of Your FPGA Board (diagnose)
- Running a Board Diagnostic Test (diagnose <device_name>)
- Programming the FPGA Offline or without a Host (program <device_name>)
- Programming the Flash Memory (flash <device_name>)
- Structuring Your OpenCL Kernel
- Guidelines for Naming the Kernel
- Programming Strategies for Optimizing Data Processing Efficiency
- Programming Strategies for Optimizing Memory Access Efficiency
- Implementing the Altera SDK for OpenCL Channels Extension
- Overview of the AOCL Channels Extension
- Channel Data Behavior
- Multiple Work-Item Ordering for Channels
- Restrictions in the Implementation of AOCL Channels Extension
- Enabling the AOCL Channels for OpenCL Kernel
- Declaring the Channels OPENCL EXTENSION pragma
- Declaring the Channel Handle
- Implementing Blocking Channel Write Extensions
- Implementing Blocking Channel Read Extensions
- Implementing I/O Channels Using the io Channels Attribute
- Implementing Buffered Channels Using the depth Channels Attribute
- Enforcing the Order of Channel Calls
- Use Models of AOCL Channels Implementation
- Implementing OpenCL Pipes
- Overview of the OpenCL Pipe Functions
- Pipe Data Behavior
- Multiple Work-Item Ordering for Pipes
- Restrictions in OpenCL Pipes Implementation
- Enabling OpenCL Pipes for Kernels
- Using Predefined Preprocessor Macros in Conditional Compilation
- Declaring __constant Address Space Qualifiers
- Including Structure Data Types as Arguments in OpenCL Kernels
- Inferring a Register
- Enabling Double Precision Floating-Point Operations
- Single-Cycle Floating-Point Accumulator for Single Work-Item Kernels
- Designing Your Host Application
- Host Programming Requirements
- Allocating OpenCL Buffer for Manual Partitioning of Global Memory
- Collecting Profile Data During Kernel Execution
- Accessing Custom Platform-Specific Functions
- Modifying Host Program for Structure Parameter Conversion
- Allocating Shared Memory for OpenCL Kernels Targeting SoCs
- Managing Host Application
- Compiling Your OpenCL Kernel
- Compiling Your Kernel to Create Hardware Configuration File
- Compiling a Kernel for a Big-Endian System (--big-endian)
- Compiling Your Kernel without Building Hardware (-c)
- Specifying the Location of Header Files (-I <directory>)
- Specifying the Name of an AOC Output File (-o <filename>)
- Compiling a Kernel for a Specific FPGA Board (--board <board_name>)
- Resolving Hardware Generation Fitting Errors during Kernel Compilation (--high-effort)
- Defining Preprocessor Macros to Specify Kernel Parameters (-D <macro_name>)
- Generating Compilation Progress Report (-v)
- Displaying the Estimated Resource Usage Summary On-Screen (--report)
- Suppressing AOC Warning Messages (-W)
- Converting AOC Warning Messages into Error Messages (-Werror)
- Adding Source References to Optimization Reports (-g)
- Disabling Burst-Interleaving of Global Memory (--no-interleaving <global_memory_type>)
- Configuring Constant Memory Cache Size (--const-cache-bytes <N>)
- Relaxing the Order of Floating-Point Operations (--fp-relaxed)
- Reducing Floating-Point Rounding Operations (--fpc)
- Emulating and Debugging Your OpenCL Kernel
- Reviewing Your Kernel's Resource Usage Information in the Area Report
- Profiling Your OpenCL Kernel
- Conclusion
- Document Revision History
- 2. Altera SDK for OpenCL Advanced Features
- OpenCL Library
- Understanding RTL Modules and the OpenCL Pipeline
- Packaging an OpenCL Helper Function File for an OpenCL Library
- Packaging an RTL Component for an OpenCL Library
- Verifying the RTL Modules
- Packaging Multiple Object Files into a Library File
- Specifying an OpenCL Library when Compiling an OpenCL Kernel
- Using an OpenCL Library that Works with Simple Functions (Example 1)
- Using an OpenCL Library that Works with External Memory (Example 2)
- OpenCL Library Command-Line Options
- Kernel Attributes for Configuring Local Memory System
- Kernel Attributes for Reducing the Overhead on Hardware Usage
- Kernel Replication Using the num_compute_units(X,Y,Z) Attribute
- Document Revision History
- OpenCL Library
- A. Support Statuses of OpenCL Features