[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] application's execution time
Hi,
no, I am not using floats, only integers. the caches are implemented and enabled but of small size (2K I/D).
If there is no incidence about noMMU configuration, what can cause a so large time execution? (actually I'm even wondering if my application would have ever stopped)
How can I speed up this? (except increasing cache size)
Regards
----- Mail Original -----
De: "Goran Bilski" <Goran.Bilski@xxxxxxxxxx>
À: microblaze-uclinux@xxxxxxxxxxxxxx, microblaze-uclinux@xxxxxxxxxxxxxx
Envoyé: Jeudi 27 Août 2009 10h56:49 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne
Objet: RE: [microblaze-uclinux] application's execution time
Hi,
Are your matrix multiplication using double floats?
Your host has hardware support for it and it takes a few clock cycle for each operation.
MicroBlaze is using software emulation for double float and each operation can take 1000+ clock cycles.
Try using integer operation only.
Has your MicroBlaze caches implemented and are they enabled?
Without caches, you easily get another 25x factor.
MMU has very little impact on the performance.
Göran
From: owner-microblaze-uclinux@xxxxxxxxxxxxxxxxxxxx on behalf of Faiza Ait-Kaci
Sent: Thu 2009-08-27 08:57
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] application's execution time
Hi,
Well actually, it is worse than that, the program hadn't stopped execution (even two hours after) I thought it took only one hour because I got a result on the screen but it was only an intermediate one.
I added another application which takes 0.02s to execute on my host (a matrix multiplication of 100*100 matrices). after two hours, the program was still running on target! I stopped the execution and tried a matrix multiplication of 10*4 matrices. the execution time on the target was of 0.01s.
Can this mean that only small programs can be run on target? Is that because of no MMU?
Thanks for answering.
Regards,
Faiza
----- Mail Original -----
De: "John Williams" <john.williams@xxxxxxxxxxxxx>
À: microblaze-uclinux@xxxxxxxxxxxxxx
Envoyé: Mardi 25 Août 2009 11h06:27 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne
Objet: Re: [microblaze-uclinux] application's execution time
Hi Faiza,
On Tue, Aug 25, 2009 at 6:36 PM, Faiza Ait-Kaci<faiza.ak@xxxxxxxxxx> wrote:
> I added a C++ application to the petalinux-dist and integrated it to the root file system image. executing it on the hardware platform, it took one hour to complete the execution!
> the program performs hundreds of iterations but on a pc it takes no more than a minute for execution. is that normal to have so a huge difference? what can slow down as much as that the execution?
What's the clock frequency of your PC, vs the system clock frequency
of the microblaze?
At a guess, maybe 3GHz vs 66Mhz? There's a factor of 45 right there.
So, 1 minute -> 45 minutes.
Then, your PC has larger caches, so relatively fewer cache misses
(leading to sloooow DDR memory accesses), ...
The PC also has a much deeper pipeline, and multiple instruction issue
etc, so gets relatively more work done per clock cycle, and so it
goes.
So, even without knowing anything about what your app actually does,
it's not hard to see a factor of 60-100 there.
To get back to PC-like performance, you will need to think carefully
about the architecture of your system as a whole - data movement and
computation, across both application, kernel and hardware domains.
Regards,
John
--
John Williams, PhD, B.Eng, B.IT
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com p: +61-7-30090663 f: +61-7-30090663
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/