Iyonix software speed boost driver releasedPublished: 22nd Dec 2006, 15:36:38 | Permalink | Printable
Officer, I swear I was only doing 32MB/sSoftware running on the Castle Iyonix could benefit from a huge speed boost following the release of a new hardware acceleration driver. The module, developed by Rik Griffin, harnesses the application accelerator in the Intel XScale IOP321 processor to quickly transfer blocks of memory around the system.
The hardware acceleration can hit memory copying and filling speeds of up to 600MB/s, according to Rik. A quick test showed that non-accelerated programs on the Iyonix can manage 36MB/s, roughly half the speed of an ARM9-powered A9home under the same test. While the IOP321's accelerator is in action, the processor can also execute other code, although applications that support this are slightly more tricky to design and write.
Denbridge Marine engineer Rik said his AppAcc software allows programs to access the hardware acceleration when they need to throw data around the system. Software must be modified to take advantage of the acceleration, or use a SharedCLibrary module that can talk to AppAcc. It's understood not all applications will benefit, especially software that doesn't move large chunks of data around.
He said: "AppAcc is a module that provides an API to the Intel 80321's application accelerator hardware. This device can copy data from one part of main memory to another without going via the CPU.
"Obviously this module will only work on the Iyonix. Notwithstanding the overheads of setting up an operation, memory copy speeds of up to 600MB/s can be achieved. Also, as the operation is not performed by the CPU, the CPU can be executing other code while the memory operation continues in the background."
Rik admitted that his module could do with some more documentation, although he suggested programmers should read chapter six of the Intel 80321 IO Processor Developer's Manual to understand how the chip works. Example programs are included with the module along with its source code.
The AppAcc software uses David "Count Druckula" Ruck's TimerMod for benchmarking purposes, and the SysLog module for debugging. Developers can recompile the module to switch off these requirements.
Following the news, David said Graham Shaw's new replacement SharedCLibrary could use AppAcc to speed up certain memory-based functions.
He said: "It's definitely overdue that someone exploits this very useful feature of the XScale. My immediate thought is that this could be incorporated into the new open source SharedCLibrary to give a significant speed boost to large memcpy() and memset() operations."
Rough tests showed that the A9home can copy memory using
memcpy() at a rate of 76MB/s using either UnixLib or RISC OS 4.42's SharedCLibrary. The Iyonix copies memory at a rate of 36MB/s using Unixlib's
memcpy() or 32MB/s using Castle's SCL.
Download Rik's accelerator and send him feedback via rik (dot) griffin [at] ntlworld (dot) com.
Previous: Acorn PC card Linux files unearthed
Next: Merry Christmas
DiscussionViewing threaded comments | View comments unthreaded, listed by date | Skip to the end
Please login before posting a comment. Use the form on the right to do so or create a free account.
Search the archives
Today's featured article
Cross platform development
Building RISC OS Programs on Windows
47 comments, latest by EasyKees on 07/10/04 8:05PM. Published: 24 Sep 2004
Image viewer SwiftJPEG updated
Can now do full screen cross-fades using ROOL ScreenFX module
Discuss this. Published: 31 Jul 2007
News and media:
RISCOS Ltd •
RISC OS Open •
MW Software •
Advantage Six •
CJE Micros •
Liquid Silicon •
Chris Why's Acorn/RISC OS collection •
The Register •
The Inquirer •
Apple Insider •
BBC News •
Sky News •
Google News •