The post Thinking Forward: A Conversation with Wolfram Research Co-Founder Theo Gray appeared first on HPCwire.

]]>*Besides his day job, Gray is also an award-winning science writer, a role he uses to communicate his unbounded enthusiasm for science, technology, the arts, and how they interact. Recently he founded Touch Press, an electronic book publishing company that Gray hopes will further that cause. In this wide-ranging interview, Gray talks about his new Touch Press venture, Wolfram|Alpha, science education, software, cloud computing, and HPC.*

**HPCwire: Theo, you recently founded a new company called Touch Press. What are your goals with this venture?**

**Gray:** Touch Press is a publishing company that specializes in top-quality, highly interactive electronic books. We aim to surprise and delight people as they discover interests they never knew they had, through outstanding writing, outstanding visuals, and outstanding interactivity.

Out main goal is to invent and discover what books should be in the new world of electronic reading. We have a strong belief that “book” is as relevant a concept now as it ever has been. Even though you now have to talk about acoustic guitars and electric guitars, there is still a clear concept of what is or is not a guitar, and likewise “books” will always maintain a distinct identity as a calm place where an author can communicate a self-contained message to an interested reader.

**HPCwire: One of the strengths of ‘The Elements’ app is its strong visual design. Aesthetics appears to be highly valued in your approach to application development. How important is design for Touch Press?**

**Gray:** Visual design is important for some titles, less so for others where text or interactivity are the most important factors. The Elements is a coffee table photo book, so a strong aesthetic is key, along with beautiful photographs and engaging text. The Waste Land, our book about the iconic T.S. Eliot poem, relies less on visual design and more on clever and effective interactivity to bring the poem to life. But even there, good typography is important to make the reading experience pleasing, and good filmmaking is key to making Fiona Shaw’s filmed performance engaging.

**HPCwire: In many ways, Touch Press brings art and science together. Is this an important goal for you?**

**Gray:** Science is inherently beautiful, because science is about truth. And we like beautiful things. But science is not the only source of beauty in the world, and our titles do and will include poetry, fiction, music, theater, and the whole range of human expression, not just non-fiction science titles.

What we do insist be part of all of our titles is an appreciation for learning and discovery. We want people to be delighted with what they find, and delighted in themselves for finding it. Interactivity allows for a more engaging, wider ranging exploration of a topic than print allows, meaning that a wider range of people can find something to enjoy in a given topic.

**HPCwire: What role does creativity play in collaborating across the various disciplines — coding, engineering, design, pedagogy — that come together in designing and producing rich applications?**

**Gray:** A key strength of Touch Press is that we come from a combination of backgrounds including publishing, writing, television production, and software development. We strongly believe in the value of creativity in all areas of endeavor, including writing, visual production, and programming. Many traditional companies seem to fall down in one or another of these areas: Print publishing companies clearly understand that they need great authors, but often seem to think that programmers are hired grunts not deserving of much respect. Video game companies understand that programmers are the stars that make their products shine, but don’t seem to be able to put together two minutes of video that anyone wants to watch.

At Touch Press our goal is to combine the best of all these worlds to create great narratives, written by real writers, accompanied by great photography and video, held together and brought to life by top-notch user interface designers and developers who can make the hardware sing.

**HPCwire: Clearly cloud computing has become the frame of reference for talking about software today. Has cloud computing changed your initial trajectory for developing applications for either Wolfram or Touch Press?**

**Gray:** Wolfram’s apps are completely based on cloud computing: All the hard work is done on the server side by Wolfram|Alpha, because it would be completely out of the question to do that much work on an iPhone (let alone store the vast amounts of data and real-time feeds that Wolfram|Alpha has access to when formulating its answers).

This is one reason why Wolfram|Alpha was such a natural fit for Apple’s new Siri service, which uses cloud servers to answer questions from a wide range of subject areas. Even when asked to do a local task like add a reminder, Siri uses cloud computing to analyze the query, and if the conclusion is that it’s something Wolfram|Alpha can answer, our cloud is right there to supply the result.

Touch Press’ products use the cloud through their inclusion of Wolfram|Alpha results, but this is a more limited use, and generally speaking we try to keep as much content as possible on the device, in order to deliver a seamless, fluid experience.

**HPCwire: How do you envision expanding the capacities of electronic books using technologies like Wolfram|Alpha in the decades to come? Could you imagine, for example, using data mining to build relevant data and/or support services across the books?**

**Gray:** Books about factual subjects, which is to say books that refer to things in the real world, should, as much as possible, contain not copies of data but references to it, references that point to something in the cloud that can be kept up to date. Since it’s often not economical to maintain a special database just for a book that may have been published years ago, services like Wolfram|Alpha provide a convenient central repository that can provide updated, authoritative data for a wide range of books.

**HPCwire: The multimedia nature of electronic books lends itself to extreme, storage, computation and analytical issues. What are some of the design challenges in the continued evolution of electronic books?**

