Back to Search
Start Over
Automatic Optimization of OpenCL-Based Stencil Codes for FPGAs
- Source :
- Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing ISBN: 9783319620473
- Publication Year :
- 2017
- Publisher :
- Springer International Publishing, 2017.
-
Abstract
- Recently, C-based OpenCL design environment is proposed to design FPGA (field programmable gate array) accelerators. Although many c-programs can be executed on FPGAs, the best c-code for a CPU may not be the most appropriate one for an FPGA. Users must have some knowledge about computer architecture in order to write a good OpenCL code. In addition, OpenCL-based design process requires several hours of compilation time, because re-writing and compiling many different OpenCL codes may require a very large design time. To solve this problem, we propose an automatic optimization method. We accurately predict the kernel performance using the log files generated at the initial stage of the compilation. Then we find the optimized FPGA architecture by searching all possible design parameters. We implement the proposed method to find the optimized architecture for stencil computation. According to the results, the design time has been reduced to 6–11% of the conventional approach.
- Subjects :
- 020203 distributed computing
Stencil code
Computer science
Performance tuning
02 engineering and technology
Parallel computing
Program optimization
Kernel (linear algebra)
0202 electrical engineering, electronic engineering, information engineering
Code (cryptography)
Design process
020201 artificial intelligence & image processing
Architecture
Field-programmable gate array
Subjects
Details
- ISBN :
- 978-3-319-62047-3
- ISBNs :
- 9783319620473
- Database :
- OpenAIRE
- Journal :
- Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing ISBN: 9783319620473
- Accession number :
- edsair.doi...........c8c699d10a4c7cf07ae32ea03c89bcd3
- Full Text :
- https://doi.org/10.1007/978-3-319-62048-0_6