Go parallel!
I would like to suggest an interesting article on DrDobb’s website: “Welcome to the Jungle“, on the “Go parallel” section. It’s inspiring, and frankly they cover everything I plan to cover on Parallelis, our personal, enterprise or cloud-based “heterogeneous supercomputer cluster” !
Discovering Intel SPMD Compiler (aka ispc)
I am trying my firsts parallel code using Intel™ ispc, a fantastic code compiler (based on LLVM), that produce SSE2, SSE4, AVX and AVX2 code to parallelize otherwise sequential code.
On my first try with SSE4, using interleaving (SSE4-x2), on Core i7-760 I saw a 6.9X improvement over sequential x86-64 code! But with my Sandy Bridge laptop, using interleaved AVX (AVX-x2), it was up to 15.5X faster than sequential code on the same CPU!
It’s totally impressive, as I didn’t have to write a single SSE or AVX line (wether inline macro or assembly-language), nor did I have to check if the platform support SS2, SSE4 or AVX! From my experience, to have this kind of improvment, you have to use a dual 6core CPU with hyperthreading enabled (means Mac Pro 12-core) to catch a mono-threaded ispc code!
Better, ispc enable simple launching of threads (with launch instruction), and final improvment was 73X on my 4core with hyperthreading (8 threads) laptop, over sequential mono-threaded x86-64 code. 73X what a number, and the learning curve was a matter of 1 hour with the examples that Intel™ provides with it’s free compiler!
Will come back later with working executables for various x86-64 platforms. ispc is open-source and available for Windows, Mac OS X and Linux!
Update: ispc may make the Larrabee incompatibilities with SSE & AVX irrelevant, and enable development, testing and debugging on regular AVX or AVX2 CPU, while being a silver bullet against GPGPU on CUDA or OpenCL! Good move!
Why we fight against SOPA and PIPA?
We are not a rogue web-site, we don’t host or link to copyrighted content, nor we endorse these activities.
Parallelis is committed to Parallel-computing technologies and should not be concerned about illegal file-sharing, torrent, hacking (in sense of attacking computers), in fact we build our own content, and as a content producer, this one is copyrighted and we like the idea of being protected against illegal copy or usage of our editorial content and softwares.
Being a copyrighted content producer why fight SOPA and PIPA?
There’s too many reasons to explain them all here, I suggest you follow the link ( http://americancensorship.org/ ).
One reason is that any form of censorship is bad, that censorship in hands of private corporate hands is worse, and censorship in hands of abusers is the worst things of all. And they have already have done that, abuse censorship systems that some web site offers to majors. They abused the system, and they will have huge power to shutdown any site for any reason, without having to justify themselves!
Another reason is that these law will offer the ability for any trademarked brand or copyrighted content owner to shutdown any website, or even websites that links to these websites, at any time.
So if a commenter add a link to copyrighted content, your web site could be banned definitively.
If you have a link to regular content on another web site and for *ANY* reason the other web site present copyrighted content, changing it’s page, your own web site could be banned definitively.
Did we have to monitor link on each commenter? I think we should discard links, probably.
Did we have to monitor any page that we link to, just in case there’s copyrighted content on it? Or there may be changed to host copyrighted content? Impossible!
Not rogue, we just want to benefit from Free Speech amendment
We will have a post about Larrabee™, about it’s predecessor, and about an Intel™ huge failure (worst since long time), for example.
What if Intel™ decide that an excerpt of it’s own communication, reproduced within Fair Use rules, doesn’t please them?
Intel™ might just ask to have this web site banned, definitively. Without a court hearing, without any judge, without any possibility to defend ourselves. just closed in a snap!
Many of the web sites we use each and everyday to dig information, and were we put links, such as the incredible Wikipedia ( http://wikipedia.org ) might be impacted by these laws, and I feel it’s dangerous for Free Speech, as well for Internet Business of any kind.
Radeon HD 7670 : rename game & vec5 old architecture
HP unveiled Pavilion HPE Phoenix h9 (what’s a name) that sport an AMD Radeon HD 7670.
Sadly this Radeon HD 7670 is just a refreshed HD 6670 Turks GPU, that itself is based on HD 5670 Redwood GPU!!!
So Radeon HD 7600 won’t have the new GCN architecture, nor the intermediate vec4 architecture, but the old vec5 architecture, and it’s clearly a no-go for GPGPU development!
Exciting 2012 year!!!
I find 2012 will be awesome for parallel-computing and especially the GPGPU world…
AMD Radeon GCN
AMD will present it’s HD7000 flagship in january, the Radeon HD 7970, with the new GCN architecture that will offer fine-grained execution path and multitasking, targeting Fermi and maybe Kepler for ease of programming, and at same time still offering the best Gflops/price ratio!
nVidia Kepler
nVidia was the champion for GPGPU computing with CUDA and OpenCL, Fermi was a breakthrough architecture with incredible flexibility for GPGPU computing while still struggling to offers raw Gflops performance of Radeon GPU. Kepler is announced for 2012 (probably Q2’12) with a huge leap in term of raw floating point performance, maybe going the SIMD way as AMD’s GCN!
Intel AVX & ispc
Sandy Bridge introduced the new AVX instruction-set in 2011, that double the size of the SSE SIMD registers (from 128 to 256 bits), new instructions to offers much more flexibility, and a theorically doubled throuput over current Intel current implementation of SSE. A major step forward for SIMD algorithm, leading even improvement for 128-bit SIMD due to the new AVX instructions!
ispc is the free multi-platform compiler dedicated to auto-vectorize existing code to take advantage of these SIMD capability for the rest of us (that won’t hand-code AVX instructions). It could be very impressive on usual un-optimized code that might use x87 instructions (ouch!), old SSE instructions (on SISD), producing code that will use SIMD as much as possible, on AVX as well as older SSE-enabled CPU.
CUDA partly open-sourced
CUDA are the most mature GPGPU development environment, tools and drivers, actually limited to nVidia GPU. nVidia just opened it’s compiler to enable the creation of back-end and drivers for AMD Radeon GPU, any kind of CPU ISA, IBM cell, etc.
OpenCL gaining traction
OpenCL are development environment, tools, and drivers for GPGPU, IBM Cell as well as regular CPU. While not as efficient on nVidia GPU than CUDA, it became more and more ubiquitous, having the possibility to code for OpenCL and have your code running anywhere, and moreover natively supported on Mac OS X, on GPU and CPU (for Intel Sandy Bridge based Mac).
Intel Larrabee
An interesting move from Intel, a many-core CPU with in-order Pentium-III equivalent architecture and AVX 512 bits (16 flops per cycle/core!), promising 1 Teraflop+ of theorical computing power.
Still if it’s commercialized in 2012, it will lag behind Radeon GCN and maybe nVidia Kepler in pure performance, is *NOT* compatible with existing x86 SSE binaries nor existing AVX code, it’s not a main CPU but a coprocessor that will need it’s own fast-ram (say it will be similar ton Tesla GPGPU cards), no experience, and worse Intel already screwed it with the i860 that is very similar to Larrabee! Maybe Intel will surprise us all?!?
Simply put
More Teraflops raw power (stop talking about Gigaflops, it’s way obsolete on desktop!), more architecture flexibility (less branch divergence problems), better development tools, increasingly awesome compilers to fully exploit all that, and multi-platform : 2012 will be hot!
Wish you all a happy new year!
