Saturday, November 28, 2009

Cuda Nvidia 3.0.1 Installation Notes on Macbook Air / Macbook Pro 11/28/2009

Cuda Nvidia 3.0.1 Installation Notes on Macbook Air / Pro 11/28/2009

Agents require two processor technologies (CPU - right brain and GPU - left brain).  We use nvidia's Cuda GPU Computing engine for left brain processing.  The great thing about Cuda is that even though future production systems may require performance capabilities not yet available, with the availability of Cuda 3.0, the new code can be compiled and run on millions of nvidia equiped PC's today.

If working with Snow Leopard on a MacBook (I installed on Macbook Air Mac OS X 10.6.2 2GB RAM), install the 3.0 Beta
http://forums.nvidia.com/index.php?showtopic=149959

Here are my environment variables:

To edit, type:
pico ~/.bash_profile

Paste the following at the end of your file

#Add Cuda to Path, Note $cudasdk is not needed ... just a shortcut for me
export SDK_INSTALL_PATH=/Developer/GPU_Computing
export cudasdk=$SDK_INSTALL_PATH
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:PATH=$CUDA_HOME/bin
export DYLD_LIBRARY_PATH=$CUDA_HOME/lib

If you are upgrading, clean out the old installation first:
sudo rm -r /usr/local/cuda/*

Before you install, to avoid issues, and the general hassle of typing paths with spaces, change the name of the install directory (when installing the SDK) from the default (/Developer/GPU Computing) to /Developer/GPU_Computing by choosing Customize.  You may want to create the directory first:

mkdir /Developer/GPU_Computing

Follow the install instructions from both these documents (making sure to Customize the SDK install as above):

here
http://developer.download.nvidia.com/compute/cuda/3_0-Beta1/sdk/docs/CUDA_SDK_Release_Notes.txt

and here 
http://developer.download.nvidia.com/compute/cuda/3_0-Beta1/docs/CUDA_Getting_Started_3.0-beta1_MacOS.pdf

Unlike 2.3 (where I ran into several install problems, 3.0 was relatively smooth)

Note that you don't need to copy libcutil.a (or the include file) to the /$cudasdk/C/lib directory as they say in the Getting Started Guide

One issue I found after completing the above and verifying the installation per the Getting Started Guide, was that I couldn't run the bandwidthTest Program without getting an out of memory error.

I found that if you are running with multiple displays, you may be maxing out your GPU memory (and thus unable to run programs),

To fix this, reduce your display resolution or set your displays to mirrored mode (click Apple Menu, System Preferences, Displays, Arrangement tab, click Mirror Displays).  I have an external 23" monitor with a 1920x1200 default resolution.  By setting this display to 1280x1024, I was still able to have dual displays (external and MacBookAir) and run test programs.  Note, for best GPU bandwidth performance, Mirror the displays.

Hope this helps.

Warren

Wednesday, November 18, 2009

A Funny Thing Happened on the Way to Work

It seems that after working on a system design for three years plus six months, that we can see what we've been designing. I guess that happens with vision. Sometimes you need look to the side to see what's in front of you. The goal was to build a better computer. But as the computer design became more efficient, more elegant and more complete, the design began to look less like a traditional computer and more like something in nature. Actually it looked like many things in nature. Searches for prior work to resolve logic problems started bringing up bumble bees, ant colonies, and the octopus.

It was as Alan Turing suggested in a lecture [Turing, 1947] long ago, computers can achieve intelligence. But unlike the human level machine intelligence Alan described in a follow-up [Turing, 1950] and pursued by a generation of Artificial Intelligence researchers [McCarthy, 1996], it seems computer intelligence may best be achieved from fundamental concepts and not by modeling humans.

So what's the funny thing that happened on the way to work? It seems that understanding people, and how we think (i.e. modeling humans) gets a whole lot simpler once you understand how intelligent computers think.

Warren


Reference

[Turing, 1947] Turing, A. M. (1947). Lec- ture to the london mathematical society. In The Collected Works of A. M. Tur- ing, volume Mechanical Intelligence. North- Holland. This was apparently the first pub- lic introduction of AI, typescript in the King's College archive, the book is 1992.
[Turing, 1950] Turing, A. (1950). Computing machinery and intelligence. Mind.
[McCarthy, 1995] John McCarthy, (1995) FROM HERE TO HUMAN-LEVEL AI, "Many will find dismayingly large the list of tasks that must be accomplished in order to to reach human-level logical intelligence. Perhaps fewer but more powerful ideas would simplify the list. Others will claim that a system that evolves intelligence as life does will be more straightforward to build. Maybe, but the advocates of that approach have been at it as long as we have and still aren't even close." >

I know there are unresolved terms in this entry. Once icopen.org and automapp.com are public (really soon now), I'll create links.

Tuesday, November 17, 2009

A Tendency to Discard Names

Working on the Intelligent Computer Open (icopen.org) Project this morning and I think I learned a reason why my mind likes to throw out names.

Was doing work designing memory retention (specifically the minimum memory requirement for serialized context-space vectors) and considered what happens when a Librarian Agent's archiver continues to optimize memory.  I realized that the algorithm could retain lots real-time memory context with very low memory as long as there are no strings (i.e. names) attached.  I then realized that my mind may similar to the algorithm being designed (I seem to be able to optimize and store and process lots of diverse context space).  So it may be that a tendency to discard names may have a purpose.  Less names, more concepts stored and processed, more capacity for complexity.

Anyone else out there have trouble remembering names.  Do you think you too are able to learn and understand a broader set of concepts than the average person (who can remember names)?


Warren

ps,
I know there are some, unresolved terms in this entry.  Once ICOpen.org and Automapp.com are public (really soon now), I'll create links.