=== modified file 'cblas/source_gemm_r.h'
--- cblas/source_gemm_r.h	2010-10-23 14:40:29 +0000
+++ cblas/source_gemm_r.h	2011-01-06 14:47:42 +0000
@@ -73,7 +73,13 @@
   if (TransF == CblasNoTrans && TransG == CblasNoTrans) {
 
     /* form  C := alpha*A*B + C */
-
+      
+    /* Parallelization with OpenMP */
+#if defined(_OPENMP)
+#pragma omp parallel for default(none) \
+ shared(K,n1,alpha,F,ldf,n2,C,ldc,G,ldg) \
+ private(k,i,j)
+#endif
     for (k = 0; k < K; k++) {
       for (i = 0; i < n1; i++) {
         const BASE temp = alpha * F[ldf * i + k];
@@ -89,6 +95,12 @@
 
     /* form  C := alpha*A*B' + C */
 
+    /* Parallelization with OpenMP */
+#if defined(_OPENMP)
+#pragma omp parallel for default(none) \
+ shared(n1,n2,K,F,ldf,G,ldg,C,ldc,alpha) \
+ private(i,j,k)
+#endif
     for (i = 0; i < n1; i++) {
       for (j = 0; j < n2; j++) {
         BASE temp = 0.0;
@@ -101,6 +113,12 @@
 
   } else if (TransF == CblasTrans && TransG == CblasNoTrans) {
 
+    /* Parallelization with OpenMP */
+#if defined(_OPENMP)
+#pragma omp parallel for default(none) \
+ shared(K,n1,alpha,F,ldf,n2,C,ldc,G,ldg) \
+ private(k,i,j)
+#endif
     for (k = 0; k < K; k++) {
       for (i = 0; i < n1; i++) {
         const BASE temp = alpha * F[ldf * k + i];
@@ -114,6 +132,12 @@
 
   } else if (TransF == CblasTrans && TransG == CblasTrans) {
 
+    /* Parallelization with OpenMP */
+#if defined(_OPENMP)
+#pragma omp parallel for default(none) \
+ shared(n1,n2,K,F,ldf,G,ldg,C,ldc,alpha) \
+ private(i,j,k)
+#endif
     for (i = 0; i < n1; i++) {
       for (j = 0; j < n2; j++) {
         BASE temp = 0.0;

