Thursday, November 13, 2014

Sieve of Eratosthenes in Cilk Plus

Hey all, 

Here are some updates:
  1. Meeting with Wayne (got the Sieve idea)
  2. Created Sieve of Eratosthenes sample program in Cilk Plus
  3. Uploaded YouTube video demo of the Sieve program
Material Covered:
  • The performance of Array Notation in Cilk Plus for initializing arrays compared to regular array initialization
  • The effects of using SIMD operations and/or cilk_for to achieve finer parallelism
Some Issues / Concerns:
  •  The Sieve program fails for certain values of n.  I honestly have no idea why.  It works for small values of n (eg. 30), and extremely large values of n (eg. 50 million), but would crash with an n value somewhere in the middle (eg. 100 thousand).  
  • Since I have an 8-core AMD processor on my PC, I'm worried that my results may not have reflected the predicted results - even though all 8 cores seem to be working at once (option 'c' should in theory have been faster than 'a' and 'b'). 

Thursday, November 6, 2014

First Blog Post

Hey all, 

So far, the following has been completed:
  1. Three meetings with Professor Thulasiraman
  2. Read up on Cilk Plus
  3. Created YouTube channel
  4. Created this blog
  5. Installed Intel Parallel Studio
  6. Created first 'Fibonacci' sample program in Cilk Plus
  7. Uploaded first YouTube video
Things I've learned so far:
  • How to use cilk_spawn, cilk_sync, and cilk_for
  • The use of hyper-objects called 'reducers' for lock free multi-threaded programming
  • The meaning of elemental functions and SIMD (vector processing)