Guide Organization
This User Guide employs the integrated profiling in SDAccel™ to analyze and understand the implications of OpenCL™ constructs on FPGA performance. This guide uses a few key designs as vehicles to illustrate performance characteristics and in turn, suggests design techniques to write OpenCL accelerators using FPGAs. The chapters in this guide are organized as follows:
-
Chapter 2: What is an FPGA?
This chapter introduces the computational elements available on an FPGA and how they compare to a processor. It covers topics such as FPGA memory hierarchy, logic elements, and how these elements interrelate.
-
Chapter 3: What is OpenCL?
This chapter introduces the basic concepts of the OpenCL programming standard. It provides an overview of the standard, provides definitions of terminologies used in the standard, and describes how FPGAs are uniquely suited for the parallel computational aspects of the standard.
-
Chapter 4: Application Optimization Flow
The recommended flow for optimizing an application in the SDAccel Environment.
-
Chapter 5: Estimating Performance
This chapter shows you how to generate a perfomance estimate and how to analyze the resulting report.
-
Chapter 6: Profiling the Application in the SDAccel Environment
This chapter describes how to generate reports and collect, display, and interpret profiling results in the SDAccel™ Environment.
-
Chapter 7: SDAccel Optimization Recommendations
This chapter provides a list of recommendations on host code, data movement, and kernel development to optimize performance of an OpenCL application
-
Chapter 8: Optimizing Host Code
This chapter describes techniques and strategies on host code optimization.
-
Chapter 9: Moving Data Efficiently between Kernel and Global Memory
This chapter describes techniques and strategies on efficient data movement between the kernel and global memories.
-
Chapter 10: Optimizing Kernels
This chapter describes techniques and strategies on optimizing the logic inside a kernel.
-
Appendix A: On-Boarding Examples
This appendix lists example categories, key concepts, and location of the examples.
-
Appendix B: Additional Resources and Legal Notices
This appendix lists additional resources for further reading. It also provides the legal copyright information for this guide.