]> foleosoft.com Git - QAnsel.git/commitdiff
Mon Mar 18 08:39:22 PM EDT 2024
authormiha-q <>
Tue, 19 Mar 2024 00:39:22 +0000 (20:39 -0400)
committermiha-q <>
Tue, 19 Mar 2024 00:39:22 +0000 (20:39 -0400)
build.sh
src/complex.c
src/hardware.c

index 67775924911ca427357a08214155a0e3e1999924..c01195e7731e47ff09602938419e3b0556739049 100644 (file)
--- a/build.sh
+++ b/build.sh
@@ -25,9 +25,9 @@ then
 fi
 if [ "$1" = "simple" ]
 then
-       bcmd="gcc src/main.c -g -o bin/QAnsel -lm$x86 -D_REENTRANT -pthread"
+       bcmd="gcc src/main.c -g -o bin/QAnsel -lm$x86"
 else
-       bcmd="gcc src/main.c -g -o bin/QAnsel -lm$x86 -D__SDL2__ -D__OPENCL__ -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread"
+       bcmd="gcc src/main.c -g -o bin/QAnsel -lm$x86 -D__PTHREAD__ -D__SDL2__ -D__OPENCL__ -I/usr/include/SDL2 -D_REENTRANT -lSDL2 -lOpenCL -pthread"
 fi
 echo "$bcmd"
 $($bcmd)
index 649823b9c2c91c650eb919e164d1184db7d2b5aa..6abeeb546277d9c0ff99ec71ad3013b1944cf684 100644 (file)
@@ -209,6 +209,7 @@ void* cpx_mtx_knk_threads_run(void *context)
 
 void cpx_mtx_knk_threads(float* ptrR, float* ptrA, float* ptrB, int rowsA, int colsA, int rowsB, int colsB)
 {
+       #ifdef __PTHREAD__
        int delimeter = rowsA * rowsB;
        int cores = qansel_get_core_count();
        int threadCount = cores;
@@ -244,6 +245,9 @@ void cpx_mtx_knk_threads(float* ptrR, float* ptrA, float* ptrB, int rowsA, int c
             fprintf(stderr, "QAnsel: Thread error. (2)\n");
         }
     }
+       #else
+       cpx_mtx_knk_threads(ptrR, ptrA, ptrB, rowsA, colsA, rowsB, colsB);
+       #endif
 }
 
 void* cpx_mtx_knk_threads_2x2_run(void *context)
@@ -274,6 +278,7 @@ void* cpx_mtx_knk_threads_2x2_run(void *context)
 
 void cpx_mtx_knk_threads_2x2(float* ptrR, float* ptrA, float* ptrB, int rowsA, int colsA, int rowsB, int colsB)
 {
+       #ifdef __PTHREAD__
        int delimeter = (rowsA * rowsB) / 2;
        int cores = qansel_get_core_count();
        int threadCount = cores;
@@ -309,6 +314,10 @@ void cpx_mtx_knk_threads_2x2(float* ptrR, float* ptrA, float* ptrB, int rowsA, i
             fprintf(stderr, "QAnsel: Thread error. (2)\n");
         }
     }
+       #else
+       cpx_mtx_knk_threads_2x2(ptrR, ptrA, ptrB, rowsA, colsA, rowsB, colsB);
+       #endif
+
 }
 
 void* cpx_mtx_dot_threads_run(void *context)
@@ -325,6 +334,7 @@ void* cpx_mtx_dot_threads_run(void *context)
 
 void cpx_mtx_dot_threads(float* ptrR, float* ptrA, float* ptrB, int rowsA, int colsA, int rowsB, int colsB)
 {
+       #ifdef __PTHREAD__
     int delimeter = colsB;
        int cores = qansel_get_core_count();
        int threadCount = cores;
@@ -359,7 +369,11 @@ void cpx_mtx_dot_threads(float* ptrR, float* ptrA, float* ptrB, int rowsA, int c
             fprintf(stderr, "QAnsel: Thread error. (2)\n");
         }
     }
+       #else
+       cpx_mtx_dot_threads(ptrR, ptrA, ptrB, rowsA, colsA, rowsB, colsB);
+       #endif
 }
+
 /*-----------------------------------------------------------------------------------*/
 /*METAL*/
 /*-----------------------------------------------------------------------------------*/
index baaf580cc5398e34eff72f0410ab41f2ce13f899..130d87e1814a95bcb438b2e6cc278d4a03c6b94b 100644 (file)
@@ -30,6 +30,7 @@ int qansel___get_core_count()
 
 int qansel_get_core_count()
 {
+    #ifdef __PTHREAD__
     static int coreCount = -1;
     if (coreCount == -1)
     {
@@ -40,6 +41,9 @@ int qansel_get_core_count()
         }
     }
     return coreCount;
+    #else
+    return 1;
+    #endif
 }
 
 unsigned long int qansel_get_time()