-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
We are happy to announce TaPaSCo 2020.04 coming right to you with a number of new platforms bringing TaPaSCo to the cloud and adding HBM support. AWS Support ============ TaPaSCo now supports AWS F1 instances. Start generating bitstreams using our [guide](https://github.com/esa-tu-darmstadt/tapasco/wiki/TaPaSCo-on-AWS). No changes to your runtime necessary! HBM Support ============ TaPaSCo now supports HBM enabled FPGAs, namely the XUPVVH from Bittware. Different HBM channels can be attached to the PEs as desired. MPSoC and Zynq ============== The driver and bitstream generation for MPSoC and Zynq has been modernized and is now easier to use than ever. This change comes with an entirely new root FS generator. In combination with these changes, TaPaSCo now supports the low cost entry to MPSoC: The Ultra96 v2. Bugfixes ======= In total this release closes 18 [Issues](https://github.com/esa-tu-darmstadt/tapasco/issues?q=is%3Aissue+milestone%3A2020.4+is%3Aclosed) in 317 commits.
- Loading branch information
Showing
517 changed files
with
33,726 additions
and
9,728 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
Memory Benchmark | ||
================= | ||
|
||
TaPaSCo includes a PE and example programs which can be used to measure the | ||
memory performance. | ||
|
||
You first have to import this PE and build a bitstream: | ||
``` | ||
tapasco import $TAPASCO_HOME_TOOLFLOW/examples/MemoryBenchmark.zip as 321 | ||
tapasco compose [MemoryBenchmark x 1] @ 300MHz -p *your_platform* | ||
``` | ||
You can also benchmark Non-DDR memory with this PE, e.g. HBM. For this you need to | ||
connect the PE to the HBM memory as explained [here](tapasco-features.md#HBM). | ||
Be aware that this PE includes two AXI Master Interfaces (M_AXI & M_AXI_BATCH), | ||
you should connect both to HBM. | ||
You can also include multiple MemoryBenchmark-PEs in your design, e.g. to test | ||
the performance of multiple HBM ports in parallel. | ||
|
||
## Example Programs | ||
|
||
There are two example programs you can use to measure the performance, once | ||
the bitstream is built and loaded onto your FPGA: | ||
|
||
### memtest | ||
|
||
This program requires one instance of the MemoryBenchmark-PE. | ||
It benchmarks the performance for random accesse and batch accesses, as well as | ||
the latency of read requests. | ||
|
||
#### Random Access | ||
|
||
For the random access performance the PE continously sends requests to the memory | ||
for a given time (by default 1 second). The requests can either be read requests, | ||
write requests or read and write requests in parallel. | ||
At the end the number of completed requests is used to compute the average IOPS | ||
and transfer rate. | ||
The size of each request is capped at 4096 Bytes. | ||
|
||
#### Batch Access | ||
|
||
For the batch access performance the PE sends one request to the memory. | ||
This can again be either a read request, a write request or a read and a write | ||
request in parallel. | ||
The time until the request is completed is measured and used to compute the | ||
transfer rate. The example program repeats this multiple times (by default 1.000) | ||
and calculates the average the transfer rate. | ||
The maximum size of the requests is only capped by the available memory. | ||
|
||
#### Read Latency | ||
|
||
The PE sends one read request to the memory and measures the latency between | ||
sending the request and receiving the first data packet. | ||
Again this is repeated multiple times (by default 100.000) and the minimum, | ||
average and maximum latency is computed. | ||
|
||
### memtest-parallel | ||
|
||
This program requires at least two instances of the MemoryBenchmark-PE. | ||
It is similar to the `memtest` program, but can use multiple instances | ||
of the PE to measure the performance when using them in parallel. This | ||
is e.g. useful when measuring the performance of HBM. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
Copyright (c) ${years} ${owner}. | ||
|
||
This file is part of ${projectname} | ||
(see ${projecturl}). | ||
|
||
This program is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU Lesser General Public License as published by | ||
the Free Software Foundation, either version 3 of the License, or | ||
(at your option) any later version. | ||
|
||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU Lesser General Public License for more details. | ||
|
||
You should have received a copy of the GNU Lesser General Public License | ||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
licenseheaders -t lgpl-v3.tmpl -y 2014-2020 -o "Embedded Systems and Applications, TU Darmstadt" -n TaPaSCo -u "https://github.com/esa-tu-darmstadt/tapasco" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.