Feb 18 2006 - I've got the gridbased_MD source code
|
I have got the application Fortran code.
|
|
Feb 22 2006 - gridbased_MD. Port to g77
|
Inplicit variable declaration, dimension directive... moreover the original gridbased.f was XLF-only, until now.
|
|
March 08 2006 - gridbased_MD. Profiling
|
Timing and profiling of gridbased_001.f. Only XLF allows -pg flag.
|
|
March 13 2006 - gridbased_MD. Port to C
|
Translation allow me to get data from local disk in binary mode, speeding up a lot the app (1,054s on PPC970)
|
|
March 15 2006 - Introducing FASTA
|
Gridbased_MD seems so very naive to be a PFC. My prof has given me a complexful new algorithm -Smith-Watermann- that promises a long-time funny experiences. I don't kown anything about this kind of algorithms, may be better first reading docz, here I go...
|
|
March 22 2006 - Learning target architecture
|
Documentation about Bioinformatics don't finish, neither about Computer Architecture (ppc970fx, CBE). I have made a folder called 'doc_suport' to put each new doc in his place, I think that will help me. Meanwhile I have just run testVMX.c (300KB), execution is all OK. This source code is a great source of VMX!
|
|
April 2 2006 - Meeting with Friman Sánchez
|
An experimented ssearch34 user on DAC.
|
|
April 20 2006 - Installing & running the CBEA simulator
|
Having the architecture emulator of Cell (from IBM) may help me to advance step by step learning the behaviour of the chip. I have installed it on my Fedora Core 4 inside my Powerbook. Take a look in screenshots section.
|
|
April 25 2006 - Running the first CBE program on the CBEA simulator
|
Simple.c compiled and succefully executed on the simulator. I will learn reading sample code during a few days...
|
|
May 2 2006 - Learning finished
|
Long pages have been read until March. Now is time to start fighting with source code, planning the main strategy to allow ssearch34 run harmoniously into CBE. But that will be tomorrow...
|
|
May 3 2006 - Starting ssearch34 source code examination
|
I have printed smith_waterman.c in continuous paper with my dot matrix printer. The trip begins...
|
|
May 9 2006 - Isolating target code fails today
|
Uuh! That's seems impossible. I have spent all day doing a simple source file (.c) which had been the smith_waterman_altivec_byte(...) function --from smith_waterman_altivec.c-- with a simple main() for the passing parameters. I have captured the parameters from a real execution --writing them in binary mode to a file--. The main of the isolated code would may to read this file and pass these parameters to SW_byte function to try if that runs.
Nevertheless there is a 'void *' component in f_str struct (defined inside dropgsw.h) called workspace that contains some memory or data offset that does not match to the right place in this isolated code.
Segmentation fault.
Before sleeping I thought that other way to translate these PPC instruction could be writing a new function after do_work(...) (comp_lib.c:1104) that imitates it. A new function there does not affect the algorithm: I copy'n pasted the same do_work after line 1104 and the score result seems to be the same.
Tomorrow may be better to begin to write this new function in a SPU language, if this is not to hope too much!
|
|
May 12 2006 - Compiling ssearch34 with GCC
|
After some little modifications ssearch compiles well with GCC, this is the first step to work localy.
|
|
May 13 2006 - SPE object embedeed
|
A 'hello world' executed in SPE code each time that is called smith_watermen_altivec_() shows as easy is to embeed SPE code inside PPE. Now is time to replace this string for the full SW algorithm in SPE instructions.
|
|
May 16 2006 - Printing vector type variables
|
Mauricio Alvarez, a PhD student, has sent me a code example that shows how to directly print vector variables in linux version of gcc.
|
|
June 7 2006 - First phantoms
|
These days I have been working on translating VMX instructions to SPE. Today I have finished almost all partial results. After checking them with the print_vector function I have commented all these lines and final result has been different. Yes, the print function unintentionally makes the code run well... :(
|
|
June 12 2006 - Bad solution
|
I have written fflush(stdout) instructions after mfc_get actions. The final result now is the same for SPE and PPE inside the simulator. Troubles come back again after running the binary on cel.bsc.es: the results are not equal! =:(((
|
|
June 13 2006 - Not too bad
|
At this moment I am hopefulness about my code: I realized that real SPE has a unusual behaviour in comparison with all others three computing units (real and simulated PPE and simulated SPE). Is the BSC's CBE system not OK at all? To be continued...
|
|
June 16 2006 - First stage reached!
|
First stage was suposed to be reach a SPE code that was, at execution effects, the same that was the PPE. Well, in the CBE simulator, that is.
Today my tests that demonstrate incoherency relative to real execution VS simulated execution are in Zurich. I think these people can light up my way. Meanwhile I will document this 'first stage'
|
|
July 5 2006 - Stop documenting
|
A lot of pages written during these days, I think it is time to get involved again with the CBE code. The 2nd stage begins...
|
|
July 14 2006 - Working on 2nd stage during holidays
|
No stress with the 2nd stage, but today I have completed a main code that launch 1 thread for each pair query-DB sequence. I noted in paper the process to find the loop on main void that computes the different scores. I will document this job and write all the Smith-Waterman suffixes (record best scores, ...).
|
|
Sep 14 2006 - Finishing 2nd stage
|
Well, after some complications due to the immaturity of Cell SDK, I consider this stage finished. Summarizing, what have I got? In this 2nd stage the application launches up to eight SPE threads, each one computes a Smith-Waterman algorithm over a different couple of sequences. What I hate is to leave the application with only 8 possible threads launch, this is because every try to implement the external loop compiles well, but brings a Segmentation fault.
|
|
Sep 15 2006 - 3rd stage will be a brief stage
|
Well, XLC compiler does not have the qsmp flag implemented, then, OpenMP version of my application is not feasible.
|
|
Oct 9 2006 - Slides completed
|
After learning Blender, cutting some BBC videos, composing the Earth geo-scale and taking some slides from the The Human Genome Project, I had the base to compose my keynote. Now is all fully ordered in a Apple Keynote file (4Gbytes)
|
|
Nov 11 2006 - Benchmarks
|
Today I have gnuploted all the computational performace results in CBEA. They run well and as fast an scalable as was planned. Unfortunatelly that is not the case of my Smith-Waterman algorithm on CBEA: there is a great bottleneck due to constant memory transfers (DMA), this is the major cause of the poor performance results it gets.
|
|
Nov 17 2006 - Ending documentation
|
All the benchs for CBEA are passed and I composed a nice-looking documentation with. That's really the end of this project?
|
|
|
|