拼裝車

大量使用別人寫的程式,而整個 framework 的每一個部份也都是從各個大 project 借過來的。一旦跑出來的結果當掉,還真不知道要從哪個部份開始檢查問題起。

Qsilver 是由 Virginia U. 的博士班學生 Jeremy 所寫的一個 GPU simulator,但是它的 trace 卻是來自於 Chromium 這個由 Standford U. 發展出來的 cluster streaming rendering 的系統。

而我要作的事必須要在 Qsilver 中作一些修改,然後再用 Chromium 跑不同的 graphics application 蒐集 trace 餵給我修改過的 Qsilver。所以我得先看懂 Qsilver 的程式是如何撰寫的,但是作者目前還沒整理出使用指南(user guide)或是開發者指南(developer guide),一切都要硬生生地從 code 看起,好在 Jeremy 是個蠻熱心的人,每每我寫信問問題,他都會很熱心地幫助我,讓我在 trace code 上減輕了不少負擔。不過中間還是遭逢蠻多挫折,比方說要從 Chromium 上把 trace 抓下來的程式在我的環境下跑不起來,經過我無數次的 trial-and-error 及寫信煩 Jeremey 下才「看似」功能正常了。

而現在要蒐集 trace 時,簡單的 graphics application 是沒什麼問題,但拿 Tux Racer 這樣小小的遊戲都沒辦法很順利地抓到 trace,在不知道是誰的錯時,我只好先把 Chromium 放到 Windows 下來執行,雖然 Stanford 的人為它寫了在 Windows 下 build 的環境,但卻要我安裝 Microsoft Visual Studio 6.0 來使用已經很舊的 cl.exe (1998版),幾經波折又稍加修改了 Makefile 中的 options,Chromium 算是完美地在 Windows 上 build 成功了,但這時卻又在執行 Chromium 環境的 script (偷偷推一下他們是使用 Python)出現許多「待解」的 bugs,這還真不知道是誰的錯,看來蒐集 trace 還有漫長的路要走。

  • Juan

    你好,关于qsilver我有些问题想请教你。我刚刚下载了这个系统,可是怎么也build不过。我把下载的qsilver_release作为一个子目录放在chiomium下面,然后在gpucorelibs目录下面执行make,按照building doc的提示,我下载了 一个hotspot,并将gpucorelibs根目录下的config.mk的内容改为我的hotspot的路径,将hotspot原来package里的makefile改成Jeremy在building里所写的那样,但是我没有build sim-template 执行文件因为有build error,我只是build出了libhs.a,libhs.so。然后我在gpucorelibs目录下执行make时,会说hotspot.h里面找不到RC.h,于是我把这行删掉于是我的build会出现很多warining,显示make …error 1,我看了这些warning,应该是error,是一下function 没有定义,但是在整个qsilver项目里并没有这些函数的定义。请问你是怎样build的,qsilver下的四个目录都需要分别进入 make么?谢谢。我的邮件,msn是jlee_hust@hotmail.com