Riemann zeta function in parallel/vector data languages

Continuing the work of the previous post, I looked into rewriting the serial code to run in parallel/vector data languages. My original supposition about what would make a good data language is now in doubt as a result.
First, I used PDL in Perl. But its Perl, right? It can’t possibly be fast. That would be … like, I dunno … wrong? (yes, this is sarcasm).
This completes the task in 12s. Faster than everything but the JIT/static compiled languages, and about the same as Java.
First the vectorized Perl source:

Read moreRiemann zeta function in parallel/vector data languages

Quick tests with Riemann zeta function code in a few languages

I am a self admitted speed freak … I like fast things. I like playing with the new shiny as well, to get a feel for its utility and capabilities.
I’ll freely admit I’ve been quite excited about the Julia language. I like the concept of a language specifically designed for high performance.
I am a user of Perl for many things. It is still, IMO, one of the most powerful languages available, and is reasonably fast. I am not sure I am happy with it as a data language (for massive data processing), as this is not its core competency. I’ve been hoping Julia would be able to fill this void eventually.
Matlab and more precisely, Octave, is my go-to modeling/analysis language. Its pretty trivial to express algorithms in it, and its designed to handle data.
I really need to get better at k/q in kdb+. It is very expressive, and very compact simultaneously.
Previously, I had written the rzf (Riemann zeta function calculator) in C, Fortran, node (Javascript), rewritten the C to have hand optimized inner loops, Perl. Now I’ll show the Perl, matlab/octave, julia, python, java, and kdb+ for fixed order 2, and 1 billion (109 iterations). What I am curious about is how easy it is to express, and how fast the loop construct is, without significant hand optimization. Java, Perl and Julia use a JIT compilation system though Perl executes a mid-level set of op-codes, while Julia compiles via a LLVM based JIT, and Java compiles to optimized byte codes. Matlab/octave, python and kdb+ are strictly interpreted.
The julia code is pretty straightforward:

Read moreQuick tests with Riemann zeta function code in a few languages

Knights Landing

Over at InsideHPC, Rich has a short take on Knights Landing with a link to the longer article. This is implicitly the direction I thought things would be going in … drop in replacement CPUs to provide acceleration. Probably some big-small designs to handle OS tasks on specific cores (and reduce OS based jitter). This … Read moreKnights Landing

… and OCZ goes down

see here This is a chapter 7, dissolution, not a chapter 11 restructuring. Assets to be sold, likely to Toshiba. As previously reported, the Company is not in compliance with certain of the operating ratios and covenants in the loan agreement. As a result of such action and pursuant to Hercules’ written instruction, the depository … Read more… and OCZ goes down

SC13 observations

From a post to the beowulf list:

I didn’t get a chance to see many booths … I did get free the last hour of Thursday to wander, and made sure I got to see a few people and companies.
What I observed (and please feel free to challenge/contradict/offer alternative interpretations/your own views) will definitely be colored by the glasses we wear, and the market we are in.
1) not so many chip companies (new processor designs, etc.) there. I am not sure if this is an overall trend, but in general they do not appear to be getting VC backing much any more.

Read moreSC13 observations

SC13 finale

That was a wonderful show. People got to see what we were about, our new appliances, our performance. I see many possibilities. This is good. Some key takeaways: 1) We have the fastest densest systems in market. 2) Our usable performance far outpaces our nearest competitors configurations which are not in a reasonable config (hello … Read moreSC13 finale