[meta-xilinx] Yocto and Xilinx Vivado Benchmarks and Build Machine Configurations

Elvis Dowson elvis.dowson at gmail.com
Thu Feb 20 00:07:56 PST 2014


Hi,
I thought I’d start a new thread on documenting benchmarks and build machine configurations for Yocto and Xilinx Vivado.

On Feb 20, 2014, at 10:32, Mike Looijmans <mike.looijmans at topic.nl> wrote:

> On 02/20/2014 06:35 AM, Alan DuBoff wrote:
>> 
>> On Wed, February 19, 2014 12:26 pm, Elvis Dowson wrote:
>>> I haven't attempted to build on RHEL-6.5 yet, for Yocto. I was mainly
>>> concerned with improving synthesis times with the Vivado toolchain. A design
>>> that I'm working on takes about 33 minutes for synthesis and 10 minutes for
>>> implementation.
> 
> Wow, that's blazing fast.
> 
> Our "demo" project takes about 2..3 hours to build in Vivado. We're using a brand new i5 with 16GB RAM.
> 
> The only way I've found to speed up the build was to run the partial blocks in subshells, so there are a few vivado's running in parallel once the static part is done. Vivado uses only one core on average, only a very select few steps will use more than a single core.
> 
>> I would also like to get some solid state drives to build on, they are cheap
>> these days...when I upgrade my system next, it will be getting at least some
>> solid state drive(s). That will help compile times greatly.
> 
> Don't expect anything spectacular here - even building completely on a RAM disk (RAM was cheap too) did not make any difference at all.

I tested 3 machine configurations

01. Custom built machine using a Gigabyte GA-Z77X-UP5 TH (Thunderbolt support)
with an Intel quad-core i7 3770K CPU @ 3.5GHz over-clocked to 3.8GHz,
16GB RAM at 1667MHz, 120GBx2 Intel SSDs (SATA III) in a RAID0 configuration,
Corsair HT100 liquid cooler. Cost was approximately USD$1100.

You can over-clock this machine configuration upto 4.5GHz.

Yocto build time for core-image-minimal for the ZC702 board : 22 minutes

Xilinx Vivado-2013.2 build time for a reference design for the ZC702, with
around 12 pcores and utilizing approximately 80% of the device logic capacity

synthesis 		: 00:32:58
implementation	: 00:10:00 (implementation)
    				: 00:05:43 (implementation, generate bitstream)

Using an SSD and a RAM disk made a huge difference for Yocto build times.

The OS was Ubuntu-12.10 x86 64-bit.

I performed another test, on the same machine using RHEL-6.5 Workstation
but installed the OS on a standard WD NAS hard drive at 7200RPM
and observed that for Xilinx Vivado, it doesn’t matter if you use an SSD or a
standard HDD.

Build time on RHEL-6.5 for Vivado-2013.2 running on a standard HDD was
actually faster than Ubuntu-12.10, at 30 minutes, which leads me to believe
that RHEL may be better optimised in terms of performance as an OS than
Ubuntu.

So, for Vivado, using an SSD doesn’t make a difference or add to the build times.
I haven’t repeated the test using RHEL on the SSD because I don’t want to incur
a downtime with my setup! ;-)

I’ve documented the entire setup and configuration process for this machine
configuration, so if anyone’s interested just let me know.

Here is a link to the Gigabyte mother board product page:

http://www.gigabyte.com/products/product-page.aspx?pid=4279#ov

They have a new version with support for Thunderbolt 2 as well:

http://www.gigabyte.com/press-center/news-page.aspx?nid=1259

I’ve tested this with an Apple Thunderbolt 27” display. The HDMI output also works
at the same time, as well.

02. Apple Mac Pro 6-core Xeon E5 3.5GHz, 16GB 1867 MHz DDR3 ECC, Late 2013.

http://store.apple.com/us/buy-mac/mac-pro?product=MD878LL/A&step=config
Cost as configured: USD$3999.

I didn’t buy this one yet, but I tested it out at the Apple store, by running the same
Vivado on a RHEL-6.5 virtual machine, using VMware Fusion 6.0.2.

I performed 2 tests, one with all available 12-core for the virtual machine, 
and the other with 6-cores. The results were both the same.
The Xeon E5 3.5GHz system was 5 minutes slower running the build using
a virtual machine than a quad-core i7 at 3.8GHz running linux natively.

VMware Fusion 6.0.2 configured to use 12-cores.

synthesis 		: 00:37:44
implementation	: 00:05:18 (implementation)
    				: 00:06:18 (implementation, generate bitstream)

VMware Fusion 6.0.2 configured to use 6-cores.

synthesis 		: 00:37:44
implementation	: 00:05:18 (implementation)
    				: 00:06:18 (implementation, generate bitstream)

I didn’t run any Yocto benchmarks on this machine.

I don’t think the current Linux distros support installing the OS natively on
the new Apple Mac Pro yet, and it would be good to repeat this test natively.

03. iMac 27" quad-core i7 2.8GHz, 16GB 1067MHz RAM, Late-2009, iMac 11,1

I repeated the same test on an older iMac 27” with the following results:

VMware Fusion 6.0.2 configured to use 8-cores.

synthesis 		: 00:51:50
implementation	: 00:07:24 (implementation)
    				: 00:08:42 (implementation, generate bitstream)


Regards,

Elvis Dowson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1536 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20140220/865f3f6a/attachment.pgp>


More information about the meta-xilinx mailing list