Skip to content

Commit 2bd7064

Browse files
author
Abdullah Mughrabi
committedApr 23, 2020
[README] updated the readme file with correct makefile targets
1 parent 3825c94 commit 2bd7064

File tree

1 file changed

+158
-60
lines changed

1 file changed

+158
-60
lines changed
 

‎README.md

+158-60
Original file line numberDiff line numberDiff line change
@@ -180,29 +180,114 @@ CAPI@Precis:~CAPIPrecis/00_bench$ make run-capi-sim-verbose
180180
6. Example output: please check [(CAPI User's Manual)](http://www.nallatech.com/wp-content/uploads/IBM_CAPI_Users_Guide_1-2.pdf), for each response explanation. The stats are labeled `RESPONSE_COMMANADTYPE_count`.
181181
```
182182
*-----------------------------------------------------*
183-
| AFU Stats |
183+
| WEDStruct structure |
184184
-----------------------------------------------------
185-
| CYCLE_count : #Cycles |
185+
| wed | 0x557ba26c1600 |
186+
| wed->size_send | 131072 |
187+
| wed->size_recive | 131072 |
188+
| wed->array_send | 0x7fc19b290080 |
189+
| wed->array_receive | 0x7fc19b20f080 |
190+
-----------------------------------------------------
191+
*-----------------------------------------------------*
192+
| AFU configuration START |
193+
-----------------------------------------------------
194+
| status | 0 |
195+
*-----------------------------------------------------*
196+
| AFU configuration DONE |
197+
-----------------------------------------------------
198+
| status | 1111000000000001 |
199+
*-----------------------------------------------------*
200+
*-----------------------------------------------------*
201+
| CU configuration START |
202+
-----------------------------------------------------
203+
| status | 0 |
204+
*-----------------------------------------------------*
205+
| CU configuration DONE |
206+
-----------------------------------------------------
207+
| status | 333b1000008 |
208+
*-----------------------------------------------------*
209+
*-----------------------------------------------------*
210+
| AFU Stats |
211+
-----------------------------------------------------
212+
| CYCLE_count | 55060 |
213+
| Time (Seconds) | 0.00022023999999999999 |
214+
-----------------------------------------------------
215+
*-----------------------------------------------------*
216+
| Total BW |
217+
-----------------------------------------------------
218+
| Data MB | 1.00000000000000000000 |
219+
| Data GB | 0.00097656250000000000 |
220+
-----------------------------------------------------
221+
| BandWidth MB/s | 4540.50127134035574272275 |
222+
| BandWidth GB/s | 4.43408327279331615500 |
223+
*-----------------------------------------------------*
224+
| Total Read BW |
225+
-----------------------------------------------------
226+
| Data MB | 0.50000000000000000000 |
227+
| Data GB | 0.00048828125000000000 |
228+
-----------------------------------------------------
229+
| BandWidth MB/s | 2270.25063567017787136137 |
230+
| BandWidth GB/s | 2.21704163639665807750 |
231+
*-----------------------------------------------------*
232+
| Total Write BW |
233+
-----------------------------------------------------
234+
| Data MB | 0.50000000000000000000 |
235+
| Data GB | 0.00048828125000000000 |
236+
-----------------------------------------------------
237+
| BandWidth MB/s | 2270.25063567017787136137 |
238+
| BandWidth GB/s | 2.21704163639665807750 |
239+
*-----------------------------------------------------*
240+
| Effective total BW |
241+
-----------------------------------------------------
242+
| Data MB | 1.00000000000000000000 |
243+
| Data GB | 0.00097656250000000000 |
244+
-----------------------------------------------------
245+
| BandWidth MB/s | 4540.50127134035574272275 |
246+
| BandWidth GB/s | 4.43408327279331615500 |
247+
*-----------------------------------------------------*
248+
| Effective Read BW |
249+
-----------------------------------------------------
250+
| Data MB | 0.50000000000000000000 |
251+
| Data GB | 0.00048828125000000000 |
252+
-----------------------------------------------------
253+
| BandWidth MB/s | 2270.25063567017787136137 |
254+
| BandWidth GB/s | 2.21704163639665807750 |
255+
*-----------------------------------------------------*
256+
| Effective Write BW |
257+
-----------------------------------------------------
258+
| Data MB | 0.50000000000000000000 |
259+
| Data GB | 0.00048828125000000000 |
260+
-----------------------------------------------------
261+
| BandWidth MB/s | 2270.25063567017787136137 |
262+
| BandWidth GB/s | 2.21704163639665807750 |
186263
*-----------------------------------------------------*
187-
| Responses Stats |
264+
| Byte Transfer Stats |
188265
-----------------------------------------------------
189-
| DONE_count : (#) Commands successful |
266+
| READ_BYTE_count | 524288 |
267+
| WRITE_BYTE_count | 524288 |
190268
-----------------------------------------------------
191-
| DONE_READ_count : (#) Reads successful |
192-
| DONE_WRITE_count : (#) Writes successful |
269+
| PREFETCH_READ_BYTE_count | 0 |
270+
| PREFETCH_WRITE_BYTE_count | 0 |
271+
*-----------------------------------------------------*
272+
| Responses Stats |
273+
-----------------------------------------------------
274+
| DONE_count | 8415 |
193275
-----------------------------------------------------
194-
| DONE_RESTART_count : (#) Bus Restart |
276+
| DONE_READ_count | 4096 |
277+
| DONE_WRITE_count | 4096 |
195278
-----------------------------------------------------
196-
| DONE_PREFETCH_READ_count : (#) Read Prefetches |
197-
| DONE_PREFETCH_WRITE_count: (#) Write Prefetches |
279+
| DONE_RESTART_count | 206 |
198280
-----------------------------------------------------
199-
| PAGED_count : 0 |
200-
| FLUSHED_count : 0 |
201-
| AERROR_count : 0 |
202-
| DERROR_count : 0 |
203-
| FAILED_count : 0 |
204-
| NRES_count : 0 |
205-
| NLOCK_count : 0 |
281+
| DONE_PREFETCH_READ_count | 8 |
282+
| DONE_PREFETCH_WRITE_count | 8 |
283+
-----------------------------------------------------
284+
| PAGED_count | 206 |
285+
| FLUSHED_count | 0 |
286+
| AERROR_count | 0 |
287+
| DERROR_count | 0 |
288+
| FAILED_count | 0 |
289+
| NRES_count | 0 |
290+
| NLOCK_count | 0 |
206291
*-----------------------------------------------------*
207292
208293
```
@@ -216,35 +301,37 @@ These steps require ALTERA Quartus synthesis tool, starting from release 15.0 of
216301
##### Using terminal
217302
1. From the root directory (using terminal)
218303
```console
219-
CAPI@Precis:~CAPIPrecis$ make run-capi-synth
304+
CAPI@Precis:~CAPIPrecis$ make run-synth
305+
```
306+
or
307+
```console
308+
CAPI@Precis:~CAPIPrecis$ cd 01_capi_integration/accelerator_synth/
309+
CAPI@Precis:~CAPIPrecis/01_capi_integration/accelerator_synth$ make
220310
```
311+
221312
2. Check CAPIPrecis.sta.rpt for timing requirements violations
222313

223314
##### Using Quartus GUI
224315
1. From the root directory (using terminal)
225316
```console
226-
CAPI@Precis:~CAPIPrecis$ make run-capi-gui
317+
CAPI@Precis:~CAPIPrecis$ make run-synth-gui
227318
```
228-
2. Synthesize using Quartus GUI
229-
230-
##### Another way (using terminal)
231-
1. From the root directory go to CAPI integration directory -> CAPIPrecis synthesis folder
319+
or
232320
```console
233321
CAPI@Precis:~CAPIPrecis$ cd 01_capi_integration/accelerator_synth/
322+
CAPI@Precis:~CAPIPrecis/01_capi_integration/accelerator_synth$ make gui
234323
```
235-
2. invoke synthesis from terminal
236-
```console
237-
CAPI@Precis:~CAPIPrecis/01_capi_integration/accelerator_synth$ make
238-
```
324+
2. Synthesize using Quartus GUI
239325

240-
##### Another way (using Quartus GUI)
241-
1. From the root directory go to CAPI integration directory -> CAPIPrecis synthesis folder
326+
##### Using terminal (sweep seeds)
327+
1. From the root directory (using terminal) runs a list of seeds synthesizing for each.
242328
```console
243-
CAPI@Precis:~CAPIPrecis$ cd 01_capi_integration/accelerator_synth/
329+
CAPI@Precis:~CAPIPrecis$ make run-synth-sweep
244330
```
245-
2. invoke synthesis from terminal
331+
or
246332
```console
247-
CAPI@Precis:~CAPIPrecis/01_capi_integration/accelerator_synth$ make gui
333+
CAPI@Precis:~CAPIPrecis$ cd 01_capi_integration/accelerator_synth/
334+
CAPI@Precis:~CAPIPrecis/01_capi_integration/accelerator_synth$ make sweep
248335
```
249336

250337
#### Flashing image
@@ -281,36 +368,47 @@ This run outputs different AFU-Control stats based on the responses received fro
281368
CAPI@Precis:~CAPIPrecis/00_bench$ make run-capi-fpga-verbose
282369
```
283370

284-
3. Example output: please check [(CAPI User's Manual)](http://www.nallatech.com/wp-content/uploads/IBM_CAPI_Users_Guide_1-2.pdf), for each response explanation. The stats are labeled `RESPONSE_COMMANADTYPE_count`.
371+
# CAPI-Precis Options
372+
285373
```
286-
*-----------------------------------------------------*
287-
| AFU Stats |
288-
-----------------------------------------------------
289-
| CYCLE_count : 106804 |
290-
*-----------------------------------------------------*
291-
| Responses Stats |
292-
-----------------------------------------------------
293-
| DONE_count : 16764 |
294-
-----------------------------------------------------
295-
| DONE_READ_count : 8192 |
296-
| DONE_WRITE_count : 8192 |
297-
-----------------------------------------------------
298-
| DONE_RESTART_count : 355 |
299-
-----------------------------------------------------
300-
| DONE_PREFETCH_READ_count : 12 |
301-
| DONE_PREFETCH_WRITE_count: 12 |
302-
-----------------------------------------------------
303-
| PAGED_count : 355 |
304-
| FLUSHED_count : 0 |
305-
| AERROR_count : 0 |
306-
| DERROR_count : 0 |
307-
| FAILED_count : 0 |
308-
| NRES_count : 0 |
309-
| NLOCK_count : 0 |
310-
*-----------------------------------------------------*
374+
Usage: capi-precis-openmp [OPTION...]
375+
-s <size> -n [num threads] -a [afu config] -c [cu config]
376+
377+
CAPIPrecis is an open source CAPI enabled FPGA processing framework, it is
378+
designed to abstract the PSL layer for a faster development cycles
379+
380+
-a, --afu-config=[DEFAULT:0x1]
381+
AFU-Control buffers(read/write/prefetcher)
382+
arbitration 0x01 round robin 0x10 fixed priority
383+
-b, --afu-config2=[DEFAULT:0x0]
384+
385+
AFU-Control MMIO register for extensible features
386+
-c, --cu-config=[DEFAULT:0x01]
387+
CU configurations for requests cached/non
388+
cached/prefetcher active or not check Makefile for
389+
more examples
390+
-d, --cu-config2=[DEFAULT:0x00]
391+
392+
CU-Control MMIO register for extensible features
393+
-m, --cu-mode=[DEFAULT:0x03]
394+
CU configurations for read/write engines.
395+
disable-both-engines-[0] write-engine-[1]
396+
read-engine-[2] enable-both-engines-[3]
397+
-n, --num-threads=[DEFAULT:MAX]
398+
399+
Default: MAX number of threads the system has
400+
-s, --size=SIZE:512
401+
Size of array to be sent and copied back
402+
-?, --help Give this help list
403+
--usage Give a short usage message
404+
-V, --version Print program version
405+
406+
Mandatory or optional arguments to long options are also mandatory or optional
407+
for any corresponding short options.
311408
312409
```
313410

411+
314412
# CAPIPrecis Structure:
315413
<p align="center"><img src="./02_slides/fig/CAPIPrecis_chipplanner.png" width="600" ></p>
316414
<p align="center"><img src="./02_slides/fig/theme2.png" width="650" ></p>
@@ -369,9 +467,9 @@ CAPI@Precis:~CAPIPrecis/00_bench$ make run-capi-fpga-verbose
369467
* *`Makefile`* - This makefile handles the compilation/and simulation of CAPIPrecis
370468
* `01_capi_integration` - The SW side that runs on the Device(FPGA)/ModelSim
371469
* `accelerator_rtl`
372-
* `cu` - CU Units reside in this folder (read/write engines)
373-
* `pkg` - global packages
374-
* `afu` - AFU Control units in this folder
470+
* `cu_control` - CU Units reside in this folder (read/write engines)
471+
* `afu_pkgs` - global packages
472+
* `afu_control` - AFU Control units in this folder
375473
* `accelerator_bin` - Binary images of CAPIPrecis (passed time requirements)
376474
* `capi-precis_GITCOMMIT#_DATETIME.rbf` - flash binary image
377475
* `synthesis_reports_capi-precis_GITCOMMIT#_DATETIME` - synthesis reports for that binary image

0 commit comments

Comments
 (0)
Please sign in to comment.