Monthly Archives: September 2014

Julia @ Ubuntu 12.04

Julia has some issues when I compiled in Ubuntu 12.04. I modify a little on top of http://ubuntuhandbook.org/index.php/2013/08/install-gcc-4-8-via-ppa-in-ubuntu-12-04-13-04/

1.)  at terminals

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

2.) Then install gcc 4.8,  g++ 4.8, gfortran-4.8

sudo apt-get update; sudo apt-get install gcc-4.8 g++-4.8 gfortran-4.8

3.) Once installed, run following commands one by one to use gcc 4.8 instead of previous version.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-4.8 20

Finish my internship at Synopsys

I finished my internship at Synopsys Inc. Mountain View, CA, Friday, Sept. 26th (To who does not know Synopsys, it is one of top-notch EDA software companies, which also extends it business scope to other areas, such as code analysis/testing, e.g. Synopsys bought Coverity half-year ago). I took many photos with my teammates, including Director Harish, Manager ZongWu, Mentor Dustin, Qing, Wenwen. Li Chen left early so that I owe him a picture.  Wenwen thought the scene is like a small graduation ceremony and too sensitive.

This summer changed me from MATLAB programming for academic prototyping mode to intensive C programming of building product as well as research prototypes. This reminds me of my research experience in Tsinghua University two-year ago. Luckily, I managed to finish 2.5 of 3 projects assigned to me (previous intern’s assignment at our group is one, I think). The 0.5 left project is actually a take-home fun research project. , the 1 of 2.5 project should come out with the next release in the Synopsys products (you can guess the part resides in the dominating products of Synopsys). Other 1 may go to the next stage of research & development. This is a rewarding experience, especially put me to the edge of current problem met by the industry, which should help me to target, define and formulate problems.

PS: The EDA algorithm is very challenging and physical-related, but less known to current CS people. The connections from EDA algorithms to computer theory exists in a broad way, so this area is not only about code tuning. We need to deal with graph partitioning, and numerical algorithms. I also find matrix exponential is also applied to community detection, in KDD conference. 

Dropbox project Pyston’s setup

Finally, I have my Pyston  setup and execute python program. The installation guide is here. The time-consuming part is the plugin/prerequisite packages (also my laptop is mac, so I need to use Stanford University’s eduroam to access my server at University of California during this summer. Sometime it really slow my progress due to the non-local build up). For a beginner, I suggest to use the name “pyston” and “pyston_deps” at your “~/” location. If you change the name “pyston”, say, “pyston_howard”, you need to modify Makefile too. Otherwise, the “make check” will give you all “time-out” results. In my current version, the pass status test case in my machine has some randomly issue. The trouble maker is ~/pyston/test/tests/thread_memory_model_test.py, which cannot always pass. Sometimes, the result is Failed (time-out).

When I configured llvm, for pyston/src Makefile, we need llvm has following modes:

Debug-Asserts: make ENABLE_OPTIMIZED=0 DISABLE_ASSERTIONS=0

Release-Asserts: make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1

Release: make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1

The documented progress of pyston project can be found here in Kevin’s blog with tag “pyston”. More timely updates can be found here in github. According to the current development theme (email from pyston-dev) sent by Kevin: there are a couple big efforts are needed to boost the performance, e.g. improve/replace the implementation of GC performance, check here; improve Python-to-LLVM-IR time to improve inefficient analyses by hash maps of strings, check here.

PS: The reason why I play around Pyston is that I am stuck in the dorm of Stanford University before leaving for my research work at San Diego. The stay is caused by the fact that my car has some issues on the lights, and I had it sent to a body shop to repair. How inefficiency when insurance company cooperates with body shop/dealership. Bazinga?! I want to remind myself of the compiler and programming language courses, and reuse LLVM for my future research and potential ideas. Besides, I am a dropbox pro customer, who actually pays for the service every month! I would love to know what is going on there, even from outsider view. Also, please keep Julia in mind! 

Facebook Saved Over A Billion Dollars By Building Open Sourced Servers

Since the web and software companies seek the help of hardware.

TechCrunch

Facebook is reaping the benefits of designing its own energy efficient servers. Today at the Open Compute Summit, CEO Mark Zuckerberg said that “In the last three years alone, Facebook has saved more than a billion dollars in building out our infrastructure using Open Compute designs.”

Facebook started the Open Compute Project back in April 2011 and it’s since blossomed into an industry-spanning coalition of companies that open source green technology designs for servers, data centers, and more. It includes Intel, AMD, Bloomberg, Box, Cumulus Networks, IBM, and Microsoft.

While the Open Compute Project has saved the world a lot of energy, it’s also cut back on energy Facebook would have had to pay for. Zuckerberg proudly told interviewer Tim O’Reilly on stage at the Summit that “In just the last year we’ve saved the equivalent amount of energy of 40,000 homes in a year, and saved the amount of…

View original post 214 more words