A few years ago, while I was a graduate student in Greece, I was preparing slides for my talk at the SIAM Parallel Processing 2012 conference. While showing my slides to one of my colleagues, one of his comments was: “All good, but why do you guys doing numerical linear algebra and parallel computing always use the Message Passing Interface to communicate between the processors?”. Having read* the book review of Beresford Parlett in , I did have the wit to imitate Marvin Minsky and reply “Is there any other way?”. Nowadays, this question is even more interesting, and my answer would certainly be longer (perhaps too long!). Execution of programs in distributed computing environments requires communication between the processors. It is then natural to consider by what protocols and guidelines should the processors communicate with each other? This is the question to which the Message Passing Interface (MPI) has been the answer for more than 25 years.
Before we begin, let us talk about how Mike (a fictional character) spends a typical morning. Mike begins his day by searching for breakfast recipes on Google Now (https://en.wikipedia.org/wiki/Google_Now). After a filling breakfast, Mike starts getting ready for work. He asks Siri (http://www.apple.com/in/ios/siri/) to tell him the weather and traffic conditions for his drive to work. Finally, as Mike gets ready to leave the house, he asks Alexa (https://en.wikipedia.org/wiki/Amazon_Alexa) to dim the lights and thermostat. It is not even 10 a.m. yet, but Mike like many of us has already used three intelligent personal assistant applications using Natural Language Processing (NLP). We will unravel the mysteries of building intelligent personal assistants with a simple example to build such an assistant quite easily using NLP.
Processing large datasets or working with huge data is a usual stage in almost any kind of research. The problem appears when processing these data requires long processing time on any kind of personal laptop. In order to solve that issue, we have at our hands the possibility of using any major compute cloud provider in order to accelerate that processing stage wasting minimal time and resources. Cloud computing allows us with a few clicks to build a computer cluster, process our data, get the results and destroy that cluster for only a few dollars.
- Do you have an opinion on the responsible use of AI technologies?
- Do you want to win one of several $500 cash prizes?
- Do you want to talk one-on-one (via skype) to one of the following AI researchers:
- Murray Campbell (Senior Manager, IBM Thomas J. Watson Research Center)
- Eric Horvitz (Managing Director, Microsoft Research)
- Peter Norvig (Director of Research, Google)
- Stuart Russell (Professor, University of California at Berkeley) or
- Michael Wooldridge (Head of the CS Department, University of Oxford)?
What kind of thoughts does the word ‘infinity’ evoke in your mind? Do you visualize a never-ending expanse that stretches in all directions? Or maybe a straight line extending in both directions beyond visual perception. Some of us may even think of an astronomical figure and conceptualize infinity to lie much beyond this number itself. Yet, how does mathematics treat infinity? How do we logically/formally make sense of this idea and put it to great use to further enrich our understanding of this universe?
Let’s explore and demystify what this rather abstract construct really conveys to us through the language of mathematics. Continue reading