**Gray:** File size is definitely an issue for media-rich products, and providing a smooth, seamless user experience requires that as much of the media as possible be stored locally. Where that’s not possible, robust network and cloud storage can be the next best thing. And because devices often have limited local computational power, cloud computation can be even more important. A perfect example is Siri, just introduced by Apple, which does excellent voice recognition because it doesn’t try to do it on the device, but rather sends a compressed waveform to servers that are better able to handle this task.

**HPCwire: Wolfram Research is particularly focused on the convergence of software innovation and science. How do you see high performance computing impacting science in the decades to come?**

**Gray:** High performance computing is an instrument, like a microscope, and all instruments increase the range of what you can see and study. Large-scale numerical simulations are like very specialized measuring instruments, but potentially even more interesting are knowledge-processing systems that expand and magnify the power of human imagination.

A flexible, symbolic, linguistic computational tool allows scientists to explore spaces of possible solutions in ways not possible before. As usual, the more natural and “simple” the interface to computation, the harder the machine has to work behind the scenes to make it appear easy. Our goal is to allow people to ask questions of computers in simple ways, even if the answers require vast amounts of computation to determine.

**HPCwire: This sounds fascinating. How might advanced computing change the way we deal with questions and challenges around big data and complexity?**

**Gray:** The simplest example, and one that’s been around for a long time, is of course data visualization. A huge table of numbers is incomprehensible, but a graph, possibly of a highly processed form of the data, may show some obvious feature that makes a conclusion all but inevitable. But not all data is numerical or plotable, which is where symbolic analysis comes in. For example, an analysis of the network of references in Supreme Court opinions can reveal interesting insights into which Justices were the most influential in which areas of law, insights that are not at all obvious from simply reading all the opinions.

**HPCwire: We know that digital technologies are having a huge impact on the hard sciences. Do you see technology having a unique impact on the humanities and social sciences?**

**Gray:** Technology has arguably had as much or more influence on the arts than it has on science. Music and performance used to be ephemeral, now they have become defined by the existence of recording technology, and every advance in how such material is delivered changes the relationship of the artist to their audience.

The creation of a genuinely new medium is a rare thing. Paper, audio and video recordings, photography, radio, movies, television, computers, internet, and tablets. I think that tablets belong on this list not so much because of their present form, but as a representative of the future of people’s relationship with computing devices, one in which they are personal and intimate, something to lie in bed with, not to sit in front of.

This kind of relationship to computers is fundamentally more relevant to the arts and humanities than to hard science, and in fact one of the dangers to science is that as more and more people switch to more personal devices, the kinds of high-powered desktop systems used by scientists will become expensive exotics, rather than beefed up derivatives of mainstream devices.

**HPCwire: You have been particularly influential in the development of advanced software applications for education. How do you see education changing as a result of innovations in technology?**

**Gray:** Education is a hard nut to crack. At this point the most interesting applications of technology in education are happening outside schools. Kids have a completely different relationship to knowledge than we are used to. They take for granted that every possible bit of factual knowledge they might want is available instantly: Whole categories of argument and discussion don’t exist anymore because you can simply pull out your phone and get the answer. Many classes of computational problems simply aren’t problems anymore because the answer is at your fingertips using something like Wolfram|Alpha or Mathematica.

Schools are very slow to react to this kind of change, and it may be a generation before they catch up. In the meantime, a lot of actual education is happening outside the classroom environment, through home schooling, informal learning, online resources like Khan Academy, and other self-directed learning opportunities.

This is one of the reasons that Touch Press is not interested in publishing textbooks: We think that we can have more of an effect by publishing titles that people buy because they want to learn, not because someone is telling them they should. And while Wolfram|Alpha is a great learning resource in any context, it’s the kind of things kids are much more likely to discover on their own than through their teacher.

The post Thinking Forward: A Conversation with Wolfram Research Co-Founder Theo Gray appeared first on HPCwire.

]]>The post Mathematica 8 Gets Performance Boost, Integration with Wolfram Alpha appeared first on HPCwire.

]]>Focus on performance started in earnest with Mathematica 4 back in 1999. Beginning with that release, Wolfram Research started to incorporate a variety of features and capabilities that improved runtime execution, including optimizing algorithms, supporting linkage of external C and Fortran libraries, and adding the ability to compile code. In 2008, with Mathematica 7, built-in support for multicore parallelism and compute clusters was added.

Mathematics 8 adds a number of new features that should boost performance even further. Perhaps the most important is the ability to generate, compile and link C code. The new feature allows Mathematica code to be automatically translated into C source code. The source can then be driven through a standard compiler (requiring a native Windows or Mac C compiler) and linked into a Mathematica executable for production.

