Skip to content

Commit 9f6984f

Browse files
committed
add missing files
1 parent 42203da commit 9f6984f

File tree

5 files changed

+499
-56
lines changed

5 files changed

+499
-56
lines changed

lapack/trtrs/Makefile

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,4 +305,148 @@ xtrtrs_LCU_single.$(SUFFIX) : xtrtrs_single.c
305305
xtrtrs_LCN_single.$(SUFFIX) : xtrtrs_single.c
306306
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=4 -DDIAG $< -o $(@F)
307307

308+
ctrtrs_UNU_parallel.$(SUFFIX) : ztrtrs_parallel.c
309+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=1 -UDIAG $< -o $(@F)
310+
311+
ctrtrs_UNN_parallel.$(SUFFIX) : ztrtrs_parallel.c
312+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=1 -DDIAG $< -o $(@F)
313+
314+
ctrtrs_UTU_parallel.$(SUFFIX) : ztrtrs_parallel.c
315+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=2 -UDIAG $< -o $(@F)
316+
317+
ctrtrs_UTN_parallel.$(SUFFIX) : ztrtrs_parallel.c
318+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=2 -DDIAG $< -o $(@F)
319+
320+
ctrtrs_URU_parallel.$(SUFFIX) : ztrtrs_parallel.c
321+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=3 -UDIAG $< -o $(@F)
322+
323+
ctrtrs_URN_parallel.$(SUFFIX) : ztrtrs_parallel.c
324+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=3 -DDIAG $< -o $(@F)
325+
326+
ctrtrs_UCU_parallel.$(SUFFIX) : ztrtrs_parallel.c
327+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=4 -UDIAG $< -o $(@F)
328+
329+
ctrtrs_UCN_parallel.$(SUFFIX) : ztrtrs_parallel.c
330+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UUPLO -DTRANS=4 -DDIAG $< -o $(@F)
331+
332+
ctrtrs_LNU_parallel.$(SUFFIX) : ztrtrs_parallel.c
333+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=1 -UDIAG $< -o $(@F)
334+
335+
ctrtrs_LNN_parallel.$(SUFFIX) : ztrtrs_parallel.c
336+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=1 -DDIAG $< -o $(@F)
337+
338+
ctrtrs_LTU_parallel.$(SUFFIX) : ztrtrs_parallel.c
339+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=2 -UDIAG $< -o $(@F)
340+
341+
ctrtrs_LTN_parallel.$(SUFFIX) : ztrtrs_parallel.c
342+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=2 -DDIAG $< -o $(@F)
343+
344+
ctrtrs_LRU_parallel.$(SUFFIX) : ztrtrs_parallel.c
345+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=3 -UDIAG $< -o $(@F)
346+
347+
ctrtrs_LRN_parallel.$(SUFFIX) : ztrtrs_parallel.c
348+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=3 -DDIAG $< -o $(@F)
349+
350+
ctrtrs_LCU_parallel.$(SUFFIX) : ztrtrs_parallel.c
351+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=4 -UDIAG $< -o $(@F)
352+
353+
ctrtrs_LCN_parallel.$(SUFFIX) : ztrtrs_parallel.c
354+
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUPLO -DTRANS=4 -DDIAG $< -o $(@F)
355+
356+
ztrtrs_UNU_parallel.$(SUFFIX) : ztrtrs_parallel.c
357+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=1 -UDIAG $< -o $(@F)
358+
359+
ztrtrs_UNN_parallel.$(SUFFIX) : ztrtrs_parallel.c
360+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=1 -DDIAG $< -o $(@F)
361+
362+
ztrtrs_UTU_parallel.$(SUFFIX) : ztrtrs_parallel.c
363+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=2 -UDIAG $< -o $(@F)
364+
365+
ztrtrs_UTN_parallel.$(SUFFIX) : ztrtrs_parallel.c
366+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=2 -DDIAG $< -o $(@F)
367+
368+
ztrtrs_URU_parallel.$(SUFFIX) : ztrtrs_parallel.c
369+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=3 -UDIAG $< -o $(@F)
370+
371+
ztrtrs_URN_parallel.$(SUFFIX) : ztrtrs_parallel.c
372+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=3 -DDIAG $< -o $(@F)
373+
374+
ztrtrs_UCU_parallel.$(SUFFIX) : ztrtrs_parallel.c
375+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=4 -UDIAG $< -o $(@F)
376+
377+
ztrtrs_UCN_parallel.$(SUFFIX) : ztrtrs_parallel.c
378+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UUPLO -DTRANS=4 -DDIAG $< -o $(@F)
379+
380+
ztrtrs_LNU_parallel.$(SUFFIX) : ztrtrs_parallel.c
381+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=1 -UDIAG $< -o $(@F)
382+
383+
ztrtrs_LNN_parallel.$(SUFFIX) : ztrtrs_parallel.c
384+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=1 -DDIAG $< -o $(@F)
385+
386+
ztrtrs_LTU_parallel.$(SUFFIX) : ztrtrs_parallel.c
387+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=2 -UDIAG $< -o $(@F)
388+
389+
ztrtrs_LTN_parallel.$(SUFFIX) : ztrtrs_parallel.c
390+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=2 -DDIAG $< -o $(@F)
391+
392+
ztrtrs_LRU_parallel.$(SUFFIX) : ztrtrs_parallel.c
393+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=3 -UDIAG $< -o $(@F)
394+
395+
ztrtrs_LRN_parallel.$(SUFFIX) : ztrtrs_parallel.c
396+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=3 -DDIAG $< -o $(@F)
397+
398+
ztrtrs_LCU_parallel.$(SUFFIX) : ztrtrs_parallel.c
399+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=4 -UDIAG $< -o $(@F)
400+
401+
ztrtrs_LCN_parallel.$(SUFFIX) : ztrtrs_parallel.c
402+
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUPLO -DTRANS=4 -DDIAG $< -o $(@F)
403+
404+
xtrtrs_UNU_parallel.$(SUFFIX) : xtrtrs_parallel.c
405+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=1 -UDIAG $< -o $(@F)
406+
407+
xtrtrs_UNN_parallel.$(SUFFIX) : xtrtrs_parallel.c
408+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=1 -DDIAG $< -o $(@F)
409+
410+
xtrtrs_UTU_parallel.$(SUFFIX) : xtrtrs_parallel.c
411+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=2 -UDIAG $< -o $(@F)
412+
413+
xtrtrs_UTN_parallel.$(SUFFIX) : xtrtrs_parallel.c
414+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=2 -DDIAG $< -o $(@F)
415+
416+
xtrtrs_URU_parallel.$(SUFFIX) : xtrtrs_parallel.c
417+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=3 -UDIAG $< -o $(@F)
418+
419+
xtrtrs_URN_parallel.$(SUFFIX) : xtrtrs_parallel.c
420+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=3 -DDIAG $< -o $(@F)
421+
422+
xtrtrs_UCU_parallel.$(SUFFIX) : xtrtrs_parallel.c
423+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=4 -UDIAG $< -o $(@F)
424+
425+
xtrtrs_UCN_parallel.$(SUFFIX) : xtrtrs_parallel.c
426+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UUPLO -DTRANS=4 -DDIAG $< -o $(@F)
427+
428+
xtrtrs_LNU_parallel.$(SUFFIX) : xtrtrs_parallel.c
429+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=1 -UDIAG $< -o $(@F)
430+
431+
xtrtrs_LNN_parallel.$(SUFFIX) : xtrtrs_parallel.c
432+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=1 -DDIAG $< -o $(@F)
433+
434+
xtrtrs_LTU_parallel.$(SUFFIX) : xtrtrs_parallel.c
435+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=2 -UDIAG $< -o $(@F)
436+
437+
xtrtrs_LTN_parallel.$(SUFFIX) : xtrtrs_parallel.c
438+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=2 -DDIAG $< -o $(@F)
439+
440+
xtrtrs_LRU_parallel.$(SUFFIX) : xtrtrs_parallel.c
441+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=3 -UDIAG $< -o $(@F)
442+
443+
xtrtrs_LRN_parallel.$(SUFFIX) : xtrtrs_parallel.c
444+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=3 -DDIAG $< -o $(@F)
445+
446+
xtrtrs_LCU_parallel.$(SUFFIX) : xtrtrs_parallel.c
447+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=4 -UDIAG $< -o $(@F)
448+
449+
xtrtrs_LCN_parallel.$(SUFFIX) : xtrtrs_parallel.c
450+
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUPLO -DTRANS=4 -DDIAG $< -o $(@F)
451+
308452
include ../../Makefile.tail

