Multi-core architecture refers to processors with multiple cores that can execute functions simultaneously, enhancing performance and efficiency compared to single-core processors. Advantages include improved response times for CPU-intensive tasks and reduced power consumption. The document also discusses the use of OpenMP for parallel programming, particularly in matrix multiplication, and its relevance to computational biology problems.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
11 views26 pages
Rifat
Multi-core architecture refers to processors with multiple cores that can execute functions simultaneously, enhancing performance and efficiency compared to single-core processors. Advantages include improved response times for CPU-intensive tasks and reduced power consumption. The document also discusses the use of OpenMP for parallel programming, particularly in matrix multiplication, and its relevance to computational biology problems.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26
What is Multi Core Architecture?
When a processor has more than one core to
execute all the necessary functions of a computer, it’s processor is known to be a multi core architecture. In other words, a chip with more than one CPU’s(Central Processing Unit). What is the difference between a single core processor and a multi core processor?
Advantages of multi core CPU
the largest boost in performance will likely be noticed
in improved response-time while running CPU- intensive processes, like anti-virus scans, ripping/burning media. assuming that the die can fit into the package, physically, the multi-core CPU designs require much less printed Circuit Board(PCB) space than multi-chip SMP designs. Also, a dual core processor uses slightly less power than two coupled single core processors, principally because of the decreased power required to drive signals external to the chip. Bio-grid Cluster How it works!!! DEMO TIME !!! OpenMP example
• When writing a program in C or C++, you
must import the library #include<omp.h> to include the openMP library on your program to allow parallelization during compile time. • some sample OpenMP runtime Functions: • omp_set_num_threads (Sets number of threads) • omp_set_max_active_levels (Sets number of active parallel regions) OpenMP Example Continued.. #include <omp.h> #include <stdio.h> #include <stdlib.h>
#define NRA 62 /* number of rows in matrix A */
#define NCA 15 /* number of columns in matrix A */ #define NCB 7 /* number of columns in matrix B */ OpenMP Example Continued..
int main (int argc, char *argv[])
{ int tid, nthreads, i, j, k, chunk; double a[NRA][NCA], /* matrix A to be multiplied */ b[NCA][NCB], /* matrix B to be multiplied */ c[NRA][NCB]; /* result matrix C */
chunk = 10; /* set loop iteration chunk size
*/ OpenMP Example Continued.. /*** Spawn a parallel region explicitly scoping all variables ***/ #pragma omp parallel shared(a,b,c,nthreads,chunk) private(tid,i,j,k) { tid = omp_get_thread_num(); if (tid == 0) { nthreads = omp_get_num_threads(); printf("Starting matrix multiple example with %d threads\n",nthreads); printf("Initializing matrices...\n"); printf("Hello"); } OpenMP Example Continued.. /*** Initialize matrices ***/ #pragma omp for schedule (static, chunk) for (i=0; i<NRA; i++) for (j=0; j<NCA; j++) a[i][j]= i+j; #pragma omp for schedule (static, chunk) for (i=0; i<NCA; i++) for (j=0; j<NCB; j++) b[i][j]= i*j; #pragma omp for schedule (static, chunk) for (i=0; i<NRA; i++) for (j=0; j<NCB; j++) c[i][j]= 0; OpenMP Example Continued.. /*** Do matrix multiply sharing iterations on outer loop ***/ /*** Display who does which iterations for demonstration purposes ***/ printf("Thread %d starting matrix multiply...\n",tid); #pragma omp for schedule (static, chunk) for (i=0; i<NRA; i++) { printf("Thread=%d did row=%d\n",tid,i); for(j=0; j<NCB; j++) for (k=0; k<NCA; k++) c[i][j] += a[i][k] * b[k][j]; } } /*** End of parallel region ***/ OpenMP Example Continued.. /*** Print results ***/ printf("******************************************************\n"); printf("Result Matrix:\n"); for (i=0; i<NRA; i++) { for (j=0; j<NCB; j++) printf("%6.2f ", c[i][j]); printf("\n"); } printf("******************************************************\n"); printf ("Done.\n");
} The relevance…
Using the algorithm derived from solving the
Matrix multiplication problem using OpenMP, we can extend this algorithm to solve computational biology problems. Such as “ developing Algorithms for Identifying Boolean Networks and Related Biological Networks Based on Matrix Multiplication and Fingerprint Function”…1 The relevance continued… By doing so we can analyze gene expression data Understanding matrix multiplication problem and it can be applied to solve cient algorithms for identifying Boolean networks of bounded indegree and related biological networks, where identification of a Boolean network can be formalized as a problem of identifying many Boolean functions simultaneously.”1 How to extend my project… Add MPI library and functions to send task to different processors Extend this algorithm to solve computational biology problems as stated on previous two slides. Acknowledgements Special thanks to NSF for providing us with this wonderful opportunity to do research under BioGrid Also, Special Acknowledgements to Dr. Chun-His Huang for all his effort, patience and help towards helping me understand and implement the contents of this research! It was a fun summer indeed Source Citation
1. JOURNAL OF COMPUTATIONAL BIOLOGY
Volume 7, Numbers 3/4, 2000 Mary Ann Liebert, Inc. Pp. 331–343 Algorithms for Identifying Boolean Networks and Related Biological Networks Based on Matrix Multiplication and Fingerprint Function TATSUYA AKUTSU,1SATORU MIYANO,a nd SATORU KUHARA1 2. wikipedia.org Source Citation http://openmp.org/wp/ http://www.compunity.org/training/tutorials/2%20Ba sic_Concepts_Parallelization.pdf https://iwomp.zih.tu- dresden.de/downloads/2.Overview_OpenMP.pdf
(Ebook) Software Development For Embedded Multi-Core Systems: A Practical Guide Using Embedded Intel® Architecture by Max Domeika ISBN 9780750685399, 0750685395 Download