The idea here is to take advantage of the speed of C-compiled code to boost performance of critical pieces of the Mathematic program. Previously Mathematica only supported compilation to a Java-like virtual machine byte-code, which although faster than interpreted execution, tended to be a good deal slower than compiled C code. In one example, a rendering application using vanilla Mathematica delivered just one frame every 10 to 15 seconds, while C compiled code was able to achieve two to four frames per second. Comparable speedups are to be expected from similar compute-intensive codes. All of this can be accomplished without the programmer ever having to write a single line of C.

Better yet, a parallelization option can be applied to a compiled function, which Mathematica will use to create a multi-threaded implementation. This can speed execution even further, assuming of course that the target CPU is multicore.

Compiled C code can be collected in dynamic link libraries (DLLs), which can be sucked back into the application or shared with other Mathematica programs. The ability to link DLLs also means externally developed C and C++ libraries can be incorporated into Mathematica, opening the door to many more performance optimized packages. Prior to this, talking with external C code involved the MathLink interface, which was burdened with the overhead of inter-program communication. Being able to access DLL routines directly makes calling external code much more efficient and straightforward.

For the GPGPU enthusiast, Mathematica 8 brings in support for CUDA and OpenCL. Unfortunately, this feature doesn’t have the seamless automation offered by the C code generation capability. Rather, the targeted algorithm has to be developed in CUDA or OpenCL first and then folded into the program later. Basically, Mathematica automates some of the housekeeping functions, such as downloading code and data to the GPU card, and uploading the results back to the host. GPGPU support can be scaled to utilize all the GPUs on a system, or, using the gridMathematica add-on, across a cluster.

Although you can’t automagically transform an arbitrary function into a GPU version, Mathematica 8 does include a couple dozen built-in functions that are already optimized for CUDA-enabled GPUs (in other words, those from NVIDIA). The functions are spread out across linear algebra, financial simulation, and image processing. The folks at Wolfram Research will undoubtedly be adding more built-in GPU routines in future versions, while also promising a more streamlined approach for GPU support.

Another category of performance improvements is enabled by speedups to a number of core algorithms. These include optimized solvers for integer linear algebra, highly oscillatory functions, transcendental and high-degree polynomial methods, and a number of new special functions. In some cases, the optimizations can boost performance by an order of magnitude or more, depending upon the size of the problem.

Besides the additional performance-boosting capabilities, Mathematica 8 also includes about 500 new built-in functions — an increase that represent nearly the entire function count in the original Mathematica 1 of 1988. The new capabilities in version 8 encapsulate high-level symbolic functions for probability and statistics; permutations and group theory algorithms; financial engineering routines of general utility; control system functions; wavelet analysis functions; graph and network algorithms; and image processing routine.

The last category encompasses some very useful routine for processing visual data. One of the new capabilities is feature detection, such as facial and character recognition. Also included are geometric transformations and image alignment. For video, Mathematica can now import and export individual frames as well as do real-time capture of webcam streams. All of these capabilities can be combined to deliver some rather sophisticated image processing applications on top of an already full-featured computational engine.

Perhaps the most visible addition to version 8 — at least from a user interface point of view — is the integration with Wolfram Alpha, the company’s Web-based computational knowledge engine. There are a number of advantages to marrying Mathematica to its Web spinoff, which, by the way, is itself a Mathematica application at its core.

First is the ability to tap the store of curated data in Wolfram Alpha, which encompasses a large and growing database that spans many technical and non-technical disciplines. It remains to be seen whether giving Mathematica users access to Wolfram Alpha data spurs new applications or will just be used as a sandbox for more customized data-centric applications.

For the application designer, one of the most potentially interesting uses of Wolfram Alpha is the ability to use its free-form linguistic capabilities. So instead of having to define a problem within the strict confines of the Mathematic language, you can use (more or less) natural language. So, for example, summing all the integers from 1 to 1000 would have to be specified as *Sum[i, {i, 1, 1000}] *in Mathematica, but could be simply stated as “*sum integers 1 to 1000′” *using the free-form mode.

The English version is automatically converted to Mathematica syntax on the fly, which can then be tweaked and developed separately. Extending the capability a bit further, users can pass Mathematica variables into Wolfram Alpha calculations.

The nice thing about the Mathematica architecture is nearly all its features, including the new ones described here, are included in the core technology. The Wolfram Alpha team has shied away from toolboxes, libraries, and standalone product add-ons (with the exception of gridMathematica). As a result, the new version 8 features can immediately leverage the large foundation of accumulated Mathematica componentry.

In the kickoff for Mathematica 8 at the Wolfram Technology Conference in November, company CEO Stephen Wolfram reiterated his commitment to maintain the platform as a unified, consistent software tool. Keeping the architecture monolithic means they are free to evolve the product through refinement of the individual pieces and the addition of new ones. With this kind of model, the whole is always guaranteed to be greater than the sum of the parts. “We’ve had a very simple strategic methodology,” explained Wolfram. “Just implement everything.”

The post Mathematica 8 Gets Performance Boost, Integration with Wolfram Alpha appeared first on HPCwire.

]]>