lapack/trtrs/trtrs_parallel.c

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
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+
#include <stdio.h>
40+
#include "common.h"
41+
42+
#if !defined(TRANS) && !defined(UPLO) && !defined(DIAG)
43+
#define TRSM TRSM_LNUU
44+
#define TRSV TRSV_NUU
45+
#elif !defined(TRANS) && !defined(UPLO) && defined(DIAG)
46+
#define TRSM TRSM_LNUN
47+
#define TRSV TRSV_NUN
48+
#elif !defined(TRANS) && defined(UPLO) && !defined(DIAG)
49+
#define TRSM TRSM_LNLU
50+
#define TRSV TRSV_NLU
51+
#elif !defined(TRANS) && defined(UPLO) && defined(DIAG)
52+
#define TRSM TRSM_LNLN
53+
#define TRSV TRSV_NLN
54+
#elif defined(TRANS) && !defined(UPLO) && !defined(DIAG)
55+
#define TRSM TRSM_LTUU
56+
#define TRSV TRSV_TUU
57+
#elif defined(TRANS) && !defined(UPLO) && defined(DIAG)
58+
#define TRSM TRSM_LTUN
59+
#define TRSV TRSV_TUN
60+
#elif defined(TRANS) && defined(UPLO) && !defined(DIAG)
61+
#define TRSM TRSM_LTLU
62+
#define TRSV TRSV_TLU
63+
#elif defined(TRANS) && defined(UPLO) && defined(DIAG)
64+
#define TRSM TRSM_LTLN
65+
#define TRSV TRSV_TLN
66+
#endif
67+
68+
static int inner_thread(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n,
69+
FLOAT *sa, FLOAT *sb, BLASLONG mypos) {
70+
71+
TRSM (args, range_m, range_n, sa, sb, 0);
72+
73+
return 0;
74+
}
75+
76+
blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos) {
77+
78+
int mode;
79+
80+
#ifndef TRANS
81+
if (args -> n == 1){
82+
TRSV (args -> m, args -> a, args -> lda, args -> b, 1, sb);
83+
} else {
84+
#ifdef XDOUBLE
85+
mode = BLAS_XDOUBLE | BLAS_REAL;
86+
#elif defined(DOUBLE)
87+
mode = BLAS_DOUBLE | BLAS_REAL;
88+
#else
89+
mode = BLAS_SINGLE | BLAS_REAL;
90+
#endif
91+
92+
gemm_thread_n(mode, args, NULL, NULL, inner_thread, sa, sb, args -> nthreads);
93+
}
94+
#else
95+
if (args -> n == 1){
96+
TRSV (args -> m, args -> a, args -> lda, args -> b, 1, sb);
97+
} else {
98+
#ifdef XDOUBLE
99+
mode = BLAS_XDOUBLE | BLAS_REAL | (1 << BLAS_TRANSA_SHIFT);
100+
#elif defined(DOUBLE)
101+
mode = BLAS_DOUBLE | BLAS_REAL | (1 << BLAS_TRANSA_SHIFT);
102+
#else
103+
mode = BLAS_SINGLE | BLAS_REAL | (1 << BLAS_TRANSA_SHIFT);
104+
#endif
105+
106+
gemm_thread_n(mode, args, NULL, NULL, inner_thread, sa, sb, args -> nthreads);
107+
}
108+
#endif
109+
110+
return 0;
111+
}

