StarNEig Library  version v0.1-beta.2
A task-based library for solving nonsymmetric eigenvalue problems
expert.h
Go to the documentation of this file.
1 
41 #ifndef STARNEIG_EXPERT_H
42 #define STARNEIG_EXPERT_H
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 #include <starneig/configuration.h>
49 
58 
63 
67 #define STARNEIG_HESSENBERG_DEFAULT_TILE_SIZE -1
68 
72 #define STARNEIG_HESSENBERG_DEFAULT_PANEL_WIDTH -1
73 
77 #define STARNEIG_HESSENBERG_DEFAULT_PARALLEL_WORKER_SIZE -1
78 
83 
88  int tile_size;
89 
95 
102 };
103 
112 
116 
121 
125 #define STARNEIG_SCHUR_DEFAULT_INTERATION_LIMIT -1
126 
130 #define STARNEIG_SCHUR_DEFAULT_TILE_SIZE -1
131 
135 #define STARNEIG_SCHUR_DEFAULT_SMALL_LIMIT -1
136 
140 #define STARNEIG_SCHUR_DEFAULT_AED_WINDOW_SIZE -1
141 
145 #define STARNEIG_SCHUR_DEFAULT_AED_SHIFT_COUNT -1
146 
150 #define STARNEIG_SCHUR_DEFAULT_AED_NIBBLE -1
151 
155 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_SOFT_LIMIT -1
156 
160 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_HARD_LIMIT -1
161 
165 #define STARNEIG_SCHUR_DEFAULT_WINDOW_SIZE -1
166 
170 #define STARNEIG_SCHUR_ROUNDED_WINDOW_SIZE -2
171 
175 #define STARNEIG_SCHUR_DEFAULT_SHIFTS_PER_WINDOW -1
176 
180 #define STARNEIG_SCHUR_DEFAULT_UPDATE_WIDTH -1
181 
185 #define STARNEIG_SCHUR_DEFAULT_UPDATE_HEIGHT -1
186 
191 
198 
204 
213 
221 
229 
238 
250 
261 
277 
285 
294 
303 };
304 
313 
317 
322 
508 typedef enum {
513 
519 typedef enum {
520 
523 
528 
534 
540 
547 
553 
561 
569 
578 
580 
584 #define STARNEIG_REORDER_DEFAULT_UPDATE_WIDTH -1
585 
589 #define STARNEIG_REORDER_DEFAULT_UPDATE_HEIGHT -1
590 
594 #define STARNEIG_REORDER_DEFAULT_TILE_SIZE -1
595 
599 #define STARNEIG_REORDER_DEFAULT_VALUES_PER_CHAIN -1
600 
604 #define STARNEIG_REORDER_DEFAULT_WINDOW_SIZE -1
605 
609 #define STARNEIG_REORDER_ROUNDED_WINDOW_SIZE -2
610 
614 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_SIZE -1
615 
619 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_THRESHOLD -1
620 
625 
630 
636 
642 
649 
665 
672 
680 
689 
698 };
699 
708 
712 
717 
721 #define STARNEIG_EIGENVECTORS_DEFAULT_TILE_SIZE -1
722 
727 
733 };
734 
735 
744 
748 
752 
753 #ifdef __cplusplus
754 }
755 #endif
756 
757 #endif // STARNEIG_EXPERT_H
int aed_window_size
Definition: expert.h:220
void starneig_schur_init_conf(struct starneig_schur_conf *conf)
Initializes a Schur reduction configuration structure with default parameters.
int small_window_threshold
Definition: expert.h:679
Default blueprint.
Definition: expert.h:522
int small_window_size
Definition: expert.h:671
int aed_shift_count
Definition: expert.h:228
Definition: expert.h:560
int iteration_limit
Definition: expert.h:197
void starneig_eigenvectors_init_conf(struct starneig_eigenvectors_conf *conf)
Initializes an eigenvectors configuration structure with default parameters.
Multi part plan.
Definition: expert.h:511
One part plan.
Definition: expert.h:510
Definition: expert.h:527
int update_height
Definition: expert.h:697
int window_size
Definition: expert.h:664
Schur reduction configuration structure.
Definition: expert.h:190
int shifts_per_window
Definition: expert.h:284
Eigenvalue reordering configuration structure.
Definition: expert.h:624
starneig_reorder_plan_t
Reordering plan enumerator.
Definition: expert.h:508
int aed_nibble
Definition: expert.h:237
starneig_reorder_plan_t plan
Definition: expert.h:629
starneig_reorder_blueprint_t
Task insertion blueprint.
Definition: expert.h:519
Default plan.
Definition: expert.h:509
This file contains StarNEig library configuration.
void starneig_hessenberg_init_conf(struct starneig_hessenberg_conf *conf)
Initializes a Hessenberg reduction configuration structure with default parameters.
Definition: expert.h:533
int aed_parallel_soft_limit
Definition: expert.h:249
int update_width
Definition: expert.h:293
Eigenvector computation configuration structure.
Definition: expert.h:726
int update_height
Definition: expert.h:302
int small_limit
Definition: expert.h:212
int window_size
Definition: expert.h:276
int aed_parallel_hard_limit
Definition: expert.h:260
Definition: expert.h:568
int panel_width
Definition: expert.h:94
int tile_size
Definition: expert.h:88
int tile_size
Definition: expert.h:732
starneig_reorder_blueprint_t blueprint
Definition: expert.h:635
int tile_size
Definition: expert.h:203
Definition: expert.h:546
Definition: expert.h:552
int parallel_worker_size
Definition: expert.h:101
int update_width
Definition: expert.h:688
void starneig_reorder_init_conf(struct starneig_reorder_conf *conf)
Initializes an eigenvalue reordering configuration structure with default parameters.
Definition: expert.h:539
Definition: expert.h:577
Hessenberg reduction configuration structure.
Definition: expert.h:82
int tile_size
Definition: expert.h:641
int values_per_chain
Definition: expert.h:648