Posts Tagged ‘software’

It’s Happened – Computers Writing Software

2008/08/18/1641

RTFA: http://www.nsf.gov/discoveries/disc_summ.jsp?cntn_…

“It has become extraordinarily difficult to write libraries that run as fast as possible,” Püschel says. “Particularly affected are numerical applications, those that require extensive mathematics such as any form of audio-image-video processing, communication, medical imaging, scientific modeling and many others.”

So what is so difficult about writing fast libraries for numerical functionality? These libraries are written and optimized by hand, a time-consuming task that has to be repeated whenever a new computing platform is released. To make things worse, the complexity of modern computing platforms “puts performance optimization into the realm of ‘guru programmers’ who do things like restructure the computation to avoid cache misses, use special vector instructions, and parallelize for multiple processor cores,” Püschel says.

SPIRAL is the first to demonstrate that the development of highest performance libraries can be fully automated. Given only a short mathematical description of a linear transform, SPIRAL can automatically design and implement a library and perform all the necessary optimizations to achieve very high performance on a state-of-the-art computer. These optimizations include the traditionally difficult problems of parallelization, vector processing and memory hierarchy optimization. Further, benchmarking shows that these computer generated libraries are as fast as, and sometimes even faster, than their human written counterparts.

Integrated Electronics Corporation Intel–one of the leading companies for microprocessors manufacturing–has started to use SPIRAL to generate parts of its commercial libraries. “This may mark the first time that commercial library development is done by a computer,” Püschel notes.

Wow. We’ve all been waiting for the day … computers are writing better software than humans.

OK, so all sensationalism aside, these researchers have created software that optimizes software written by humans. So, the computer isn’t composing the code from scratch, but it’s making it perrrty.

Naturally, the advent of a computer writing computer code reminds us all of Alan Turing’s argument against Lady Ada Lovelace’s objection to the potential for strong artificial intelligence based on her work on the Analytical Engine with Charles Babbage:

RTFA: http://www.loebner.net/Prizef/TuringArticle.html

Lady Lovelace’s Objection

Our most detailed information of Babbage’s Analytical Engine comes from a memoir by Lady Lovelace ( 1842). In it she states, “The Analytical Engine has no pretensions to originate anything. It can do whatever we know how to order it to perform” (her italics). This statement is quoted by Hartree ( 1949) who adds: “This does not imply that it may not be possible to construct electronic equipment which will ‘think for itself,’ or in which, in biological terms, one could set up a conditioned reflex, which would serve as a basis for ‘learning.’ Whether this is possible in principle or not is a stimulating and exciting question, suggested by some of these recent developments But it did not seem that the machines constructed or projected at the time had this property.”

I am in thorough agreement with Hartree over this. It will be noticed that he does not assert that the machines in question had not got the property, but rather that the evidence available to Lady Lovelace did not encourage her to believe that they had it. It is quite possible that the machines in question had in a sense got this property. For suppose that some discrete-state machine has the property. The Analytical Engine was a universal digital computer, so that, if its storage capacity and speed were adequate, it could by suitable programming be made to mimic the machine in question. Probably this argument did not occur to the Countess or to Babbage. In any case there was no obligation on them to claim all that could be claimed.

This whole question will be considered again under the heading of learning machines.

A variant of Lady Lovelace’s objection states that a machine can “never do anything really new.” This may be parried for a moment with the saw, “There is nothing new under the sun.” Who can be certain that “original work” that he has done was not simply the growth of the seed planted in him by teaching, or the effect of following well-known general principles.

That link is to a mirror of Turing, A. M. (1950). Computing machinery and intelligence. Mind, 59, 433 – 460, and is worth a quality R of TFA.

One way or the other: WILD TIMES IN HUMANITY!

40 Reasons Why Software Projects Die

2008/01/22/1142

RTFA: http://sourcemaking.com/antipatterns

40 Reasons Why Software Projects Die

Wow! This is surprisingly detailed, and it’s also totally great stuff.