lapack/trtrs/trtrs_single.c

Lines changed: 28 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -39,65 +39,37 @@
3939
#include <stdio.h>
4040
#include "common.h"
4141

42+
#if !defined(TRANS) && !defined(UPLO) && !defined(DIAG)
43+
#define TRSM TRSM_LNUU
44+
#define TRSV TRSV_NUU
45+
#elif !defined(TRANS) && !defined(UPLO) && defined(DIAG)
46+
#define TRSM TRSM_LNUN
47+
#define TRSV TRSV_NUN
48+
#elif !defined(TRANS) && defined(UPLO) && !defined(DIAG)
49+
#define TRSM TRSM_LNLU
50+
#define TRSV TRSV_NLU
51+
#elif !defined(TRANS) && defined(UPLO) && defined(DIAG)
52+
#define TRSM TRSM_LNLN
53+
#define TRSV TRSV_NLN
54+
#elif defined(TRANS) && !defined(UPLO) && !defined(DIAG)
55+
#define TRSM TRSM_LTUU
56+
#define TRSV TRSV_TUU
57+
#elif defined(TRANS) && !defined(UPLO) && defined(DIAG)
58+
#define TRSM TRSM_LTUN
59+
#define TRSV TRSV_TUN
60+
#elif defined(TRANS) && defined(UPLO) && !defined(DIAG)
61+
#define TRSM TRSM_LTLU
62+
#define TRSV TRSV_TLU
63+
#elif defined(TRANS) && defined(UPLO) && defined(DIAG)
64+
#define TRSM TRSM_LTLN
65+
#define TRSV TRSV_TLN
66+
#endif
67+
4268
blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos) {
4369

44-
#ifndef UPLO
45-
#ifndef DIAG
46-
#ifndef DIAG
47-
if (args -> n == 1){
48-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
49-
} else {
50-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
51-
}
52-
#else
53-
if (args -> n == 1){
54-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
55-
} else {
56-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
57-
}
58-
#endif
59-
#else
60-
#ifndef DIAG
61-
if (args -> n == 1){
62-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
63-
} else {
64-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
65-
}
66-
#else
67-
if (args -> n == 1){
68-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
69-
} else {
70-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
71-
}
72-
#endif
73-
#else
74-
#ifndef DIAG
75-
#ifndef DIAG
76-
if (args -> n == 1){
77-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
78-
} else {
79-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
80-
}
81-
#else
82-
if (args -> n == 1){
83-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
84-
} else {
85-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
86-
}
87-
#endif
88-
#else
89-
#ifndef DIAG
9070
if (args -> n == 1){
91-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
71+
TRSV (args -> m, args -> a, args -> lda, args -> b, 1, sb);
9272
} else {
93-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
73+
TRSM (args, range_m, range_n, sa, sb, 0);
9474
}
95-
#else
96-
if (args -> n == 1){
97-
TRSV_NLU (args -> m, args -> a, args -> lda, args -> b, 1, sb);
98-
} else {
99-
TRSM_LNLU (args, range_m, range_n, sa, sb, 0);
100-
}
101-
#endif
102-
#endif
10375
return 0; }

0 commit comments

Comments
 (0)