/root/doris/contrib/openblas/common.h
Line | Count | Source |
1 | | /*********************************************************************/ |
2 | | /* Copyright 2009, 2010 The University of Texas at Austin. */ |
3 | | /* All rights reserved. */ |
4 | | /* */ |
5 | | /* Redistribution and use in source and binary forms, with or */ |
6 | | /* without modification, are permitted provided that the following */ |
7 | | /* conditions are met: */ |
8 | | /* */ |
9 | | /* 1. Redistributions of source code must retain the above */ |
10 | | /* copyright notice, this list of conditions and the following */ |
11 | | /* disclaimer. */ |
12 | | /* */ |
13 | | /* 2. Redistributions in binary form must reproduce the above */ |
14 | | /* copyright notice, this list of conditions and the following */ |
15 | | /* disclaimer in the documentation and/or other materials */ |
16 | | /* provided with the distribution. */ |
17 | | /* */ |
18 | | /* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */ |
19 | | /* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */ |
20 | | /* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */ |
21 | | /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */ |
22 | | /* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */ |
23 | | /* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */ |
24 | | /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */ |
25 | | /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */ |
26 | | /* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */ |
27 | | /* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */ |
28 | | /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ |
29 | | /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */ |
30 | | /* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */ |
31 | | /* POSSIBILITY OF SUCH DAMAGE. */ |
32 | | /* */ |
33 | | /* The views and conclusions contained in the software and */ |
34 | | /* documentation are those of the authors and should not be */ |
35 | | /* interpreted as representing official policies, either expressed */ |
36 | | /* or implied, of The University of Texas at Austin. */ |
37 | | /*********************************************************************/ |
38 | | |
39 | | #ifndef COMMON_H |
40 | | #define COMMON_H |
41 | | |
42 | | #ifdef __cplusplus |
43 | | extern "C" { |
44 | | /* Assume C declarations for C++ */ |
45 | | #endif /* __cplusplus */ |
46 | | |
47 | | #ifndef _GNU_SOURCE |
48 | | #define _GNU_SOURCE |
49 | | #endif |
50 | | |
51 | | #ifndef __USE_XOPEN |
52 | | #define __USE_XOPEN |
53 | | #endif |
54 | | |
55 | | #ifndef __USE_SVID |
56 | | #define __USE_SVID |
57 | | #endif |
58 | | |
59 | | #ifdef BUILD_KERNEL |
60 | | #include "config_kernel.h" |
61 | | #else |
62 | | #include "config.h" |
63 | | #endif |
64 | | |
65 | | #undef ENABLE_SSE_EXCEPTION |
66 | | |
67 | | #if defined(SMP_SERVER) || defined(SMP_ONDEMAND) |
68 | | #define SMP |
69 | | #endif |
70 | | |
71 | | #if defined(OS_WINNT) || defined(OS_CYGWIN_NT) || defined(OS_INTERIX) |
72 | | #define WINDOWS_ABI |
73 | | #define OS_WINDOWS |
74 | | |
75 | | #ifdef DOUBLE |
76 | | #define DOUBLE_DEFINED DOUBLE |
77 | | #undef DOUBLE |
78 | | #endif |
79 | | #endif |
80 | | |
81 | | #if !defined(NOINCLUDE) && !defined(ASSEMBLER) |
82 | | #include <stdio.h> |
83 | | #include <stdlib.h> |
84 | | #include <string.h> |
85 | | |
86 | | #if !defined(_MSC_VER) |
87 | | #include <unistd.h> |
88 | | #elif _MSC_VER < 1900 |
89 | | #define snprintf _snprintf |
90 | | #endif |
91 | | #include <time.h> |
92 | | |
93 | | #if defined(OS_LINUX) || defined(OS_QNX) |
94 | | #include <malloc.h> |
95 | | #include <sched.h> |
96 | | #endif |
97 | | |
98 | | #if defined(OS_DARWIN) || defined(OS_FREEBSD) || defined(OS_NETBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_ANDROID) |
99 | | #include <sched.h> |
100 | | #endif |
101 | | |
102 | | #ifdef OS_ANDROID |
103 | | #define NO_SYSV_IPC |
104 | | //Android NDK only supports complex.h since Android 5.0 |
105 | | #if __ANDROID_API__ < 21 |
106 | | #define FORCE_OPENBLAS_COMPLEX_STRUCT |
107 | | #endif |
108 | | #endif |
109 | | |
110 | | #if defined(OS_HAIKU) || defined(OS_QNX) |
111 | | #define NO_SYSV_IPC |
112 | | #endif |
113 | | |
114 | | #ifdef OS_WINDOWS |
115 | | #ifdef ATOM |
116 | | #define GOTO_ATOM ATOM |
117 | | #undef ATOM |
118 | | #endif |
119 | | #include <windows.h> |
120 | | #include <math.h> |
121 | | #ifdef GOTO_ATOM |
122 | | #define ATOM GOTO_ATOM |
123 | | #undef GOTO_ATOM |
124 | | #endif |
125 | | #elif !defined(OS_EMBEDDED) |
126 | | #include <sys/mman.h> |
127 | | #ifndef NO_SYSV_IPC |
128 | | #include <sys/shm.h> |
129 | | #endif |
130 | | #include <sys/time.h> |
131 | | #include <time.h> |
132 | | #include <unistd.h> |
133 | | #include <math.h> |
134 | | #if defined(SMP) || defined(USE_LOCKING) |
135 | | #include <pthread.h> |
136 | | #endif |
137 | | #else |
138 | | #include <time.h> |
139 | | #include <math.h> |
140 | | #endif |
141 | | |
142 | | #if defined(OS_SUNOS) |
143 | | #include <thread.h> |
144 | | #endif |
145 | | |
146 | | #ifdef __DECC |
147 | | #include <c_asm.h> |
148 | | #include <machine/builtins.h> |
149 | | #endif |
150 | | |
151 | | #if defined(ARCH_IA64) && defined(ENABLE_SSE_EXCEPTION) |
152 | | #include <fenv.h> |
153 | | #endif |
154 | | |
155 | | #endif |
156 | | |
157 | | #if defined(OS_WINDOWS) && defined(DOUBLE_DEFINED) |
158 | | #define DOUBLE DOUBLE_DEFINED |
159 | | #undef DOUBLE_DEFINED |
160 | | #endif |
161 | | |
162 | | #undef DEBUG_INFO |
163 | | #define SMP_DEBUG |
164 | | #undef MALLOC_DEBUG |
165 | | #undef SMP_ALLOC_DEBUG |
166 | | |
167 | | #ifndef ZERO |
168 | | #ifdef XDOUBLE |
169 | | #define ZERO 0.e0L |
170 | | #elif defined DOUBLE |
171 | 0 | #define ZERO 0.e0 |
172 | | #else |
173 | 0 | #define ZERO 0.e0f |
174 | | #endif |
175 | | #endif |
176 | | |
177 | | #ifndef ONE |
178 | | #ifdef XDOUBLE |
179 | | #define ONE 1.e0L |
180 | | #elif defined DOUBLE |
181 | 0 | #define ONE 1.e0 |
182 | | #else |
183 | 0 | #define ONE 1.e0f |
184 | | #endif |
185 | | #endif |
186 | | |
187 | 0 | #define BITMASK(a, b, c) ((((a) >> (b)) & (c))) |
188 | | |
189 | | #define ALLOCA_ALIGN 63UL |
190 | | |
191 | 156 | #define NUM_BUFFERS MAX(50,(MAX_CPU_NUMBER * 2 * MAX_PARALLEL_NUMBER)) |
192 | | |
193 | | #ifdef NEEDBUNDERSCORE |
194 | 1 | #define BLASFUNC(FUNC) FUNC##_ |
195 | | #else |
196 | | #define BLASFUNC(FUNC) FUNC |
197 | | #endif |
198 | | |
199 | | #undef USE_PTHREAD_LOCK |
200 | | #undef USE_PTHREAD_SPINLOCK |
201 | | |
202 | | #if defined(USE_PTHREAD_LOCK) && defined(USE_PTHREAD_SPINLOCK) |
203 | | #error "You can't specify both LOCK operation!" |
204 | | #endif |
205 | | |
206 | | #if defined(SMP) || defined(USE_LOCKING) |
207 | | #define USE_PTHREAD_LOCK |
208 | | #undef USE_PTHREAD_SPINLOCK |
209 | | #endif |
210 | | |
211 | | #ifdef OS_WINDOWS |
212 | | #undef USE_PTHREAD_LOCK |
213 | | #undef USE_PTHREAD_SPINLOCK |
214 | | #endif |
215 | | |
216 | | #if defined(USE_PTHREAD_LOCK) |
217 | 0 | #define LOCK_COMMAND(x) pthread_mutex_lock(x) |
218 | 0 | #define UNLOCK_COMMAND(x) pthread_mutex_unlock(x) |
219 | | #elif defined(USE_PTHREAD_SPINLOCK) |
220 | | #ifndef ASSEMBLER |
221 | | typedef volatile int pthread_spinlock_t; |
222 | | int pthread_spin_lock (pthread_spinlock_t *__lock); |
223 | | int pthread_spin_unlock (pthread_spinlock_t *__lock); |
224 | | #endif |
225 | | #define LOCK_COMMAND(x) pthread_spin_lock(x) |
226 | | #define UNLOCK_COMMAND(x) pthread_spin_unlock(x) |
227 | | #else |
228 | | #define LOCK_COMMAND(x) blas_lock(x) |
229 | | #define UNLOCK_COMMAND(x) blas_unlock(x) |
230 | | #endif |
231 | | |
232 | | #define GOTO_SHMID 0x510510 |
233 | | |
234 | | #if 0 |
235 | | #ifndef __CUDACC__ |
236 | | #define __global__ |
237 | | #define __device__ |
238 | | #define __host__ |
239 | | #define __shared__ |
240 | | #endif |
241 | | #endif |
242 | | |
243 | | #ifndef ASSEMBLER |
244 | | |
245 | | #ifdef QUAD_PRECISION |
246 | | typedef struct { |
247 | | unsigned long x[2]; |
248 | | } xdouble; |
249 | | #elif defined EXPRECISION |
250 | | #define xdouble long double |
251 | | #else |
252 | | #define xdouble double |
253 | | #endif |
254 | | |
255 | | #if defined(OS_WINDOWS) && defined(__64BIT__) |
256 | | typedef long long BLASLONG; |
257 | | typedef unsigned long long BLASULONG; |
258 | | #else |
259 | | typedef long BLASLONG; |
260 | | typedef unsigned long BLASULONG; |
261 | | #endif |
262 | | |
263 | | #ifndef bfloat16 |
264 | | #include <stdint.h> |
265 | | typedef uint16_t bfloat16; |
266 | | #define BFLOAT16CONVERSION 1 |
267 | | #endif |
268 | | |
269 | | #ifdef USE64BITINT |
270 | | typedef BLASLONG blasint; |
271 | | #if defined(OS_WINDOWS) && defined(__64BIT__) |
272 | | #define blasabs(x) llabs(x) |
273 | | #else |
274 | | #define blasabs(x) labs(x) |
275 | | #endif |
276 | | #else |
277 | | typedef int blasint; |
278 | 0 | #define blasabs(x) abs(x) |
279 | | #endif |
280 | | #else |
281 | | #ifdef USE64BITINT |
282 | | #define INTSHIFT 3 |
283 | | #define INTSIZE 8 |
284 | | #else |
285 | | #define INTSHIFT 2 |
286 | | #define INTSIZE 4 |
287 | | #endif |
288 | | #endif |
289 | | |
290 | | #ifdef XDOUBLE |
291 | | #define FLOAT xdouble |
292 | | #ifdef QUAD_PRECISION |
293 | | #define XFLOAT xidouble |
294 | | #endif |
295 | | #ifdef QUAD_PRECISION |
296 | | #define SIZE 32 |
297 | | #define BASE_SHIFT 5 |
298 | | #define ZBASE_SHIFT 6 |
299 | | #else |
300 | | #define SIZE 16 |
301 | | #define BASE_SHIFT 4 |
302 | | #define ZBASE_SHIFT 5 |
303 | | #endif |
304 | | #elif defined(DOUBLE) |
305 | 0 | #define FLOAT double |
306 | 0 | #define SIZE 8 |
307 | | #define BASE_SHIFT 3 |
308 | | #define ZBASE_SHIFT 4 |
309 | | #elif defined(BFLOAT16) |
310 | | #define IFLOAT bfloat16 |
311 | | #define XFLOAT IFLOAT |
312 | | #define FLOAT float |
313 | | #define SIZE 2 |
314 | | #define BASE_SHIFT 1 |
315 | | #define ZBASE_SHIFT 2 |
316 | | #else |
317 | 0 | #define FLOAT float |
318 | 0 | #define SIZE 4 |
319 | | #define BASE_SHIFT 2 |
320 | | #define ZBASE_SHIFT 3 |
321 | | #endif |
322 | | |
323 | | #ifndef XFLOAT |
324 | | #define XFLOAT FLOAT |
325 | | #endif |
326 | | |
327 | | #ifndef IFLOAT |
328 | 0 | #define IFLOAT FLOAT |
329 | | #endif |
330 | | |
331 | | #ifndef COMPLEX |
332 | 0 | #define COMPSIZE 1 |
333 | | #else |
334 | | #define COMPSIZE 2 |
335 | | #endif |
336 | | |
337 | | |
338 | | #define Address_H(x) (((x)+(1<<15))>>16) |
339 | | #define Address_L(x) ((x)-((Address_H(x))<<16)) |
340 | | |
341 | | #ifndef MAX_CPU_NUMBER |
342 | | #define MAX_CPU_NUMBER 2 |
343 | | #endif |
344 | | |
345 | | #if defined(OS_SUNOS) |
346 | | #define YIELDING thr_yield() |
347 | | #endif |
348 | | |
349 | | #if defined(OS_WINDOWS) |
350 | | #if defined(_MSC_VER) && !defined(__clang__) |
351 | | #define YIELDING YieldProcessor() |
352 | | #else |
353 | | #define YIELDING SwitchToThread() |
354 | | #endif |
355 | | #endif |
356 | | |
357 | | #if defined(ARMV7) || defined(ARMV6) || defined(ARMV8) || defined(ARMV5) |
358 | | #define YIELDING __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop; \n"); |
359 | | #endif |
360 | | |
361 | | |
362 | | #if defined(POWER8) || defined(POWER9) || defined(POWER10) |
363 | | #ifndef YIELDING |
364 | | #define YIELDING __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop;\n"); |
365 | | #endif |
366 | | #endif |
367 | | |
368 | | |
369 | | #if defined(ARCH_X86_64) |
370 | | #ifndef YIELDING |
371 | 0 | #define YIELDING __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop;\n"); |
372 | | #endif |
373 | | #endif |
374 | | |
375 | | #if defined(ARCH_RISCV64) |
376 | | #ifndef YIELDING |
377 | | #define YIELDING __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop;\n"); |
378 | | #endif |
379 | | #endif |
380 | | |
381 | | |
382 | | #ifdef __EMSCRIPTEN__ |
383 | | #define YIELDING |
384 | | #endif |
385 | | |
386 | | #ifndef YIELDING |
387 | | #define YIELDING sched_yield() |
388 | | #endif |
389 | | |
390 | | /*** |
391 | | To alloc job_t on heap or stack. |
392 | | please https://github.com/xianyi/OpenBLAS/issues/246 |
393 | | ***/ |
394 | | #if defined(OS_WINDOWS) |
395 | | #define GETRF_MEM_ALLOC_THRESHOLD 32 |
396 | | #define BLAS3_MEM_ALLOC_THRESHOLD 32 |
397 | | #endif |
398 | | |
399 | | #ifndef GETRF_MEM_ALLOC_THRESHOLD |
400 | | #define GETRF_MEM_ALLOC_THRESHOLD 80 |
401 | | #endif |
402 | | |
403 | | #ifndef BLAS3_MEM_ALLOC_THRESHOLD |
404 | | #define BLAS3_MEM_ALLOC_THRESHOLD 32 |
405 | | #endif |
406 | | |
407 | | #ifdef QUAD_PRECISION |
408 | | #include "common_quad.h" |
409 | | #endif |
410 | | |
411 | | #ifdef ARCH_ALPHA |
412 | | #include "common_alpha.h" |
413 | | #endif |
414 | | |
415 | | #if (defined(ARCH_X86) || defined(ARCH_X86_64)) && defined(__CET__) && defined(__has_include) |
416 | | #if __has_include(<cet.h>) |
417 | | #include <cet.h> |
418 | | #endif |
419 | | #endif |
420 | | #ifndef _CET_ENDBR |
421 | | #define _CET_ENDBR |
422 | | #endif |
423 | | |
424 | | #ifdef ARCH_X86 |
425 | | #include "common_x86.h" |
426 | | #endif |
427 | | |
428 | | #ifdef ARCH_X86_64 |
429 | | #include "common_x86_64.h" |
430 | | #endif |
431 | | |
432 | | #ifdef ARCH_IA64 |
433 | | #include "common_ia64.h" |
434 | | #endif |
435 | | |
436 | | #ifdef ARCH_POWER |
437 | | #include "common_power.h" |
438 | | #endif |
439 | | |
440 | | #ifdef sparc |
441 | | #include "common_sparc.h" |
442 | | #endif |
443 | | |
444 | | #ifdef ARCH_MIPS |
445 | | #include "common_mips.h" |
446 | | #endif |
447 | | |
448 | | |
449 | | #ifdef ARCH_RISCV64 |
450 | | #include "common_riscv64.h" |
451 | | #endif |
452 | | |
453 | | #ifdef ARCH_MIPS64 |
454 | | #include "common_mips64.h" |
455 | | #endif |
456 | | |
457 | | #ifdef ARCH_ARM |
458 | | #include "common_arm.h" |
459 | | #endif |
460 | | |
461 | | #ifdef ARCH_ARM64 |
462 | | #include "common_arm64.h" |
463 | | #endif |
464 | | |
465 | | #ifdef ARCH_ZARCH |
466 | | #include "common_zarch.h" |
467 | | #endif |
468 | | |
469 | | #ifdef ARCH_LOONGARCH64 |
470 | | #include "common_loongarch64.h" |
471 | | #endif |
472 | | |
473 | | #ifdef ARCH_E2K |
474 | | #include "common_e2k.h" |
475 | | #endif |
476 | | |
477 | | #ifdef ARCH_CSKY |
478 | | #include "common_csky.h" |
479 | | #endif |
480 | | |
481 | | #ifndef ASSEMBLER |
482 | | #ifdef OS_WINDOWSSTORE |
483 | | typedef char env_var_t[MAX_PATH]; |
484 | | #define readenv(p, n) 0 |
485 | | #else |
486 | | #if defined(OS_WINDOWS) && !defined(OS_CYGWIN_NT) |
487 | | typedef char env_var_t[MAX_PATH]; |
488 | | #define readenv(p, n) GetEnvironmentVariable((LPCTSTR)(n), (LPTSTR)(p), sizeof(p)) |
489 | | #else |
490 | | typedef char* env_var_t; |
491 | 8 | #define readenv(p, n) ((p)=getenv(n)) |
492 | | #endif |
493 | | #endif |
494 | | |
495 | | #if !defined(RPCC_DEFINED) && !defined(OS_WINDOWS) |
496 | | #ifdef _POSIX_MONOTONIC_CLOCK |
497 | | #if defined(__GLIBC_PREREQ) // cut the if condition if two lines, otherwise will fail at __GLIBC_PREREQ(2, 17) |
498 | | #if __GLIBC_PREREQ(2, 17) // don't require -lrt |
499 | | #define USE_MONOTONIC |
500 | | #endif |
501 | | #elif defined(OS_ANDROID) |
502 | | #define USE_MONOTONIC |
503 | | #endif |
504 | | #endif |
505 | | /* use similar scale as x86 rdtsc for timeouts to work correctly */ |
506 | | static inline unsigned long long rpcc(void){ |
507 | | #ifdef USE_MONOTONIC |
508 | | struct timespec ts; |
509 | | clock_gettime(CLOCK_MONOTONIC, &ts); |
510 | | return (unsigned long long)ts.tv_sec * 1000000000ull + ts.tv_nsec; |
511 | | #elif !defined(OS_EMBEDDED) |
512 | | struct timeval tv; |
513 | | gettimeofday(&tv,NULL); |
514 | | return (unsigned long long)tv.tv_sec * 1000000000ull + tv.tv_usec * 1000; |
515 | | #else |
516 | | return 0; |
517 | | #endif |
518 | | } |
519 | | #define RPCC_DEFINED |
520 | | #define RPCC64BIT |
521 | | #endif // !RPCC_DEFINED |
522 | | |
523 | | #if !defined(BLAS_LOCK_DEFINED) && defined(__GNUC__) |
524 | | static __inline void blas_lock(volatile BLASULONG *address){ |
525 | | |
526 | | do { |
527 | | while (*address) {YIELDING;}; |
528 | | |
529 | | } while (!__sync_bool_compare_and_swap(address, 0, 1)); |
530 | | } |
531 | | #define BLAS_LOCK_DEFINED |
532 | | #endif |
533 | | |
534 | | #ifndef RPCC_DEFINED |
535 | | #error "rpcc() implementation is missing for your platform" |
536 | | #endif |
537 | | #ifndef BLAS_LOCK_DEFINED |
538 | | #error "blas_lock() implementation is missing for your platform" |
539 | | #endif |
540 | | #endif // !ASSEMBLER |
541 | | |
542 | | #ifdef OS_LINUX |
543 | | #include "common_linux.h" |
544 | | #endif |
545 | | |
546 | | #ifdef OS_EMBEDDED |
547 | | #define DTB_DEFAULT_ENTRIES 64 |
548 | | #endif |
549 | | |
550 | 12 | #define MMAP_ACCESS (PROT_READ | PROT_WRITE) |
551 | | |
552 | | #ifdef __NetBSD__ |
553 | | #define MMAP_POLICY (MAP_PRIVATE | MAP_ANON) |
554 | | #else |
555 | 12 | #define MMAP_POLICY (MAP_PRIVATE | MAP_ANONYMOUS) |
556 | | #endif |
557 | | |
558 | | #ifndef ASSEMBLER |
559 | | /* C99 supports complex floating numbers natively, which GCC also offers as an |
560 | | extension since version 3.0. If neither are available, use a compatible |
561 | | structure as fallback (see Clause 6.2.5.13 of the C99 standard). */ |
562 | | #if ((defined(__STDC_IEC_559_COMPLEX__) || __STDC_VERSION__ >= 199901L || \ |
563 | | (__GNUC__ >= 3 && !defined(__cplusplus))) && !(defined(FORCE_OPENBLAS_COMPLEX_STRUCT))) && !defined(_MSC_VER) |
564 | | #define OPENBLAS_COMPLEX_C99 |
565 | | #ifndef __cplusplus |
566 | | #include <complex.h> |
567 | | #endif |
568 | | typedef float _Complex openblas_complex_float; |
569 | | typedef double _Complex openblas_complex_double; |
570 | | typedef xdouble _Complex openblas_complex_xdouble; |
571 | | #define openblas_make_complex_float(real, imag) ((real) + ((imag) * _Complex_I)) |
572 | | #define openblas_make_complex_double(real, imag) ((real) + ((imag) * _Complex_I)) |
573 | | #define openblas_make_complex_xdouble(real, imag) ((real) + ((imag) * _Complex_I)) |
574 | | #else |
575 | | #define OPENBLAS_COMPLEX_STRUCT |
576 | | typedef struct { float real, imag; } openblas_complex_float; |
577 | | typedef struct { double real, imag; } openblas_complex_double; |
578 | | typedef struct { xdouble real, imag; } openblas_complex_xdouble; |
579 | | #define openblas_make_complex_float(real, imag) {(real), (imag)} |
580 | | #define openblas_make_complex_double(real, imag) {(real), (imag)} |
581 | | #define openblas_make_complex_xdouble(real, imag) {(real), (imag)} |
582 | | #endif |
583 | | #endif |
584 | | |
585 | | #include "param.h" |
586 | | #include "common_param.h" |
587 | | |
588 | | #ifndef STDERR |
589 | | #define STDERR stderr |
590 | | #endif |
591 | | |
592 | | #ifndef MASK |
593 | | #define MASK(a, b) (((a) + ((b) - 1)) & ~((b) - 1)) |
594 | | #endif |
595 | | |
596 | | #if defined(XDOUBLE) || defined(DOUBLE) |
597 | 0 | #define FLOATRET FLOAT |
598 | | #else |
599 | | #ifdef NEED_F2CCONV |
600 | | #define FLOATRET double |
601 | | #else |
602 | 0 | #define FLOATRET float |
603 | | #endif |
604 | | #endif |
605 | | |
606 | | #ifndef ASSEMBLER |
607 | | #ifndef NOINCLUDE |
608 | | /* Inclusion of a standard header file is needed for definition of __STDC_* |
609 | | predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs |
610 | | as a side effect of including either <features.h> or <stdc-predef.h>. */ |
611 | | #include <stdio.h> |
612 | | #endif // NOINCLUDE |
613 | | |
614 | | #ifdef XDOUBLE |
615 | | #define OPENBLAS_COMPLEX_FLOAT openblas_complex_xdouble |
616 | | #define OPENBLAS_MAKE_COMPLEX_FLOAT(r,i) openblas_make_complex_xdouble(r,i) |
617 | | #elif defined(DOUBLE) |
618 | | #define OPENBLAS_COMPLEX_FLOAT openblas_complex_double |
619 | | #define OPENBLAS_MAKE_COMPLEX_FLOAT(r,i) openblas_make_complex_double(r,i) |
620 | | #else |
621 | | #define OPENBLAS_COMPLEX_FLOAT openblas_complex_float |
622 | | #define OPENBLAS_MAKE_COMPLEX_FLOAT(r,i) openblas_make_complex_float(r,i) |
623 | | #endif |
624 | | |
625 | | #if defined(C_PGI) || defined(C_SUN) |
626 | | #if defined(__STDC_IEC_559_COMPLEX__) |
627 | | #define CREAL(X) creal(X) |
628 | | #define CIMAG(X) cimag(X) |
629 | | #else |
630 | | #define CREAL(X) (*((FLOAT *)&X + 0)) |
631 | | #define CIMAG(X) (*((FLOAT *)&X + 1)) |
632 | | #endif |
633 | | #else |
634 | | #ifdef OPENBLAS_COMPLEX_STRUCT |
635 | | #define CREAL(Z) ((Z).real) |
636 | | #define CIMAG(Z) ((Z).imag) |
637 | | #else |
638 | | #define CREAL __real__ |
639 | | #define CIMAG __imag__ |
640 | | #endif |
641 | | #endif |
642 | | |
643 | | #endif // ASSEMBLER |
644 | | |
645 | | #ifndef IFLUSH |
646 | | #define IFLUSH |
647 | | #endif |
648 | | |
649 | | #ifndef IFLUSH_HALF |
650 | | #define IFLUSH_HALF |
651 | | #endif |
652 | | |
653 | | #if defined(C_GCC) && (( __GNUC__ <= 3) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 2))) |
654 | | #ifdef USE_OPENMP |
655 | | #undef USE_OPENMP |
656 | | #endif |
657 | | #endif |
658 | | |
659 | | #if defined(C_MSVC) |
660 | | #define inline __inline |
661 | | #endif |
662 | | |
663 | | #ifndef ASSEMBLER |
664 | | |
665 | | #ifndef MIN |
666 | 0 | #define MIN(a,b) (a>b? b:a) |
667 | | #endif |
668 | | |
669 | | #ifndef MAX |
670 | 168 | #define MAX(a,b) (a<b? b:a) |
671 | | #endif |
672 | | |
673 | 0 | #define TOUPPER(a) {if ((a) > 0x60) (a) -= 0x20;} |
674 | | |
675 | | #if defined(__FreeBSD__) || defined(__APPLE__) |
676 | | #define MAP_ANONYMOUS MAP_ANON |
677 | | #endif |
678 | | |
679 | | /* Common Memory Management Routine */ |
680 | | void blas_set_parameter(void); |
681 | | int blas_get_cpu_number(void); |
682 | | void *blas_memory_alloc (int); |
683 | | void blas_memory_free (void *); |
684 | | void *blas_memory_alloc_nolock (int); //use malloc without blas_lock |
685 | | void blas_memory_free_nolock (void *); |
686 | | |
687 | | int get_num_procs (void); |
688 | | |
689 | | #if defined(OS_LINUX) && defined(SMP) && !defined(NO_AFFINITY) |
690 | | int get_num_nodes (void); |
691 | | int get_num_proc (int); |
692 | | int get_node_equal (void); |
693 | | #endif |
694 | | |
695 | | void goto_set_num_threads(int); |
696 | | |
697 | | void gotoblas_affinity_init(void); |
698 | | void gotoblas_affinity_quit(void); |
699 | | void gotoblas_dynamic_init(void); |
700 | | void gotoblas_dynamic_quit(void); |
701 | | void gotoblas_profile_init(void); |
702 | | void gotoblas_profile_quit(void); |
703 | | |
704 | | int support_avx512(void); |
705 | | int support_sme1(void); |
706 | | |
707 | | #ifdef USE_OPENMP |
708 | | |
709 | | #ifndef C_MSVC |
710 | | int omp_in_parallel(void); |
711 | | int omp_get_num_procs(void); |
712 | | #else |
713 | | __declspec(dllimport) int __cdecl omp_in_parallel(void); |
714 | | __declspec(dllimport) int __cdecl omp_get_num_procs(void); |
715 | | #endif |
716 | | |
717 | | #ifdef HAVE_C11 |
718 | | #if defined(C_GCC) && ( __GNUC__ < 7) |
719 | | // workaround for GCC bug 65467 |
720 | | #ifndef _Atomic |
721 | | #define _Atomic volatile |
722 | | #endif |
723 | | #endif |
724 | | #include <stdatomic.h> |
725 | | #else |
726 | | #ifndef _Atomic |
727 | | #define _Atomic volatile |
728 | | #endif |
729 | | #endif |
730 | | |
731 | | #else |
732 | | #ifdef __ELF__ |
733 | | int omp_in_parallel (void) __attribute__ ((weak)); |
734 | | int omp_get_num_procs(void) __attribute__ ((weak)); |
735 | | #endif |
736 | | #endif |
737 | | |
738 | 12 | static __inline void blas_unlock(volatile BLASULONG *address){ |
739 | 12 | MB; |
740 | 12 | *address = 0; |
741 | 12 | } Unexecuted instantiation: sgemm.c:blas_unlock Unexecuted instantiation: ssyrk.c:blas_unlock Unexecuted instantiation: dgemm.c:blas_unlock Unexecuted instantiation: sgetrf.c:blas_unlock Unexecuted instantiation: dgetrf.c:blas_unlock Unexecuted instantiation: sgemm_nn.c:blas_unlock Unexecuted instantiation: dgemm_nn.c:blas_unlock Unexecuted instantiation: sgemm_thread_nn.c:blas_unlock Unexecuted instantiation: dgemm_thread_nn.c:blas_unlock Unexecuted instantiation: sgemm_nt.c:blas_unlock Unexecuted instantiation: dgemm_nt.c:blas_unlock Unexecuted instantiation: sgemm_thread_nt.c:blas_unlock Unexecuted instantiation: dgemm_thread_nt.c:blas_unlock Unexecuted instantiation: sgemm_tn.c:blas_unlock Unexecuted instantiation: dgemm_tn.c:blas_unlock Unexecuted instantiation: sgemm_thread_tn.c:blas_unlock Unexecuted instantiation: dgemm_thread_tn.c:blas_unlock Unexecuted instantiation: sgemm_tt.c:blas_unlock Unexecuted instantiation: dgemm_tt.c:blas_unlock Unexecuted instantiation: sgemm_thread_tt.c:blas_unlock Unexecuted instantiation: dgemm_thread_tt.c:blas_unlock Unexecuted instantiation: ssyrk_UN.c:blas_unlock Unexecuted instantiation: ssyrk_LN.c:blas_unlock Unexecuted instantiation: ssyrk_UT.c:blas_unlock Unexecuted instantiation: ssyrk_LT.c:blas_unlock Unexecuted instantiation: ssyrk_kernel_U.c:blas_unlock Unexecuted instantiation: ssyrk_kernel_L.c:blas_unlock Unexecuted instantiation: ssyrk_thread_UN.c:blas_unlock Unexecuted instantiation: ssyrk_thread_LN.c:blas_unlock Unexecuted instantiation: ssyrk_thread_UT.c:blas_unlock Unexecuted instantiation: ssyrk_thread_LT.c:blas_unlock Line | Count | Source | 738 | 12 | static __inline void blas_unlock(volatile BLASULONG *address){ | 739 | 12 | MB; | 740 | 12 | *address = 0; | 741 | 12 | } |
Unexecuted instantiation: blas_server_omp.c:blas_unlock Unexecuted instantiation: divtable.c:blas_unlock Unexecuted instantiation: blas_server_callback.c:blas_unlock Unexecuted instantiation: xerbla.c:blas_unlock Unexecuted instantiation: openblas_error_handle.c:blas_unlock Unexecuted instantiation: openblas_env.c:blas_unlock Unexecuted instantiation: parameter.c:blas_unlock Unexecuted instantiation: sscal_k.c:blas_unlock Unexecuted instantiation: sgemm_kernel.c:blas_unlock Unexecuted instantiation: sgemm_incopy.c:blas_unlock Unexecuted instantiation: sgemm_itcopy.c:blas_unlock Unexecuted instantiation: sgemm_oncopy.c:blas_unlock Unexecuted instantiation: sgemm_otcopy.c:blas_unlock Unexecuted instantiation: sgemm_beta.c:blas_unlock Unexecuted instantiation: sgemm_small_matrix_permit.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_nn.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_nt.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_tn.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_tt.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_b0_nn.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_b0_nt.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_b0_tn.c:blas_unlock Unexecuted instantiation: sgemm_small_kernel_b0_tt.c:blas_unlock Unexecuted instantiation: dgemm_incopy.c:blas_unlock Unexecuted instantiation: dgemm_itcopy.c:blas_unlock Unexecuted instantiation: dgemm_oncopy.c:blas_unlock Unexecuted instantiation: dgemm_otcopy.c:blas_unlock Unexecuted instantiation: dgemm_beta.c:blas_unlock Unexecuted instantiation: dgemm_small_matrix_permit.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_nn.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_nt.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_tn.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_tt.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_b0_nn.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_b0_nt.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_b0_tn.c:blas_unlock Unexecuted instantiation: dgemm_small_kernel_b0_tt.c:blas_unlock Unexecuted instantiation: sgetrf_single.c:blas_unlock Unexecuted instantiation: sgetf2_k.c:blas_unlock Unexecuted instantiation: sgemv_n.c:blas_unlock Unexecuted instantiation: sdot_k.c:blas_unlock Unexecuted instantiation: strsm_iltucopy.c:blas_unlock Unexecuted instantiation: slaswp_plus.c:blas_unlock Unexecuted instantiation: strsm_kernel_LT.c:blas_unlock Unexecuted instantiation: dgetrf_single.c:blas_unlock Unexecuted instantiation: dgetf2_k.c:blas_unlock Unexecuted instantiation: dscal_k.c:blas_unlock Unexecuted instantiation: ddot_k.c:blas_unlock Unexecuted instantiation: blas_l1_thread.c:blas_unlock Unexecuted instantiation: dgemv_n.c:blas_unlock Unexecuted instantiation: dtrsm_iltucopy.c:blas_unlock Unexecuted instantiation: dlaswp_plus.c:blas_unlock Unexecuted instantiation: dtrsm_kernel_LT.c:blas_unlock Unexecuted instantiation: sgetrf_parallel.c:blas_unlock Unexecuted instantiation: gemm_thread_n.c:blas_unlock Unexecuted instantiation: dgetrf_parallel.c:blas_unlock Unexecuted instantiation: strtri.c:blas_unlock Unexecuted instantiation: strtri_UU_single.c:blas_unlock Unexecuted instantiation: strti2_UU.c:blas_unlock Unexecuted instantiation: strmv_NUU.c:blas_unlock Unexecuted instantiation: saxpy_k.c:blas_unlock Unexecuted instantiation: strmm_LNUU.c:blas_unlock Unexecuted instantiation: strmm_iutucopy.c:blas_unlock Unexecuted instantiation: strmm_kernel_LN.c:blas_unlock Unexecuted instantiation: strsm_RNUU.c:blas_unlock Unexecuted instantiation: strsm_ounucopy.c:blas_unlock Unexecuted instantiation: strsm_kernel_RN.c:blas_unlock Unexecuted instantiation: strtri_UN_single.c:blas_unlock Unexecuted instantiation: strti2_UN.c:blas_unlock Unexecuted instantiation: strmv_NUN.c:blas_unlock Unexecuted instantiation: strmm_LNUN.c:blas_unlock Unexecuted instantiation: strmm_iutncopy.c:blas_unlock Unexecuted instantiation: strsm_RNUN.c:blas_unlock Unexecuted instantiation: strsm_ounncopy.c:blas_unlock Unexecuted instantiation: strtri_LU_single.c:blas_unlock Unexecuted instantiation: strti2_LU.c:blas_unlock Unexecuted instantiation: strmv_NLU.c:blas_unlock Unexecuted instantiation: strmm_LNLU.c:blas_unlock Unexecuted instantiation: strmm_iltucopy.c:blas_unlock Unexecuted instantiation: strmm_kernel_LT.c:blas_unlock Unexecuted instantiation: strsm_RNLU.c:blas_unlock Unexecuted instantiation: strsm_olnucopy.c:blas_unlock Unexecuted instantiation: strsm_kernel_RT.c:blas_unlock Unexecuted instantiation: strtri_LN_single.c:blas_unlock Unexecuted instantiation: strti2_LN.c:blas_unlock Unexecuted instantiation: strmv_NLN.c:blas_unlock Unexecuted instantiation: strmm_LNLN.c:blas_unlock Unexecuted instantiation: strmm_iltncopy.c:blas_unlock Unexecuted instantiation: strsm_RNLN.c:blas_unlock Unexecuted instantiation: strsm_olnncopy.c:blas_unlock Unexecuted instantiation: strtri_UU_parallel.c:blas_unlock Unexecuted instantiation: gemm_thread_m.c:blas_unlock Unexecuted instantiation: strtri_UN_parallel.c:blas_unlock Unexecuted instantiation: strtri_LU_parallel.c:blas_unlock Unexecuted instantiation: strtri_LN_parallel.c:blas_unlock Unexecuted instantiation: strsm.c:blas_unlock Unexecuted instantiation: strsm_LNUU.c:blas_unlock Unexecuted instantiation: strsm_iutucopy.c:blas_unlock Unexecuted instantiation: strsm_kernel_LN.c:blas_unlock Unexecuted instantiation: strsm_LNUN.c:blas_unlock Unexecuted instantiation: strsm_iutncopy.c:blas_unlock Unexecuted instantiation: strsm_LNLU.c:blas_unlock Unexecuted instantiation: strsm_LNLN.c:blas_unlock Unexecuted instantiation: strsm_iltncopy.c:blas_unlock Unexecuted instantiation: strsm_LTUU.c:blas_unlock Unexecuted instantiation: strsm_iunucopy.c:blas_unlock Unexecuted instantiation: strsm_LTUN.c:blas_unlock Unexecuted instantiation: strsm_iunncopy.c:blas_unlock Unexecuted instantiation: strsm_LTLU.c:blas_unlock Unexecuted instantiation: strsm_ilnucopy.c:blas_unlock Unexecuted instantiation: strsm_LTLN.c:blas_unlock Unexecuted instantiation: strsm_ilnncopy.c:blas_unlock Unexecuted instantiation: strsm_RTUU.c:blas_unlock Unexecuted instantiation: strsm_outucopy.c:blas_unlock Unexecuted instantiation: strsm_RTUN.c:blas_unlock Unexecuted instantiation: strsm_outncopy.c:blas_unlock Unexecuted instantiation: strsm_RTLU.c:blas_unlock Unexecuted instantiation: strsm_oltucopy.c:blas_unlock Unexecuted instantiation: strsm_RTLN.c:blas_unlock Unexecuted instantiation: strsm_oltncopy.c:blas_unlock Unexecuted instantiation: sgemv.c:blas_unlock Unexecuted instantiation: sgemv_t.c:blas_unlock Unexecuted instantiation: sgemv_thread_n.c:blas_unlock Unexecuted instantiation: sgemv_thread_t.c:blas_unlock Unexecuted instantiation: sswap.c:blas_unlock Unexecuted instantiation: sscal.c:blas_unlock Unexecuted instantiation: srot.c:blas_unlock Unexecuted instantiation: srot_k.c:blas_unlock Unexecuted instantiation: scopy.c:blas_unlock Unexecuted instantiation: snrm2.c:blas_unlock Unexecuted instantiation: isamax.c:blas_unlock Unexecuted instantiation: sger.c:blas_unlock Unexecuted instantiation: sger_k.c:blas_unlock Unexecuted instantiation: sger_thread.c:blas_unlock Unexecuted instantiation: strmm.c:blas_unlock Unexecuted instantiation: strmm_LTUU.c:blas_unlock Unexecuted instantiation: strmm_iunucopy.c:blas_unlock Unexecuted instantiation: strmm_LTUN.c:blas_unlock Unexecuted instantiation: strmm_iunncopy.c:blas_unlock Unexecuted instantiation: strmm_LTLU.c:blas_unlock Unexecuted instantiation: strmm_ilnucopy.c:blas_unlock Unexecuted instantiation: strmm_LTLN.c:blas_unlock Unexecuted instantiation: strmm_ilnncopy.c:blas_unlock Unexecuted instantiation: strmm_RNUU.c:blas_unlock Unexecuted instantiation: strmm_ounucopy.c:blas_unlock Unexecuted instantiation: strmm_kernel_RN.c:blas_unlock Unexecuted instantiation: strmm_RNUN.c:blas_unlock Unexecuted instantiation: strmm_ounncopy.c:blas_unlock Unexecuted instantiation: strmm_RNLU.c:blas_unlock Unexecuted instantiation: strmm_olnucopy.c:blas_unlock Unexecuted instantiation: strmm_kernel_RT.c:blas_unlock Unexecuted instantiation: strmm_RNLN.c:blas_unlock Unexecuted instantiation: strmm_olnncopy.c:blas_unlock Unexecuted instantiation: strmm_RTUU.c:blas_unlock Unexecuted instantiation: strmm_outucopy.c:blas_unlock Unexecuted instantiation: strmm_RTUN.c:blas_unlock Unexecuted instantiation: strmm_outncopy.c:blas_unlock Unexecuted instantiation: strmm_RTLU.c:blas_unlock Unexecuted instantiation: strmm_oltucopy.c:blas_unlock Unexecuted instantiation: strmm_RTLN.c:blas_unlock Unexecuted instantiation: strmm_oltncopy.c:blas_unlock Unexecuted instantiation: strmv.c:blas_unlock Unexecuted instantiation: strmv_TUU.c:blas_unlock Unexecuted instantiation: strmv_TUN.c:blas_unlock Unexecuted instantiation: strmv_TLU.c:blas_unlock Unexecuted instantiation: strmv_TLN.c:blas_unlock Unexecuted instantiation: strmv_thread_NUU.c:blas_unlock Unexecuted instantiation: strmv_thread_NUN.c:blas_unlock Unexecuted instantiation: strmv_thread_NLU.c:blas_unlock Unexecuted instantiation: strmv_thread_NLN.c:blas_unlock Unexecuted instantiation: strmv_thread_TUU.c:blas_unlock Unexecuted instantiation: strmv_thread_TUN.c:blas_unlock Unexecuted instantiation: strmv_thread_TLU.c:blas_unlock Unexecuted instantiation: strmv_thread_TLN.c:blas_unlock Unexecuted instantiation: sdot.c:blas_unlock Unexecuted instantiation: dtrtri.c:blas_unlock Unexecuted instantiation: dtrtri_UU_single.c:blas_unlock Unexecuted instantiation: dtrti2_UU.c:blas_unlock Unexecuted instantiation: dtrmv_NUU.c:blas_unlock Unexecuted instantiation: daxpy_k.c:blas_unlock Unexecuted instantiation: dtrmm_LNUU.c:blas_unlock Unexecuted instantiation: dtrmm_iutucopy.c:blas_unlock Unexecuted instantiation: dtrmm_kernel_LN.c:blas_unlock Unexecuted instantiation: dtrsm_RNUU.c:blas_unlock Unexecuted instantiation: dtrsm_ounucopy.c:blas_unlock Unexecuted instantiation: dtrsm_kernel_RN.c:blas_unlock Unexecuted instantiation: dtrtri_UN_single.c:blas_unlock Unexecuted instantiation: dtrti2_UN.c:blas_unlock Unexecuted instantiation: dtrmv_NUN.c:blas_unlock Unexecuted instantiation: dtrmm_LNUN.c:blas_unlock Unexecuted instantiation: dtrmm_iutncopy.c:blas_unlock Unexecuted instantiation: dtrsm_RNUN.c:blas_unlock Unexecuted instantiation: dtrsm_ounncopy.c:blas_unlock Unexecuted instantiation: dtrtri_LU_single.c:blas_unlock Unexecuted instantiation: dtrti2_LU.c:blas_unlock Unexecuted instantiation: dtrmv_NLU.c:blas_unlock Unexecuted instantiation: dtrmm_LNLU.c:blas_unlock Unexecuted instantiation: dtrmm_iltucopy.c:blas_unlock Unexecuted instantiation: dtrmm_kernel_LT.c:blas_unlock Unexecuted instantiation: dtrsm_RNLU.c:blas_unlock Unexecuted instantiation: dtrsm_olnucopy.c:blas_unlock Unexecuted instantiation: dtrsm_kernel_RT.c:blas_unlock Unexecuted instantiation: dtrtri_LN_single.c:blas_unlock Unexecuted instantiation: dtrti2_LN.c:blas_unlock Unexecuted instantiation: dtrmv_NLN.c:blas_unlock Unexecuted instantiation: dtrmm_LNLN.c:blas_unlock Unexecuted instantiation: dtrmm_iltncopy.c:blas_unlock Unexecuted instantiation: dtrsm_RNLN.c:blas_unlock Unexecuted instantiation: dtrsm_olnncopy.c:blas_unlock Unexecuted instantiation: dtrtri_UU_parallel.c:blas_unlock Unexecuted instantiation: dtrtri_UN_parallel.c:blas_unlock Unexecuted instantiation: dtrtri_LU_parallel.c:blas_unlock Unexecuted instantiation: dtrtri_LN_parallel.c:blas_unlock Unexecuted instantiation: dtrsm.c:blas_unlock Unexecuted instantiation: dtrsm_LNUU.c:blas_unlock Unexecuted instantiation: dtrsm_iutucopy.c:blas_unlock Unexecuted instantiation: dtrsm_kernel_LN.c:blas_unlock Unexecuted instantiation: dtrsm_LNUN.c:blas_unlock Unexecuted instantiation: dtrsm_iutncopy.c:blas_unlock Unexecuted instantiation: dtrsm_LNLU.c:blas_unlock Unexecuted instantiation: dtrsm_LNLN.c:blas_unlock Unexecuted instantiation: dtrsm_iltncopy.c:blas_unlock Unexecuted instantiation: dtrsm_LTUU.c:blas_unlock Unexecuted instantiation: dtrsm_iunucopy.c:blas_unlock Unexecuted instantiation: dtrsm_LTUN.c:blas_unlock Unexecuted instantiation: dtrsm_iunncopy.c:blas_unlock Unexecuted instantiation: dtrsm_LTLU.c:blas_unlock Unexecuted instantiation: dtrsm_ilnucopy.c:blas_unlock Unexecuted instantiation: dtrsm_LTLN.c:blas_unlock Unexecuted instantiation: dtrsm_ilnncopy.c:blas_unlock Unexecuted instantiation: dtrsm_RTUU.c:blas_unlock Unexecuted instantiation: dtrsm_outucopy.c:blas_unlock Unexecuted instantiation: dtrsm_RTUN.c:blas_unlock Unexecuted instantiation: dtrsm_outncopy.c:blas_unlock Unexecuted instantiation: dtrsm_RTLU.c:blas_unlock Unexecuted instantiation: dtrsm_oltucopy.c:blas_unlock Unexecuted instantiation: dtrsm_RTLN.c:blas_unlock Unexecuted instantiation: dtrsm_oltncopy.c:blas_unlock Unexecuted instantiation: dgemv.c:blas_unlock Unexecuted instantiation: dgemv_t.c:blas_unlock Unexecuted instantiation: dgemv_thread_n.c:blas_unlock Unexecuted instantiation: dgemv_thread_t.c:blas_unlock Unexecuted instantiation: dswap.c:blas_unlock Unexecuted instantiation: dscal.c:blas_unlock Unexecuted instantiation: dger.c:blas_unlock Unexecuted instantiation: dger_k.c:blas_unlock Unexecuted instantiation: dger_thread.c:blas_unlock Unexecuted instantiation: dcopy.c:blas_unlock Unexecuted instantiation: dtrmm.c:blas_unlock Unexecuted instantiation: dtrmm_LTUU.c:blas_unlock Unexecuted instantiation: dtrmm_iunucopy.c:blas_unlock Unexecuted instantiation: dtrmm_LTUN.c:blas_unlock Unexecuted instantiation: dtrmm_iunncopy.c:blas_unlock Unexecuted instantiation: dtrmm_LTLU.c:blas_unlock Unexecuted instantiation: dtrmm_ilnucopy.c:blas_unlock Unexecuted instantiation: dtrmm_LTLN.c:blas_unlock Unexecuted instantiation: dtrmm_ilnncopy.c:blas_unlock Unexecuted instantiation: dtrmm_RNUU.c:blas_unlock Unexecuted instantiation: dtrmm_ounucopy.c:blas_unlock Unexecuted instantiation: dtrmm_kernel_RN.c:blas_unlock Unexecuted instantiation: dtrmm_RNUN.c:blas_unlock Unexecuted instantiation: dtrmm_ounncopy.c:blas_unlock Unexecuted instantiation: dtrmm_RNLU.c:blas_unlock Unexecuted instantiation: dtrmm_olnucopy.c:blas_unlock Unexecuted instantiation: dtrmm_kernel_RT.c:blas_unlock Unexecuted instantiation: dtrmm_RNLN.c:blas_unlock Unexecuted instantiation: dtrmm_olnncopy.c:blas_unlock Unexecuted instantiation: dtrmm_RTUU.c:blas_unlock Unexecuted instantiation: dtrmm_outucopy.c:blas_unlock Unexecuted instantiation: dtrmm_RTUN.c:blas_unlock Unexecuted instantiation: dtrmm_outncopy.c:blas_unlock Unexecuted instantiation: dtrmm_RTLU.c:blas_unlock Unexecuted instantiation: dtrmm_oltucopy.c:blas_unlock Unexecuted instantiation: dtrmm_RTLN.c:blas_unlock Unexecuted instantiation: dtrmm_oltncopy.c:blas_unlock Unexecuted instantiation: dnrm2.c:blas_unlock Unexecuted instantiation: dtrmv.c:blas_unlock Unexecuted instantiation: dtrmv_TUU.c:blas_unlock Unexecuted instantiation: dtrmv_TUN.c:blas_unlock Unexecuted instantiation: dtrmv_TLU.c:blas_unlock Unexecuted instantiation: dtrmv_TLN.c:blas_unlock Unexecuted instantiation: dtrmv_thread_NUU.c:blas_unlock Unexecuted instantiation: dtrmv_thread_NUN.c:blas_unlock Unexecuted instantiation: dtrmv_thread_NLU.c:blas_unlock Unexecuted instantiation: dtrmv_thread_NLN.c:blas_unlock Unexecuted instantiation: dtrmv_thread_TUU.c:blas_unlock Unexecuted instantiation: dtrmv_thread_TUN.c:blas_unlock Unexecuted instantiation: dtrmv_thread_TLU.c:blas_unlock Unexecuted instantiation: dtrmv_thread_TLN.c:blas_unlock Unexecuted instantiation: dsymv.c:blas_unlock Unexecuted instantiation: dsymv_U.c:blas_unlock Unexecuted instantiation: dsymv_L.c:blas_unlock Unexecuted instantiation: dsymv_thread_U.c:blas_unlock Unexecuted instantiation: dsymv_thread_L.c:blas_unlock Unexecuted instantiation: ddot.c:blas_unlock Unexecuted instantiation: daxpy.c:blas_unlock Unexecuted instantiation: dsyr2k.c:blas_unlock Unexecuted instantiation: syrk_thread.c:blas_unlock Unexecuted instantiation: dsyr2k_UN.c:blas_unlock Unexecuted instantiation: dsyr2k_kernel_U.c:blas_unlock Unexecuted instantiation: dsyr2k_UT.c:blas_unlock Unexecuted instantiation: dsyr2k_LN.c:blas_unlock Unexecuted instantiation: dsyr2k_kernel_L.c:blas_unlock Unexecuted instantiation: dsyr2k_LT.c:blas_unlock Unexecuted instantiation: dsyr2.c:blas_unlock Unexecuted instantiation: dsyr2_U.c:blas_unlock Unexecuted instantiation: dsyr2_L.c:blas_unlock Unexecuted instantiation: dsyr2_thread_U.c:blas_unlock Unexecuted instantiation: dsyr2_thread_L.c:blas_unlock Unexecuted instantiation: drot.c:blas_unlock Unexecuted instantiation: drot_k.c:blas_unlock |
742 | | |
743 | | #ifdef OS_WINDOWSSTORE |
744 | | static __inline int readenv_atoi(char *env) { |
745 | | return 0; |
746 | | } |
747 | | #else |
748 | | #ifdef OS_WINDOWS |
749 | | static __inline int readenv_atoi(char *env) { |
750 | | env_var_t p; |
751 | | return readenv(p,env) ? 0 : atoi(p); |
752 | | } |
753 | | #else |
754 | 0 | static __inline int readenv_atoi(char *env) { |
755 | 0 | char *p; |
756 | 0 | if (( p = getenv(env) )) |
757 | 0 | return (atoi(p)); |
758 | 0 | else |
759 | 0 | return(0); |
760 | 0 | } Unexecuted instantiation: sgemm.c:readenv_atoi Unexecuted instantiation: ssyrk.c:readenv_atoi Unexecuted instantiation: dgemm.c:readenv_atoi Unexecuted instantiation: sgetrf.c:readenv_atoi Unexecuted instantiation: dgetrf.c:readenv_atoi Unexecuted instantiation: sgemm_nn.c:readenv_atoi Unexecuted instantiation: dgemm_nn.c:readenv_atoi Unexecuted instantiation: sgemm_thread_nn.c:readenv_atoi Unexecuted instantiation: dgemm_thread_nn.c:readenv_atoi Unexecuted instantiation: sgemm_nt.c:readenv_atoi Unexecuted instantiation: dgemm_nt.c:readenv_atoi Unexecuted instantiation: sgemm_thread_nt.c:readenv_atoi Unexecuted instantiation: dgemm_thread_nt.c:readenv_atoi Unexecuted instantiation: sgemm_tn.c:readenv_atoi Unexecuted instantiation: dgemm_tn.c:readenv_atoi Unexecuted instantiation: sgemm_thread_tn.c:readenv_atoi Unexecuted instantiation: dgemm_thread_tn.c:readenv_atoi Unexecuted instantiation: sgemm_tt.c:readenv_atoi Unexecuted instantiation: dgemm_tt.c:readenv_atoi Unexecuted instantiation: sgemm_thread_tt.c:readenv_atoi Unexecuted instantiation: dgemm_thread_tt.c:readenv_atoi Unexecuted instantiation: ssyrk_UN.c:readenv_atoi Unexecuted instantiation: ssyrk_LN.c:readenv_atoi Unexecuted instantiation: ssyrk_UT.c:readenv_atoi Unexecuted instantiation: ssyrk_LT.c:readenv_atoi Unexecuted instantiation: ssyrk_kernel_U.c:readenv_atoi Unexecuted instantiation: ssyrk_kernel_L.c:readenv_atoi Unexecuted instantiation: ssyrk_thread_UN.c:readenv_atoi Unexecuted instantiation: ssyrk_thread_LN.c:readenv_atoi Unexecuted instantiation: ssyrk_thread_UT.c:readenv_atoi Unexecuted instantiation: ssyrk_thread_LT.c:readenv_atoi Unexecuted instantiation: memory.c:readenv_atoi Unexecuted instantiation: blas_server_omp.c:readenv_atoi Unexecuted instantiation: divtable.c:readenv_atoi Unexecuted instantiation: blas_server_callback.c:readenv_atoi Unexecuted instantiation: xerbla.c:readenv_atoi Unexecuted instantiation: openblas_error_handle.c:readenv_atoi Unexecuted instantiation: openblas_env.c:readenv_atoi Unexecuted instantiation: parameter.c:readenv_atoi Unexecuted instantiation: sscal_k.c:readenv_atoi Unexecuted instantiation: sgemm_kernel.c:readenv_atoi Unexecuted instantiation: sgemm_incopy.c:readenv_atoi Unexecuted instantiation: sgemm_itcopy.c:readenv_atoi Unexecuted instantiation: sgemm_oncopy.c:readenv_atoi Unexecuted instantiation: sgemm_otcopy.c:readenv_atoi Unexecuted instantiation: sgemm_beta.c:readenv_atoi Unexecuted instantiation: sgemm_small_matrix_permit.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_nn.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_nt.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_tn.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_tt.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_b0_nn.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_b0_nt.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_b0_tn.c:readenv_atoi Unexecuted instantiation: sgemm_small_kernel_b0_tt.c:readenv_atoi Unexecuted instantiation: dgemm_incopy.c:readenv_atoi Unexecuted instantiation: dgemm_itcopy.c:readenv_atoi Unexecuted instantiation: dgemm_oncopy.c:readenv_atoi Unexecuted instantiation: dgemm_otcopy.c:readenv_atoi Unexecuted instantiation: dgemm_beta.c:readenv_atoi Unexecuted instantiation: dgemm_small_matrix_permit.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_nn.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_nt.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_tn.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_tt.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_b0_nn.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_b0_nt.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_b0_tn.c:readenv_atoi Unexecuted instantiation: dgemm_small_kernel_b0_tt.c:readenv_atoi Unexecuted instantiation: sgetrf_single.c:readenv_atoi Unexecuted instantiation: sgetf2_k.c:readenv_atoi Unexecuted instantiation: sgemv_n.c:readenv_atoi Unexecuted instantiation: sdot_k.c:readenv_atoi Unexecuted instantiation: strsm_iltucopy.c:readenv_atoi Unexecuted instantiation: slaswp_plus.c:readenv_atoi Unexecuted instantiation: strsm_kernel_LT.c:readenv_atoi Unexecuted instantiation: dgetrf_single.c:readenv_atoi Unexecuted instantiation: dgetf2_k.c:readenv_atoi Unexecuted instantiation: dscal_k.c:readenv_atoi Unexecuted instantiation: ddot_k.c:readenv_atoi Unexecuted instantiation: blas_l1_thread.c:readenv_atoi Unexecuted instantiation: dgemv_n.c:readenv_atoi Unexecuted instantiation: dtrsm_iltucopy.c:readenv_atoi Unexecuted instantiation: dlaswp_plus.c:readenv_atoi Unexecuted instantiation: dtrsm_kernel_LT.c:readenv_atoi Unexecuted instantiation: sgetrf_parallel.c:readenv_atoi Unexecuted instantiation: gemm_thread_n.c:readenv_atoi Unexecuted instantiation: dgetrf_parallel.c:readenv_atoi Unexecuted instantiation: strtri.c:readenv_atoi Unexecuted instantiation: strtri_UU_single.c:readenv_atoi Unexecuted instantiation: strti2_UU.c:readenv_atoi Unexecuted instantiation: strmv_NUU.c:readenv_atoi Unexecuted instantiation: saxpy_k.c:readenv_atoi Unexecuted instantiation: strmm_LNUU.c:readenv_atoi Unexecuted instantiation: strmm_iutucopy.c:readenv_atoi Unexecuted instantiation: strmm_kernel_LN.c:readenv_atoi Unexecuted instantiation: strsm_RNUU.c:readenv_atoi Unexecuted instantiation: strsm_ounucopy.c:readenv_atoi Unexecuted instantiation: strsm_kernel_RN.c:readenv_atoi Unexecuted instantiation: strtri_UN_single.c:readenv_atoi Unexecuted instantiation: strti2_UN.c:readenv_atoi Unexecuted instantiation: strmv_NUN.c:readenv_atoi Unexecuted instantiation: strmm_LNUN.c:readenv_atoi Unexecuted instantiation: strmm_iutncopy.c:readenv_atoi Unexecuted instantiation: strsm_RNUN.c:readenv_atoi Unexecuted instantiation: strsm_ounncopy.c:readenv_atoi Unexecuted instantiation: strtri_LU_single.c:readenv_atoi Unexecuted instantiation: strti2_LU.c:readenv_atoi Unexecuted instantiation: strmv_NLU.c:readenv_atoi Unexecuted instantiation: strmm_LNLU.c:readenv_atoi Unexecuted instantiation: strmm_iltucopy.c:readenv_atoi Unexecuted instantiation: strmm_kernel_LT.c:readenv_atoi Unexecuted instantiation: strsm_RNLU.c:readenv_atoi Unexecuted instantiation: strsm_olnucopy.c:readenv_atoi Unexecuted instantiation: strsm_kernel_RT.c:readenv_atoi Unexecuted instantiation: strtri_LN_single.c:readenv_atoi Unexecuted instantiation: strti2_LN.c:readenv_atoi Unexecuted instantiation: strmv_NLN.c:readenv_atoi Unexecuted instantiation: strmm_LNLN.c:readenv_atoi Unexecuted instantiation: strmm_iltncopy.c:readenv_atoi Unexecuted instantiation: strsm_RNLN.c:readenv_atoi Unexecuted instantiation: strsm_olnncopy.c:readenv_atoi Unexecuted instantiation: strtri_UU_parallel.c:readenv_atoi Unexecuted instantiation: gemm_thread_m.c:readenv_atoi Unexecuted instantiation: strtri_UN_parallel.c:readenv_atoi Unexecuted instantiation: strtri_LU_parallel.c:readenv_atoi Unexecuted instantiation: strtri_LN_parallel.c:readenv_atoi Unexecuted instantiation: strsm.c:readenv_atoi Unexecuted instantiation: strsm_LNUU.c:readenv_atoi Unexecuted instantiation: strsm_iutucopy.c:readenv_atoi Unexecuted instantiation: strsm_kernel_LN.c:readenv_atoi Unexecuted instantiation: strsm_LNUN.c:readenv_atoi Unexecuted instantiation: strsm_iutncopy.c:readenv_atoi Unexecuted instantiation: strsm_LNLU.c:readenv_atoi Unexecuted instantiation: strsm_LNLN.c:readenv_atoi Unexecuted instantiation: strsm_iltncopy.c:readenv_atoi Unexecuted instantiation: strsm_LTUU.c:readenv_atoi Unexecuted instantiation: strsm_iunucopy.c:readenv_atoi Unexecuted instantiation: strsm_LTUN.c:readenv_atoi Unexecuted instantiation: strsm_iunncopy.c:readenv_atoi Unexecuted instantiation: strsm_LTLU.c:readenv_atoi Unexecuted instantiation: strsm_ilnucopy.c:readenv_atoi Unexecuted instantiation: strsm_LTLN.c:readenv_atoi Unexecuted instantiation: strsm_ilnncopy.c:readenv_atoi Unexecuted instantiation: strsm_RTUU.c:readenv_atoi Unexecuted instantiation: strsm_outucopy.c:readenv_atoi Unexecuted instantiation: strsm_RTUN.c:readenv_atoi Unexecuted instantiation: strsm_outncopy.c:readenv_atoi Unexecuted instantiation: strsm_RTLU.c:readenv_atoi Unexecuted instantiation: strsm_oltucopy.c:readenv_atoi Unexecuted instantiation: strsm_RTLN.c:readenv_atoi Unexecuted instantiation: strsm_oltncopy.c:readenv_atoi Unexecuted instantiation: sgemv.c:readenv_atoi Unexecuted instantiation: sgemv_t.c:readenv_atoi Unexecuted instantiation: sgemv_thread_n.c:readenv_atoi Unexecuted instantiation: sgemv_thread_t.c:readenv_atoi Unexecuted instantiation: sswap.c:readenv_atoi Unexecuted instantiation: sscal.c:readenv_atoi Unexecuted instantiation: srot.c:readenv_atoi Unexecuted instantiation: srot_k.c:readenv_atoi Unexecuted instantiation: scopy.c:readenv_atoi Unexecuted instantiation: snrm2.c:readenv_atoi Unexecuted instantiation: isamax.c:readenv_atoi Unexecuted instantiation: sger.c:readenv_atoi Unexecuted instantiation: sger_k.c:readenv_atoi Unexecuted instantiation: sger_thread.c:readenv_atoi Unexecuted instantiation: strmm.c:readenv_atoi Unexecuted instantiation: strmm_LTUU.c:readenv_atoi Unexecuted instantiation: strmm_iunucopy.c:readenv_atoi Unexecuted instantiation: strmm_LTUN.c:readenv_atoi Unexecuted instantiation: strmm_iunncopy.c:readenv_atoi Unexecuted instantiation: strmm_LTLU.c:readenv_atoi Unexecuted instantiation: strmm_ilnucopy.c:readenv_atoi Unexecuted instantiation: strmm_LTLN.c:readenv_atoi Unexecuted instantiation: strmm_ilnncopy.c:readenv_atoi Unexecuted instantiation: strmm_RNUU.c:readenv_atoi Unexecuted instantiation: strmm_ounucopy.c:readenv_atoi Unexecuted instantiation: strmm_kernel_RN.c:readenv_atoi Unexecuted instantiation: strmm_RNUN.c:readenv_atoi Unexecuted instantiation: strmm_ounncopy.c:readenv_atoi Unexecuted instantiation: strmm_RNLU.c:readenv_atoi Unexecuted instantiation: strmm_olnucopy.c:readenv_atoi Unexecuted instantiation: strmm_kernel_RT.c:readenv_atoi Unexecuted instantiation: strmm_RNLN.c:readenv_atoi Unexecuted instantiation: strmm_olnncopy.c:readenv_atoi Unexecuted instantiation: strmm_RTUU.c:readenv_atoi Unexecuted instantiation: strmm_outucopy.c:readenv_atoi Unexecuted instantiation: strmm_RTUN.c:readenv_atoi Unexecuted instantiation: strmm_outncopy.c:readenv_atoi Unexecuted instantiation: strmm_RTLU.c:readenv_atoi Unexecuted instantiation: strmm_oltucopy.c:readenv_atoi Unexecuted instantiation: strmm_RTLN.c:readenv_atoi Unexecuted instantiation: strmm_oltncopy.c:readenv_atoi Unexecuted instantiation: strmv.c:readenv_atoi Unexecuted instantiation: strmv_TUU.c:readenv_atoi Unexecuted instantiation: strmv_TUN.c:readenv_atoi Unexecuted instantiation: strmv_TLU.c:readenv_atoi Unexecuted instantiation: strmv_TLN.c:readenv_atoi Unexecuted instantiation: strmv_thread_NUU.c:readenv_atoi Unexecuted instantiation: strmv_thread_NUN.c:readenv_atoi Unexecuted instantiation: strmv_thread_NLU.c:readenv_atoi Unexecuted instantiation: strmv_thread_NLN.c:readenv_atoi Unexecuted instantiation: strmv_thread_TUU.c:readenv_atoi Unexecuted instantiation: strmv_thread_TUN.c:readenv_atoi Unexecuted instantiation: strmv_thread_TLU.c:readenv_atoi Unexecuted instantiation: strmv_thread_TLN.c:readenv_atoi Unexecuted instantiation: sdot.c:readenv_atoi Unexecuted instantiation: dtrtri.c:readenv_atoi Unexecuted instantiation: dtrtri_UU_single.c:readenv_atoi Unexecuted instantiation: dtrti2_UU.c:readenv_atoi Unexecuted instantiation: dtrmv_NUU.c:readenv_atoi Unexecuted instantiation: daxpy_k.c:readenv_atoi Unexecuted instantiation: dtrmm_LNUU.c:readenv_atoi Unexecuted instantiation: dtrmm_iutucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_kernel_LN.c:readenv_atoi Unexecuted instantiation: dtrsm_RNUU.c:readenv_atoi Unexecuted instantiation: dtrsm_ounucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_kernel_RN.c:readenv_atoi Unexecuted instantiation: dtrtri_UN_single.c:readenv_atoi Unexecuted instantiation: dtrti2_UN.c:readenv_atoi Unexecuted instantiation: dtrmv_NUN.c:readenv_atoi Unexecuted instantiation: dtrmm_LNUN.c:readenv_atoi Unexecuted instantiation: dtrmm_iutncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_RNUN.c:readenv_atoi Unexecuted instantiation: dtrsm_ounncopy.c:readenv_atoi Unexecuted instantiation: dtrtri_LU_single.c:readenv_atoi Unexecuted instantiation: dtrti2_LU.c:readenv_atoi Unexecuted instantiation: dtrmv_NLU.c:readenv_atoi Unexecuted instantiation: dtrmm_LNLU.c:readenv_atoi Unexecuted instantiation: dtrmm_iltucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_kernel_LT.c:readenv_atoi Unexecuted instantiation: dtrsm_RNLU.c:readenv_atoi Unexecuted instantiation: dtrsm_olnucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_kernel_RT.c:readenv_atoi Unexecuted instantiation: dtrtri_LN_single.c:readenv_atoi Unexecuted instantiation: dtrti2_LN.c:readenv_atoi Unexecuted instantiation: dtrmv_NLN.c:readenv_atoi Unexecuted instantiation: dtrmm_LNLN.c:readenv_atoi Unexecuted instantiation: dtrmm_iltncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_RNLN.c:readenv_atoi Unexecuted instantiation: dtrsm_olnncopy.c:readenv_atoi Unexecuted instantiation: dtrtri_UU_parallel.c:readenv_atoi Unexecuted instantiation: dtrtri_UN_parallel.c:readenv_atoi Unexecuted instantiation: dtrtri_LU_parallel.c:readenv_atoi Unexecuted instantiation: dtrtri_LN_parallel.c:readenv_atoi Unexecuted instantiation: dtrsm.c:readenv_atoi Unexecuted instantiation: dtrsm_LNUU.c:readenv_atoi Unexecuted instantiation: dtrsm_iutucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_kernel_LN.c:readenv_atoi Unexecuted instantiation: dtrsm_LNUN.c:readenv_atoi Unexecuted instantiation: dtrsm_iutncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_LNLU.c:readenv_atoi Unexecuted instantiation: dtrsm_LNLN.c:readenv_atoi Unexecuted instantiation: dtrsm_iltncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_LTUU.c:readenv_atoi Unexecuted instantiation: dtrsm_iunucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_LTUN.c:readenv_atoi Unexecuted instantiation: dtrsm_iunncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_LTLU.c:readenv_atoi Unexecuted instantiation: dtrsm_ilnucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_LTLN.c:readenv_atoi Unexecuted instantiation: dtrsm_ilnncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_RTUU.c:readenv_atoi Unexecuted instantiation: dtrsm_outucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_RTUN.c:readenv_atoi Unexecuted instantiation: dtrsm_outncopy.c:readenv_atoi Unexecuted instantiation: dtrsm_RTLU.c:readenv_atoi Unexecuted instantiation: dtrsm_oltucopy.c:readenv_atoi Unexecuted instantiation: dtrsm_RTLN.c:readenv_atoi Unexecuted instantiation: dtrsm_oltncopy.c:readenv_atoi Unexecuted instantiation: dgemv.c:readenv_atoi Unexecuted instantiation: dgemv_t.c:readenv_atoi Unexecuted instantiation: dgemv_thread_n.c:readenv_atoi Unexecuted instantiation: dgemv_thread_t.c:readenv_atoi Unexecuted instantiation: dswap.c:readenv_atoi Unexecuted instantiation: dscal.c:readenv_atoi Unexecuted instantiation: dger.c:readenv_atoi Unexecuted instantiation: dger_k.c:readenv_atoi Unexecuted instantiation: dger_thread.c:readenv_atoi Unexecuted instantiation: dcopy.c:readenv_atoi Unexecuted instantiation: dtrmm.c:readenv_atoi Unexecuted instantiation: dtrmm_LTUU.c:readenv_atoi Unexecuted instantiation: dtrmm_iunucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_LTUN.c:readenv_atoi Unexecuted instantiation: dtrmm_iunncopy.c:readenv_atoi Unexecuted instantiation: dtrmm_LTLU.c:readenv_atoi Unexecuted instantiation: dtrmm_ilnucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_LTLN.c:readenv_atoi Unexecuted instantiation: dtrmm_ilnncopy.c:readenv_atoi Unexecuted instantiation: dtrmm_RNUU.c:readenv_atoi Unexecuted instantiation: dtrmm_ounucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_kernel_RN.c:readenv_atoi Unexecuted instantiation: dtrmm_RNUN.c:readenv_atoi Unexecuted instantiation: dtrmm_ounncopy.c:readenv_atoi Unexecuted instantiation: dtrmm_RNLU.c:readenv_atoi Unexecuted instantiation: dtrmm_olnucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_kernel_RT.c:readenv_atoi Unexecuted instantiation: dtrmm_RNLN.c:readenv_atoi Unexecuted instantiation: dtrmm_olnncopy.c:readenv_atoi Unexecuted instantiation: dtrmm_RTUU.c:readenv_atoi Unexecuted instantiation: dtrmm_outucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_RTUN.c:readenv_atoi Unexecuted instantiation: dtrmm_outncopy.c:readenv_atoi Unexecuted instantiation: dtrmm_RTLU.c:readenv_atoi Unexecuted instantiation: dtrmm_oltucopy.c:readenv_atoi Unexecuted instantiation: dtrmm_RTLN.c:readenv_atoi Unexecuted instantiation: dtrmm_oltncopy.c:readenv_atoi Unexecuted instantiation: dnrm2.c:readenv_atoi Unexecuted instantiation: dtrmv.c:readenv_atoi Unexecuted instantiation: dtrmv_TUU.c:readenv_atoi Unexecuted instantiation: dtrmv_TUN.c:readenv_atoi Unexecuted instantiation: dtrmv_TLU.c:readenv_atoi Unexecuted instantiation: dtrmv_TLN.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_NUU.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_NUN.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_NLU.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_NLN.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_TUU.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_TUN.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_TLU.c:readenv_atoi Unexecuted instantiation: dtrmv_thread_TLN.c:readenv_atoi Unexecuted instantiation: dsymv.c:readenv_atoi Unexecuted instantiation: dsymv_U.c:readenv_atoi Unexecuted instantiation: dsymv_L.c:readenv_atoi Unexecuted instantiation: dsymv_thread_U.c:readenv_atoi Unexecuted instantiation: dsymv_thread_L.c:readenv_atoi Unexecuted instantiation: ddot.c:readenv_atoi Unexecuted instantiation: daxpy.c:readenv_atoi Unexecuted instantiation: dsyr2k.c:readenv_atoi Unexecuted instantiation: syrk_thread.c:readenv_atoi Unexecuted instantiation: dsyr2k_UN.c:readenv_atoi Unexecuted instantiation: dsyr2k_kernel_U.c:readenv_atoi Unexecuted instantiation: dsyr2k_UT.c:readenv_atoi Unexecuted instantiation: dsyr2k_LN.c:readenv_atoi Unexecuted instantiation: dsyr2k_kernel_L.c:readenv_atoi Unexecuted instantiation: dsyr2k_LT.c:readenv_atoi Unexecuted instantiation: dsyr2.c:readenv_atoi Unexecuted instantiation: dsyr2_U.c:readenv_atoi Unexecuted instantiation: dsyr2_L.c:readenv_atoi Unexecuted instantiation: dsyr2_thread_U.c:readenv_atoi Unexecuted instantiation: dsyr2_thread_L.c:readenv_atoi Unexecuted instantiation: drot.c:readenv_atoi Unexecuted instantiation: drot_k.c:readenv_atoi |
761 | | #endif |
762 | | #endif |
763 | | |
764 | | #if !defined(XDOUBLE) || !defined(QUAD_PRECISION) |
765 | | |
766 | 0 | static __inline void compinv(FLOAT *b, FLOAT ar, FLOAT ai){ |
767 | 0 |
|
768 | 0 | #ifndef UNIT |
769 | 0 | FLOAT ratio, den; |
770 | 0 |
|
771 | 0 | if ( |
772 | 0 | #ifdef XDOUBLE |
773 | 0 | (fabsl(ar)) >= (fabsl(ai)) |
774 | 0 | #elif defined DOUBLE |
775 | 0 | (fabs (ar)) >= (fabs (ai)) |
776 | 0 | #else |
777 | 0 | (fabsf(ar)) >= (fabsf(ai)) |
778 | 0 | #endif |
779 | 0 | ) { |
780 | 0 | ratio = ai / ar; |
781 | 0 | den = (FLOAT)(ONE / (ar * (ONE + ratio * ratio))); |
782 | 0 | ar = den; |
783 | 0 | ai = -ratio * den; |
784 | 0 | } else { |
785 | 0 | ratio = ar / ai; |
786 | 0 | den = (FLOAT)(ONE /(ai * (ONE + ratio * ratio))); |
787 | 0 | ar = ratio * den; |
788 | 0 | ai = -den; |
789 | 0 | } |
790 | 0 | b[0] = ar; |
791 | 0 | b[1] = ai; |
792 | 0 | #else |
793 | 0 | b[0] = ONE; |
794 | 0 | b[1] = ZERO; |
795 | 0 | #endif |
796 | 0 |
|
797 | 0 | } Unexecuted instantiation: sgemm.c:compinv Unexecuted instantiation: ssyrk.c:compinv Unexecuted instantiation: dgemm.c:compinv Unexecuted instantiation: sgetrf.c:compinv Unexecuted instantiation: dgetrf.c:compinv Unexecuted instantiation: sgemm_nn.c:compinv Unexecuted instantiation: dgemm_nn.c:compinv Unexecuted instantiation: sgemm_thread_nn.c:compinv Unexecuted instantiation: dgemm_thread_nn.c:compinv Unexecuted instantiation: sgemm_nt.c:compinv Unexecuted instantiation: dgemm_nt.c:compinv Unexecuted instantiation: sgemm_thread_nt.c:compinv Unexecuted instantiation: dgemm_thread_nt.c:compinv Unexecuted instantiation: sgemm_tn.c:compinv Unexecuted instantiation: dgemm_tn.c:compinv Unexecuted instantiation: sgemm_thread_tn.c:compinv Unexecuted instantiation: dgemm_thread_tn.c:compinv Unexecuted instantiation: sgemm_tt.c:compinv Unexecuted instantiation: dgemm_tt.c:compinv Unexecuted instantiation: sgemm_thread_tt.c:compinv Unexecuted instantiation: dgemm_thread_tt.c:compinv Unexecuted instantiation: ssyrk_UN.c:compinv Unexecuted instantiation: ssyrk_LN.c:compinv Unexecuted instantiation: ssyrk_UT.c:compinv Unexecuted instantiation: ssyrk_LT.c:compinv Unexecuted instantiation: ssyrk_kernel_U.c:compinv Unexecuted instantiation: ssyrk_kernel_L.c:compinv Unexecuted instantiation: ssyrk_thread_UN.c:compinv Unexecuted instantiation: ssyrk_thread_LN.c:compinv Unexecuted instantiation: ssyrk_thread_UT.c:compinv Unexecuted instantiation: ssyrk_thread_LT.c:compinv Unexecuted instantiation: memory.c:compinv Unexecuted instantiation: blas_server_omp.c:compinv Unexecuted instantiation: divtable.c:compinv Unexecuted instantiation: blas_server_callback.c:compinv Unexecuted instantiation: xerbla.c:compinv Unexecuted instantiation: openblas_error_handle.c:compinv Unexecuted instantiation: openblas_env.c:compinv Unexecuted instantiation: parameter.c:compinv Unexecuted instantiation: sscal_k.c:compinv Unexecuted instantiation: sgemm_kernel.c:compinv Unexecuted instantiation: sgemm_incopy.c:compinv Unexecuted instantiation: sgemm_itcopy.c:compinv Unexecuted instantiation: sgemm_oncopy.c:compinv Unexecuted instantiation: sgemm_otcopy.c:compinv Unexecuted instantiation: sgemm_beta.c:compinv Unexecuted instantiation: sgemm_small_matrix_permit.c:compinv Unexecuted instantiation: sgemm_small_kernel_nn.c:compinv Unexecuted instantiation: sgemm_small_kernel_nt.c:compinv Unexecuted instantiation: sgemm_small_kernel_tn.c:compinv Unexecuted instantiation: sgemm_small_kernel_tt.c:compinv Unexecuted instantiation: sgemm_small_kernel_b0_nn.c:compinv Unexecuted instantiation: sgemm_small_kernel_b0_nt.c:compinv Unexecuted instantiation: sgemm_small_kernel_b0_tn.c:compinv Unexecuted instantiation: sgemm_small_kernel_b0_tt.c:compinv Unexecuted instantiation: dgemm_incopy.c:compinv Unexecuted instantiation: dgemm_itcopy.c:compinv Unexecuted instantiation: dgemm_oncopy.c:compinv Unexecuted instantiation: dgemm_otcopy.c:compinv Unexecuted instantiation: dgemm_beta.c:compinv Unexecuted instantiation: dgemm_small_matrix_permit.c:compinv Unexecuted instantiation: dgemm_small_kernel_nn.c:compinv Unexecuted instantiation: dgemm_small_kernel_nt.c:compinv Unexecuted instantiation: dgemm_small_kernel_tn.c:compinv Unexecuted instantiation: dgemm_small_kernel_tt.c:compinv Unexecuted instantiation: dgemm_small_kernel_b0_nn.c:compinv Unexecuted instantiation: dgemm_small_kernel_b0_nt.c:compinv Unexecuted instantiation: dgemm_small_kernel_b0_tn.c:compinv Unexecuted instantiation: dgemm_small_kernel_b0_tt.c:compinv Unexecuted instantiation: sgetrf_single.c:compinv Unexecuted instantiation: sgetf2_k.c:compinv Unexecuted instantiation: sgemv_n.c:compinv Unexecuted instantiation: sdot_k.c:compinv Unexecuted instantiation: strsm_iltucopy.c:compinv Unexecuted instantiation: slaswp_plus.c:compinv Unexecuted instantiation: strsm_kernel_LT.c:compinv Unexecuted instantiation: dgetrf_single.c:compinv Unexecuted instantiation: dgetf2_k.c:compinv Unexecuted instantiation: dscal_k.c:compinv Unexecuted instantiation: ddot_k.c:compinv Unexecuted instantiation: blas_l1_thread.c:compinv Unexecuted instantiation: dgemv_n.c:compinv Unexecuted instantiation: dtrsm_iltucopy.c:compinv Unexecuted instantiation: dlaswp_plus.c:compinv Unexecuted instantiation: dtrsm_kernel_LT.c:compinv Unexecuted instantiation: sgetrf_parallel.c:compinv Unexecuted instantiation: gemm_thread_n.c:compinv Unexecuted instantiation: dgetrf_parallel.c:compinv Unexecuted instantiation: strtri.c:compinv Unexecuted instantiation: strtri_UU_single.c:compinv Unexecuted instantiation: strti2_UU.c:compinv Unexecuted instantiation: strmv_NUU.c:compinv Unexecuted instantiation: saxpy_k.c:compinv Unexecuted instantiation: strmm_LNUU.c:compinv Unexecuted instantiation: strmm_iutucopy.c:compinv Unexecuted instantiation: strmm_kernel_LN.c:compinv Unexecuted instantiation: strsm_RNUU.c:compinv Unexecuted instantiation: strsm_ounucopy.c:compinv Unexecuted instantiation: strsm_kernel_RN.c:compinv Unexecuted instantiation: strtri_UN_single.c:compinv Unexecuted instantiation: strti2_UN.c:compinv Unexecuted instantiation: strmv_NUN.c:compinv Unexecuted instantiation: strmm_LNUN.c:compinv Unexecuted instantiation: strmm_iutncopy.c:compinv Unexecuted instantiation: strsm_RNUN.c:compinv Unexecuted instantiation: strsm_ounncopy.c:compinv Unexecuted instantiation: strtri_LU_single.c:compinv Unexecuted instantiation: strti2_LU.c:compinv Unexecuted instantiation: strmv_NLU.c:compinv Unexecuted instantiation: strmm_LNLU.c:compinv Unexecuted instantiation: strmm_iltucopy.c:compinv Unexecuted instantiation: strmm_kernel_LT.c:compinv Unexecuted instantiation: strsm_RNLU.c:compinv Unexecuted instantiation: strsm_olnucopy.c:compinv Unexecuted instantiation: strsm_kernel_RT.c:compinv Unexecuted instantiation: strtri_LN_single.c:compinv Unexecuted instantiation: strti2_LN.c:compinv Unexecuted instantiation: strmv_NLN.c:compinv Unexecuted instantiation: strmm_LNLN.c:compinv Unexecuted instantiation: strmm_iltncopy.c:compinv Unexecuted instantiation: strsm_RNLN.c:compinv Unexecuted instantiation: strsm_olnncopy.c:compinv Unexecuted instantiation: strtri_UU_parallel.c:compinv Unexecuted instantiation: gemm_thread_m.c:compinv Unexecuted instantiation: strtri_UN_parallel.c:compinv Unexecuted instantiation: strtri_LU_parallel.c:compinv Unexecuted instantiation: strtri_LN_parallel.c:compinv Unexecuted instantiation: strsm.c:compinv Unexecuted instantiation: strsm_LNUU.c:compinv Unexecuted instantiation: strsm_iutucopy.c:compinv Unexecuted instantiation: strsm_kernel_LN.c:compinv Unexecuted instantiation: strsm_LNUN.c:compinv Unexecuted instantiation: strsm_iutncopy.c:compinv Unexecuted instantiation: strsm_LNLU.c:compinv Unexecuted instantiation: strsm_LNLN.c:compinv Unexecuted instantiation: strsm_iltncopy.c:compinv Unexecuted instantiation: strsm_LTUU.c:compinv Unexecuted instantiation: strsm_iunucopy.c:compinv Unexecuted instantiation: strsm_LTUN.c:compinv Unexecuted instantiation: strsm_iunncopy.c:compinv Unexecuted instantiation: strsm_LTLU.c:compinv Unexecuted instantiation: strsm_ilnucopy.c:compinv Unexecuted instantiation: strsm_LTLN.c:compinv Unexecuted instantiation: strsm_ilnncopy.c:compinv Unexecuted instantiation: strsm_RTUU.c:compinv Unexecuted instantiation: strsm_outucopy.c:compinv Unexecuted instantiation: strsm_RTUN.c:compinv Unexecuted instantiation: strsm_outncopy.c:compinv Unexecuted instantiation: strsm_RTLU.c:compinv Unexecuted instantiation: strsm_oltucopy.c:compinv Unexecuted instantiation: strsm_RTLN.c:compinv Unexecuted instantiation: strsm_oltncopy.c:compinv Unexecuted instantiation: sgemv.c:compinv Unexecuted instantiation: sgemv_t.c:compinv Unexecuted instantiation: sgemv_thread_n.c:compinv Unexecuted instantiation: sgemv_thread_t.c:compinv Unexecuted instantiation: sswap.c:compinv Unexecuted instantiation: sscal.c:compinv Unexecuted instantiation: srot.c:compinv Unexecuted instantiation: srot_k.c:compinv Unexecuted instantiation: scopy.c:compinv Unexecuted instantiation: snrm2.c:compinv Unexecuted instantiation: isamax.c:compinv Unexecuted instantiation: sger.c:compinv Unexecuted instantiation: sger_k.c:compinv Unexecuted instantiation: sger_thread.c:compinv Unexecuted instantiation: strmm.c:compinv Unexecuted instantiation: strmm_LTUU.c:compinv Unexecuted instantiation: strmm_iunucopy.c:compinv Unexecuted instantiation: strmm_LTUN.c:compinv Unexecuted instantiation: strmm_iunncopy.c:compinv Unexecuted instantiation: strmm_LTLU.c:compinv Unexecuted instantiation: strmm_ilnucopy.c:compinv Unexecuted instantiation: strmm_LTLN.c:compinv Unexecuted instantiation: strmm_ilnncopy.c:compinv Unexecuted instantiation: strmm_RNUU.c:compinv Unexecuted instantiation: strmm_ounucopy.c:compinv Unexecuted instantiation: strmm_kernel_RN.c:compinv Unexecuted instantiation: strmm_RNUN.c:compinv Unexecuted instantiation: strmm_ounncopy.c:compinv Unexecuted instantiation: strmm_RNLU.c:compinv Unexecuted instantiation: strmm_olnucopy.c:compinv Unexecuted instantiation: strmm_kernel_RT.c:compinv Unexecuted instantiation: strmm_RNLN.c:compinv Unexecuted instantiation: strmm_olnncopy.c:compinv Unexecuted instantiation: strmm_RTUU.c:compinv Unexecuted instantiation: strmm_outucopy.c:compinv Unexecuted instantiation: strmm_RTUN.c:compinv Unexecuted instantiation: strmm_outncopy.c:compinv Unexecuted instantiation: strmm_RTLU.c:compinv Unexecuted instantiation: strmm_oltucopy.c:compinv Unexecuted instantiation: strmm_RTLN.c:compinv Unexecuted instantiation: strmm_oltncopy.c:compinv Unexecuted instantiation: strmv.c:compinv Unexecuted instantiation: strmv_TUU.c:compinv Unexecuted instantiation: strmv_TUN.c:compinv Unexecuted instantiation: strmv_TLU.c:compinv Unexecuted instantiation: strmv_TLN.c:compinv Unexecuted instantiation: strmv_thread_NUU.c:compinv Unexecuted instantiation: strmv_thread_NUN.c:compinv Unexecuted instantiation: strmv_thread_NLU.c:compinv Unexecuted instantiation: strmv_thread_NLN.c:compinv Unexecuted instantiation: strmv_thread_TUU.c:compinv Unexecuted instantiation: strmv_thread_TUN.c:compinv Unexecuted instantiation: strmv_thread_TLU.c:compinv Unexecuted instantiation: strmv_thread_TLN.c:compinv Unexecuted instantiation: sdot.c:compinv Unexecuted instantiation: dtrtri.c:compinv Unexecuted instantiation: dtrtri_UU_single.c:compinv Unexecuted instantiation: dtrti2_UU.c:compinv Unexecuted instantiation: dtrmv_NUU.c:compinv Unexecuted instantiation: daxpy_k.c:compinv Unexecuted instantiation: dtrmm_LNUU.c:compinv Unexecuted instantiation: dtrmm_iutucopy.c:compinv Unexecuted instantiation: dtrmm_kernel_LN.c:compinv Unexecuted instantiation: dtrsm_RNUU.c:compinv Unexecuted instantiation: dtrsm_ounucopy.c:compinv Unexecuted instantiation: dtrsm_kernel_RN.c:compinv Unexecuted instantiation: dtrtri_UN_single.c:compinv Unexecuted instantiation: dtrti2_UN.c:compinv Unexecuted instantiation: dtrmv_NUN.c:compinv Unexecuted instantiation: dtrmm_LNUN.c:compinv Unexecuted instantiation: dtrmm_iutncopy.c:compinv Unexecuted instantiation: dtrsm_RNUN.c:compinv Unexecuted instantiation: dtrsm_ounncopy.c:compinv Unexecuted instantiation: dtrtri_LU_single.c:compinv Unexecuted instantiation: dtrti2_LU.c:compinv Unexecuted instantiation: dtrmv_NLU.c:compinv Unexecuted instantiation: dtrmm_LNLU.c:compinv Unexecuted instantiation: dtrmm_iltucopy.c:compinv Unexecuted instantiation: dtrmm_kernel_LT.c:compinv Unexecuted instantiation: dtrsm_RNLU.c:compinv Unexecuted instantiation: dtrsm_olnucopy.c:compinv Unexecuted instantiation: dtrsm_kernel_RT.c:compinv Unexecuted instantiation: dtrtri_LN_single.c:compinv Unexecuted instantiation: dtrti2_LN.c:compinv Unexecuted instantiation: dtrmv_NLN.c:compinv Unexecuted instantiation: dtrmm_LNLN.c:compinv Unexecuted instantiation: dtrmm_iltncopy.c:compinv Unexecuted instantiation: dtrsm_RNLN.c:compinv Unexecuted instantiation: dtrsm_olnncopy.c:compinv Unexecuted instantiation: dtrtri_UU_parallel.c:compinv Unexecuted instantiation: dtrtri_UN_parallel.c:compinv Unexecuted instantiation: dtrtri_LU_parallel.c:compinv Unexecuted instantiation: dtrtri_LN_parallel.c:compinv Unexecuted instantiation: dtrsm.c:compinv Unexecuted instantiation: dtrsm_LNUU.c:compinv Unexecuted instantiation: dtrsm_iutucopy.c:compinv Unexecuted instantiation: dtrsm_kernel_LN.c:compinv Unexecuted instantiation: dtrsm_LNUN.c:compinv Unexecuted instantiation: dtrsm_iutncopy.c:compinv Unexecuted instantiation: dtrsm_LNLU.c:compinv Unexecuted instantiation: dtrsm_LNLN.c:compinv Unexecuted instantiation: dtrsm_iltncopy.c:compinv Unexecuted instantiation: dtrsm_LTUU.c:compinv Unexecuted instantiation: dtrsm_iunucopy.c:compinv Unexecuted instantiation: dtrsm_LTUN.c:compinv Unexecuted instantiation: dtrsm_iunncopy.c:compinv Unexecuted instantiation: dtrsm_LTLU.c:compinv Unexecuted instantiation: dtrsm_ilnucopy.c:compinv Unexecuted instantiation: dtrsm_LTLN.c:compinv Unexecuted instantiation: dtrsm_ilnncopy.c:compinv Unexecuted instantiation: dtrsm_RTUU.c:compinv Unexecuted instantiation: dtrsm_outucopy.c:compinv Unexecuted instantiation: dtrsm_RTUN.c:compinv Unexecuted instantiation: dtrsm_outncopy.c:compinv Unexecuted instantiation: dtrsm_RTLU.c:compinv Unexecuted instantiation: dtrsm_oltucopy.c:compinv Unexecuted instantiation: dtrsm_RTLN.c:compinv Unexecuted instantiation: dtrsm_oltncopy.c:compinv Unexecuted instantiation: dgemv.c:compinv Unexecuted instantiation: dgemv_t.c:compinv Unexecuted instantiation: dgemv_thread_n.c:compinv Unexecuted instantiation: dgemv_thread_t.c:compinv Unexecuted instantiation: dswap.c:compinv Unexecuted instantiation: dscal.c:compinv Unexecuted instantiation: dger.c:compinv Unexecuted instantiation: dger_k.c:compinv Unexecuted instantiation: dger_thread.c:compinv Unexecuted instantiation: dcopy.c:compinv Unexecuted instantiation: dtrmm.c:compinv Unexecuted instantiation: dtrmm_LTUU.c:compinv Unexecuted instantiation: dtrmm_iunucopy.c:compinv Unexecuted instantiation: dtrmm_LTUN.c:compinv Unexecuted instantiation: dtrmm_iunncopy.c:compinv Unexecuted instantiation: dtrmm_LTLU.c:compinv Unexecuted instantiation: dtrmm_ilnucopy.c:compinv Unexecuted instantiation: dtrmm_LTLN.c:compinv Unexecuted instantiation: dtrmm_ilnncopy.c:compinv Unexecuted instantiation: dtrmm_RNUU.c:compinv Unexecuted instantiation: dtrmm_ounucopy.c:compinv Unexecuted instantiation: dtrmm_kernel_RN.c:compinv Unexecuted instantiation: dtrmm_RNUN.c:compinv Unexecuted instantiation: dtrmm_ounncopy.c:compinv Unexecuted instantiation: dtrmm_RNLU.c:compinv Unexecuted instantiation: dtrmm_olnucopy.c:compinv Unexecuted instantiation: dtrmm_kernel_RT.c:compinv Unexecuted instantiation: dtrmm_RNLN.c:compinv Unexecuted instantiation: dtrmm_olnncopy.c:compinv Unexecuted instantiation: dtrmm_RTUU.c:compinv Unexecuted instantiation: dtrmm_outucopy.c:compinv Unexecuted instantiation: dtrmm_RTUN.c:compinv Unexecuted instantiation: dtrmm_outncopy.c:compinv Unexecuted instantiation: dtrmm_RTLU.c:compinv Unexecuted instantiation: dtrmm_oltucopy.c:compinv Unexecuted instantiation: dtrmm_RTLN.c:compinv Unexecuted instantiation: dtrmm_oltncopy.c:compinv Unexecuted instantiation: dnrm2.c:compinv Unexecuted instantiation: dtrmv.c:compinv Unexecuted instantiation: dtrmv_TUU.c:compinv Unexecuted instantiation: dtrmv_TUN.c:compinv Unexecuted instantiation: dtrmv_TLU.c:compinv Unexecuted instantiation: dtrmv_TLN.c:compinv Unexecuted instantiation: dtrmv_thread_NUU.c:compinv Unexecuted instantiation: dtrmv_thread_NUN.c:compinv Unexecuted instantiation: dtrmv_thread_NLU.c:compinv Unexecuted instantiation: dtrmv_thread_NLN.c:compinv Unexecuted instantiation: dtrmv_thread_TUU.c:compinv Unexecuted instantiation: dtrmv_thread_TUN.c:compinv Unexecuted instantiation: dtrmv_thread_TLU.c:compinv Unexecuted instantiation: dtrmv_thread_TLN.c:compinv Unexecuted instantiation: dsymv.c:compinv Unexecuted instantiation: dsymv_U.c:compinv Unexecuted instantiation: dsymv_L.c:compinv Unexecuted instantiation: dsymv_thread_U.c:compinv Unexecuted instantiation: dsymv_thread_L.c:compinv Unexecuted instantiation: ddot.c:compinv Unexecuted instantiation: daxpy.c:compinv Unexecuted instantiation: dsyr2k.c:compinv Unexecuted instantiation: syrk_thread.c:compinv Unexecuted instantiation: dsyr2k_UN.c:compinv Unexecuted instantiation: dsyr2k_kernel_U.c:compinv Unexecuted instantiation: dsyr2k_UT.c:compinv Unexecuted instantiation: dsyr2k_LN.c:compinv Unexecuted instantiation: dsyr2k_kernel_L.c:compinv Unexecuted instantiation: dsyr2k_LT.c:compinv Unexecuted instantiation: dsyr2.c:compinv Unexecuted instantiation: dsyr2_U.c:compinv Unexecuted instantiation: dsyr2_L.c:compinv Unexecuted instantiation: dsyr2_thread_U.c:compinv Unexecuted instantiation: dsyr2_thread_L.c:compinv Unexecuted instantiation: drot.c:compinv Unexecuted instantiation: drot_k.c:compinv |
798 | | #endif |
799 | | |
800 | | #ifdef MALLOC_DEBUG |
801 | | void *blas_debug_alloc(int); |
802 | | void *blas_debug_free(void *); |
803 | | #undef malloc |
804 | | #undef free |
805 | | #define malloc(a) blas_debug_alloc(a) |
806 | | #define free(a) blas_debug_free (a) |
807 | | #endif |
808 | | |
809 | | #ifndef COPYOVERHEAD |
810 | | #define GEMMRETTYPE int |
811 | | #else |
812 | | |
813 | | typedef struct { |
814 | | double outercopy; |
815 | | double innercopy; |
816 | | double kernel; |
817 | | double mflops; |
818 | | } copyoverhead_t; |
819 | | |
820 | | #define GEMMRETTYPE copyoverhead_t |
821 | | #endif |
822 | | #endif |
823 | | |
824 | | #ifndef BUILD_KERNEL |
825 | | #define KNAME(A, B) A |
826 | | #else |
827 | | #define KNAME(A, B) A##B |
828 | | #endif |
829 | | |
830 | | #include "common_interface.h" |
831 | | #ifdef SANITY_CHECK |
832 | | #include "common_reference.h" |
833 | | #endif |
834 | | #include "common_macro.h" |
835 | | #include "common_level1.h" |
836 | | #include "common_level2.h" |
837 | | #include "common_level3.h" |
838 | | #include "common_lapack.h" |
839 | | |
840 | | #ifdef CBLAS |
841 | | # define OPENBLAS_CONST /* see comment in cblas.h */ |
842 | | # include "cblas.h" |
843 | | #endif |
844 | | |
845 | | #ifndef ASSEMBLER |
846 | | #include "common_stackalloc.h" |
847 | | #if 0 |
848 | | #include "symcopy.h" |
849 | | #endif |
850 | | |
851 | | #if defined(SMP_SERVER) && defined(SMP_ONDEMAND) |
852 | | #error Both SMP_SERVER and SMP_ONDEMAND are specified. |
853 | | #endif |
854 | | |
855 | | #if defined(SMP_SERVER) || defined(SMP_ONDEMAND) |
856 | | #include "common_thread.h" |
857 | | #endif |
858 | | |
859 | | #endif |
860 | | |
861 | | #define INFO_NUM 99 |
862 | | |
863 | | #ifndef DEFAULT_CPU_NUMBER |
864 | | #define DEFAULT_CPU_NUMBER 4 |
865 | | #endif |
866 | | |
867 | | #ifndef IDEBUG_START |
868 | | #define IDEBUG_START |
869 | | #endif |
870 | | |
871 | | #ifndef IDEBUG_END |
872 | | #define IDEBUG_END |
873 | | #endif |
874 | | |
875 | | #if !defined(ASSEMBLER) && defined(FUNCTION_PROFILE) |
876 | | |
877 | | typedef struct { |
878 | | int func; |
879 | | unsigned long long calls, fops, area, cycles, tcycles; |
880 | | } func_profile_t; |
881 | | |
882 | | extern func_profile_t function_profile_table[]; |
883 | | extern int gotoblas_profile; |
884 | | |
885 | | #ifdef XDOUBLE |
886 | | #define NUMOPT QNUMOPT |
887 | | #elif defined DOUBLE |
888 | | #define NUMOPT DNUMOPT |
889 | | #else |
890 | | #define NUMOPT SNUMOPT |
891 | | #endif |
892 | | |
893 | | #define FUNCTION_PROFILE_START() { unsigned long long profile_start = rpcc(), profile_end; |
894 | | #ifdef SMP |
895 | | #define FUNCTION_PROFILE_END(COMP, AREA, OPS) \ |
896 | | if (gotoblas_profile) { \ |
897 | | profile_end = rpcc(); \ |
898 | | function_profile_table[PROFILE_FUNC_NAME].calls ++; \ |
899 | | function_profile_table[PROFILE_FUNC_NAME].area += SIZE * COMPSIZE * (AREA); \ |
900 | | function_profile_table[PROFILE_FUNC_NAME].fops += (COMP) * (OPS) / NUMOPT; \ |
901 | | function_profile_table[PROFILE_FUNC_NAME].cycles += (profile_end - profile_start); \ |
902 | | function_profile_table[PROFILE_FUNC_NAME].tcycles += blas_cpu_number * (profile_end - profile_start); \ |
903 | | } \ |
904 | | } |
905 | | #else |
906 | | #define FUNCTION_PROFILE_END(COMP, AREA, OPS) \ |
907 | | if (gotoblas_profile) { \ |
908 | | profile_end = rpcc(); \ |
909 | | function_profile_table[PROFILE_FUNC_NAME].calls ++; \ |
910 | | function_profile_table[PROFILE_FUNC_NAME].area += SIZE * COMPSIZE * (AREA); \ |
911 | | function_profile_table[PROFILE_FUNC_NAME].fops += (COMP) * (OPS) / NUMOPT; \ |
912 | | function_profile_table[PROFILE_FUNC_NAME].cycles += (profile_end - profile_start); \ |
913 | | function_profile_table[PROFILE_FUNC_NAME].tcycles += (profile_end - profile_start); \ |
914 | | } \ |
915 | | } |
916 | | #endif |
917 | | |
918 | | #else |
919 | | #define FUNCTION_PROFILE_START() |
920 | | #define FUNCTION_PROFILE_END(COMP, AREA, OPS) |
921 | | #endif |
922 | | |
923 | | #if 1 |
924 | | #define PRINT_DEBUG_CNAME |
925 | | #define PRINT_DEBUG_NAME |
926 | | #else |
927 | | #define PRINT_DEBUG_CNAME if (readenv_atoi("GOTO_DEBUG")) fprintf(stderr, "GotoBLAS : %s\n", CHAR_CNAME) |
928 | | #define PRINT_DEBUG_NAME if (readenv_atoi("GOTO_DEBUG")) fprintf(stderr, "GotoBLAS : %s\n", CHAR_NAME) |
929 | | #endif |
930 | | |
931 | | #ifdef __cplusplus |
932 | | } |
933 | | |
934 | | #endif /* __cplusplus */ |
935 | | |
936 | | #endif |