XCore Github Challenge

All the latest news and announcements from XCore and XMOS.
User avatar
phalt
Respected Member
Posts: 298
Joined: Thu May 12, 2011 11:14 am

Re: XCore Github Challenge

Postby phalt » Mon Nov 07, 2011 12:46 pm

My submission this month will be a broken down demonstration of i2c aimed at teaching people how i2c works, using the XMOS i2x module as it's basis.

It will be a simple, commented example on a separate project.
User avatar
phalt
Respected Member
Posts: 298
Joined: Thu May 12, 2011 11:14 am

Postby phalt » Tue Nov 15, 2011 5:43 pm

November submission

wiki/index.php/Simple_i2c_tutorial

My submission is a short tutorial and basic example of the i2c which is easier to read and understand compared to the current one in the i2c package.

It isn't completely finished because I encountered a fairly substantial error with the i2c module (which I have let XMOS know about and they are working on) but I thought I'd submit it anyway!
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Postby lilltroll » Tue Nov 15, 2011 10:51 pm

Winner!
November submission

ASM optimized FIR filters for single thread, multi-thread and multicore.

https://github.com/xcore/sc_dsp_filters
  • app_example_multicore_fir
    app_example_multithreaded_fir
    app_example_single_thread_fir
The multicore still needs some more fix before it is generic and produces the correct result.

Some performance data on a 100 MHz device.
1 Thread:
Testing performance, Running FIR-filter for 1 sec on a single thread with
3000 filter taps
Filtered 6660 samples during 1 second
19980 kTaps per sec. 0.1% overhead

2 Threads: (1500 taps per thread)
Filtered 13315 samples during 1 second
39945 kTaps per sec. 0.13% overhead

3 Threads: (1000 taps per thread)
Filtered 19954 samples during 1 second
59862 kTaps per sec. 0.23% overhead

4 Threads: (750 taps per thread)
Filtered 26345 samples during 1 second
79035 kTaps per sec. 1.22 % overhead

8 Threads: (375 taps per thread)
Filtered 52098 samples during 1 second
156294 kTaps per sec. 2.37 % overhead

12 Threads:
3000 filter taps (250 taps per thread)
Filtered 77251 samples during 1 second
231753 kTaps per sec. 3.56% overhead
Probably not the most confused programmer anymore on the XCORE forum.
Ali
Member++
Posts: 22
Joined: Mon Jun 07, 2010 12:50 pm

Postby Ali » Thu Nov 17, 2011 12:27 pm

Hi lilltroll,

Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?

Ali
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Postby lilltroll » Thu Nov 17, 2011 3:36 pm

Ali wrote:Hi lilltroll,

Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?

Ali
The reason was to scale it up to 3 or 4 cores, I'm working on a 15 threads solution as well, and that the number 100 is very easy to calculate with. Just multiply with 5/4 for a 500 MHz device.
Probably not the most confused programmer anymore on the XCORE forum.

Who is online

Users browsing this forum: No registered users and 1 guest