Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16557 Discussions

Single Work Item Kernel Optimization Report Not Generated

Altera_Forum
Honored Contributor II
1,598 Views

Hi,  

 

I'm trying to the use the optimization report which the aoc generates for single work item kernels. Unfortunately I can't get the compiler to generate the full report (at least one which resembles the examples in the opt guide).  

 

A <kernel_name>.log file is created within the compiler output directory and the start of this file does include a section entitled "Optimization Report". However the contents of this section only include: 

- a estimated resource usage report 

- and lots of time-stamped "Info" printouts from the compiler 

 

There are no messages relating to: 

- whether pipelined execution has been inferred  

- or the initiation interval etc  

- and no output which relates any implementation decisions to actual source lines of code 

 

I'm using: 

aoc --version 

Altera SDK for OpenCL, 64-Bit Offline Compiler 

Version 14.1.1 Build 190 

Copyright (C) 2015 Altera Corporation 

 

And my compile command looks like: 

aoc -g --board p385_hpc_d5 -D...preprocessing_options.... -v --report -o kern_output_name.aocx kernel.cl 

 

The kernel produced does work when executed as a single work item/task, however, very slowly hence why I'm trying to use this report. I'd be grateful for some assistance on what I'm doing wrong.  

 

Many thanks
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
409 Views

I had trouble trying to find that information as well. However, one thing that might help is to compile with the --profile flag and use the profiler to see more information about your design. The profiler is very limited but does provide some insight into your kernel in terms of memory accesses and bandwidth so you can quickly see if you're memory bounded or if it's something in terms of your computation.

0 Kudos
Altera_Forum
Honored Contributor II
409 Views

 

--- Quote Start ---  

I had trouble trying to find that information as well. However, one thing that might help is to compile with the --profile flag and use the profiler to see more information about your design. The profiler is very limited but does provide some insight into your kernel in terms of memory accesses and bandwidth so you can quickly see if you're memory bounded or if it's something in terms of your computation. 

--- Quote End ---  

Sorry, why im not getting any report even when im using "--profile"?and the error im getting is unreadable!(like the figure below)
0 Kudos
Altera_Forum
Honored Contributor II
409 Views

How are you trying to view the profile information. After you compile with --profile, run the program. After you run the program a profile.mon file should appear with the information from the profiler. Then you can view the it in the profiler GUI using aocl report <.aocx file> profile.mon.

0 Kudos
Altera_Forum
Honored Contributor II
409 Views

Thanks for your reply.actually when i compile using : (aoc --profile device/matrix_mult.cl –o bin/matrix_mult.aocx) I can create "matrix_mult.aocx" file and then run my code on FPGA but i wont see any "profile.mon" file on my folder.then when i try to force compiler to create the file using: (aoc --profile device/matrix_mult.cl aocl report –o bin/matrix_mult.aocx profile.mon),I will get thease errors: error reading 'aocl' error reading 'report' error reading 'profile.mon' 

now my question is: what is the right syntax to force compiler to create the "profile.mon" file? 

regards.
0 Kudos
Altera_Forum
Honored Contributor II
409 Views

The second command is not a valid command. The compiler does not create the profile.mon file so you cannot force it to make it. The file is created after you run the code on the FPGA because that's where it gets the data from. You should see it in your current working directory. I'm not sure why you cannot see it.

0 Kudos
Reply