Pages

Tuesday, June 21, 2011

Install OpenCL and PyOpenCL in Ubuntu 10.04 LTS Lucid Lynx 64 bit

After playing with Scientific Linux 6 with OpenCL and PyOpenCL, I decided to bring it into my primary OS, and yes it is Ubuntu 10.04 LTS Lucid Lynx 64 bit.

Searching through the net, I found two ways to install OpenCL

Because my previous experience in SL6 is worked, so i liked to doing so within my ubuntu.

Things that needed by my system for OpenCL(testing that it works by executing 'make all' in your $AMDAPPSDKROOT -> i put it on "/home/user/AMD-APP-SDK-v2.4-lnx64/", this will built samples application that included in samples folder)
  • read the guide AMD_APP_SDK_Installation_Notes.pdf (it just extract and put a conf in /etc dir)
  • install libglu1-mesa-dev (in my case the package(header files) that missing is only this, so might be different on your system!), this needed when build a OpenCL samples
  • also add a AMDAPPSDK in your $PATH in .bashrc file like this
Below are some screenshoot to test sample applications under AMD-APP-SDK-v2.4-lnx64/samples/opencl/bin/x86_64/ directory if the installation of AMDAPPSDK and is working:
test using HelloCL
test using GlobalMemoryBandwidth




and notice if running an OpenCL program using all processor thread(because i didn't have a GPU capable for OpenCL

And now for PyOpenCL(made by Andreas Klöckner at http://mathema.tician.de/software/pyopencl )
To install correctly please enable the internet connectivity its needed to install required python dependency module.

In my system is need to install libboost1.40-all-dev, python-numpy and python-libxslt. (Both are available from ubuntu repository). Using command from terminal -> sudo apt-get install libboost1.40-all-dev python-numpy python-libxslt

Installing PyOpenCl:
  • download PyOpenCL from PyOpenCL
  • Notice when execute configure.py : python configure.py   --cl-inc-dir=$AMDAPPSDKROOT/include   --cl-lib-dir=$AMDAPPSDKROOT/lib/x86_64   --cl-libname=OpenCL
  • then -> python setup.py build
  • finnally -> sudo python setup.py install
test PyOpenCL using examples benchmark-all.py

BTW  I'm just noticed that python in ubuntu is faster than in Scientific Linux 6, and it same 64 bit, same laptop.

    Saturday, May 14, 2011

    Musing with booting time in Scientific Linux 6, Ubuntu Lucid, Windows 7


    Just comparing in booting and login time between Scientific Linux 6, Ubuntu Lucid Lynx 10.04.2 LTS, Windows 7 Home Premium Service Pack 1, all system in 64 bit version.

    All system already installed many software that can be used for daily activity like listening various audio formats, watching various video formats, office productivity, internet browsing, updated to the current version, installed in the same HDD(one laptop) with 4 partitions(Win 7, Ubuntu, SL, swap for Linux), development programs installed(C/C++ library, java SDK, python), converting audio/video(SL not).

    Specific system configuration:
    • Ubuntu mostly installed by many programs(my primary workstation), i didn't tuned it at all. Installed since it alpha version and just doing upgrade until now version 10.04.2 LTS, using live CD version 64 bit.
    • SL only for fun and learning a red hat based distro. Installed from a 64 bit live DVD version.
    • Windows, i use it for other software that Ubuntu not had yet, like visio, wathing HD movie using ATI vga instead using the AMD processor. And it installed an Antivirus from Microsoft Security Essential cause it rarely false alarm, and firewall using windows default, i knew it could boot faster without it, but it will make me installing windows again and again, many non Microsoft programs turned off on startup like java server, matlab server, etc. This Windows already installed when i bought the laptop, urgh yikes :( , i wonder how much the cost reduced while it not included Windows 7 :p .

    The tests result

    Below is the code to draw the figure(bar chart comparison) above, using Python with matplotlib module
    
    #!/usr/bin/python
    
    from matplotlib.pylab import arange, bar, xticks, title, ylabel, grid, show, legend
    
    # ubuntu, sl, win
    ut = [39, 7, 6]; st = [50, 10, 13]; wt = [44, 122, 20]
    
    idx = arange(3)
    wdx = 0.25
    
    grid()
    ub = bar(idx, ut, wdx, color='orange')
    sb = bar(idx+wdx, st, wdx, color='red')
    wb = bar(idx+wdx+wdx, wt, wdx, color='blue')
    legend((ub[0], sb[0], wb[0]), ('Ubuntu 10.04', 'SL 6', 'Windows 7'))
    
    xticks(idx+wdx, ('Booting', 'Login', 'Shutdown'))
    ylabel('time in seconds')
    title('Less is better')
    show()
    
    My measurement procedure:
    • using stopwatch in Nokia N900 so my fingers reaction time are to be considered
    • all systems booted from grub2 provided by Ubuntu lucid
    • booting time measured from grub2 until it show login window
    • log on time measured from pressing enter(password already entered) in login window until it show desktop and ready to use(including the LED of HDD not blinking again), well i can use(open a program) while the LED still blinking but it took the same time just like i wait LED off then open a program(yes in this case only happened with windows 7)
    • just open an open office writer in all system, then close it
    • shutdown time measured from pressing shutdown until the laptop turned off.