SOFTWARE ENVIRONMENT


SAMBA is a hardware accelerator with a library of high level comparison C-procedures. This makes possible the choice of pre-defined programs, such as the classical programs already developed for bank-scanning, or user-defined programs tuned to a specific application.

As an example, scanning a bank can be summarized by the following simplified loop:

   InitSW(Matrix,Gap1,GapN);
   LoadQuerySequence(QS);
   GetFromBank(SUBSET[0]);	
   for (i=1;i<NbSubSet;i++)
     {
       LoadAndCompare(SUBSET[i],Score[i-1]);
     }
   Compare(Score[i-1]);
The C-procedures (highlight in red) belongs to the SAMBA library.

Thus, SAMBA is controlled by a few procedure calls inside a normal C-program, without forcing the user to have specific knowledge of the structure of the accelerator and how it works. A library of basic procedures has been developed to be rapidly understood by programmers; but these procedures stay close enough to the accelerator hardware to provide efficient speed-up.