Skip to content

Commit f87abee

Browse files
authored
update survey based feedbacks (#42)
1 parent 960f125 commit f87abee

15 files changed

Lines changed: 1008 additions & 90 deletions

app/survey/bse-data.ts

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,20 @@ export const bseData: SurveySection[] = [
44
{
55
id: 'quasi-hermitian-bse-eigenvalue',
66
title: 'Quasi-Hermitian (BSE) Eigenvalue Problems',
7-
description: 'Details about quasi-Hermitian eigenvalue problems arising from the Bethe-Salpeter Equation (BSE): Hψ = Eψ, where H = (A -B*; B -A*), with A = A† (Hermitian) and B = B^T (symmetric).',
7+
description: 'Details about quasi-Hermitian eigenvalue problems arising from the Bethe-Salpeter Equation (BSE): Hψ = Eψ, where H = (A B; -B* -A*), with A = A† (Hermitian) and B = B^T (symmetric).',
88
questions: [
99
{
1010
id: 'bse-matrix-structure',
11-
title: 'Matrix Structure',
11+
title: 'Matrix Properties and Structure',
1212
type: 'checkbox',
13-
content: 'What is the structure of your BSE matrices? Select all that apply:',
13+
content: 'What is the structure and properties of your BSE matrices? Select all that apply:',
1414
options: [
1515
'Dense (standard full matrix)',
1616
'Sparse (from localized basis or truncated interactions)',
1717
'Block sparse (e.g., from locality in A/B blocks)',
1818
'Banded (if coupling is short-range only',
19+
'Complex valued',
20+
'Real valued',
1921
'Other (please specify):'
2022
]
2123
},
@@ -40,7 +42,7 @@ export const bseData: SurveySection[] = [
4042
{
4143
id: 'bse-eigenvalue-distribution',
4244
title: 'Eigenvalue distribution',
43-
type: 'multiple-choice',
45+
type: 'checkbox',
4446
content: 'How are the eigenvalues distributed?',
4547
options: [
4648
'Well-separated',
@@ -144,6 +146,41 @@ export const bseData: SurveySection[] = [
144146
'Very high accuracy (10^-12)',
145147
'Machine precision'
146148
]
149+
},
150+
{
151+
id: 'bse-precision-type',
152+
title: 'Working Precision',
153+
type: 'checkbox',
154+
content: 'What numerical precision do you use or need? Select all that apply:',
155+
options: [
156+
'Single precision (32-bit)',
157+
'Double precision (64-bit)',
158+
'Extended/Quad precision (128-bit)',
159+
'Mixed precision (e.g., FP32/FP64 combination)',
160+
'Low precision (e.g., FP16, BF16)',
161+
'Adaptive precision'
162+
]
163+
}
164+
]
165+
},
166+
{
167+
id: 'bse-workload',
168+
title: 'Workload Characteristics',
169+
type: 'section',
170+
children: [
171+
{
172+
id: 'bse-computation-type',
173+
title: 'Computation Pattern: capability or capacity',
174+
type: 'checkbox',
175+
content: 'How do you typically run your BSE eigenvalue computations? Select all that apply:',
176+
options: [
177+
'Large-scale single problems (e.g., one large BSE matrix at a time, using significant computational resources)',
178+
'Many independent smaller problems (e.g., batch processing multiple BSE matrices simultaneously)',
179+
'Mix of large and small problems (varying resource requirements)',
180+
'Repeated similar-sized problems (e.g., time evolution or parameter sweeps)',
181+
'Real-time/interactive requirements (need immediate solutions)',
182+
'Asynchronous/background processing (can wait for solutions)'
183+
]
147184
}
148185
]
149186
},
@@ -204,12 +241,12 @@ export const bseData: SurveySection[] = [
204241
]
205242
},
206243
{
207-
id: 'sym-herm-benchmarking',
244+
id: 'bse-benchmarking',
208245
title: 'Benchmarking Requirements',
209246
type: 'section',
210247
children: [
211248
{
212-
id: 'sym-herm-input-data-type',
249+
id: 'bse-input-data-type',
213250
title: 'Benchmark Input Types',
214251
type: 'checkbox',
215252
content: 'What types of matrix inputs should be used for benchmarking?',
@@ -222,7 +259,7 @@ export const bseData: SurveySection[] = [
222259
]
223260
},
224261
{
225-
id: 'sym-herm-data-provision',
262+
id: 'bse-data-provision',
226263
title: 'Can You Provide Data or Mini-apps?',
227264
type: 'checkbox',
228265
content: 'Would you be able to share real matrices or mini-apps for benchmarking?',
@@ -234,6 +271,18 @@ export const bseData: SurveySection[] = [
234271
'Not sure yet'
235272
]
236273
},
274+
{
275+
id: 'bse-scaling-requirements',
276+
title: 'Scaling Requirements',
277+
type: 'checkbox',
278+
content: 'What are your scaling requirements for BSE eigenproblems?',
279+
options: [
280+
'Strong scaling (fixed total problem size)',
281+
'Weak scaling (fixed problem size per process/node)',
282+
'Both strong and weak scaling needed',
283+
'No specific scaling requirements'
284+
]
285+
},
237286
//{
238287
// id: 'gemm-hardware-interest',
239288
// title: 'Hardware Interest',

app/survey/cholesky-data.ts

Lines changed: 106 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const choleskyData: SurveySection[] = [
4747
},
4848
{
4949
id: 'cholesky-sparsity-structure',
50-
title: 'Matrix Sparsity and Structure',
50+
title: 'Matrix Properties and Structure',
5151
type: 'multiple-choice',
5252
content: 'What is the structural format of your matrices for Cholesky factorization? (Impacts fill-in, performance, and algorithm choice)',
5353
options: [
@@ -58,7 +58,49 @@ export const choleskyData: SurveySection[] = [
5858
'Block diagonal',
5959
'Toeplitz',
6060
'Hierarchical / Low-rank',
61-
'Other structured (please specify):'
61+
'Complex valued',
62+
'Real valued',
63+
'Other (please specify):'
64+
]
65+
},
66+
{
67+
id: 'cholesky-matrix-distribution',
68+
title: 'Matrix Distribution',
69+
type: 'checkbox',
70+
content: 'How is your matrix distributed across processes/nodes? Select all that apply:',
71+
options: [
72+
'Block cyclic distribution (e.g., ScaLAPACK style)',
73+
'Block row/column distribution',
74+
'Custom domain decomposition',
75+
'Hierarchical/multilevel distribution',
76+
'Fill-in aware distribution',
77+
'Replicated on all processes',
78+
'Hybrid CPU-GPU distribution',
79+
'Dynamic/adaptive distribution',
80+
'Supernodal distribution',
81+
'Other (please specify):'
82+
]
83+
},
84+
{
85+
id: 'cholesky-matrix-format',
86+
title: 'Matrix Storage Format',
87+
type: 'checkbox',
88+
content: 'What storage formats do you use? Select all that apply:',
89+
options: [
90+
'Dense (column-major/row-major)',
91+
'Compressed Sparse Row (CSR/CRS)',
92+
'Compressed Sparse Column (CSC/CCS)',
93+
'Block CSR/CSC',
94+
'ELLPACK/ELLPACK-R',
95+
'Diagonal/Block-diagonal',
96+
'Coordinate (COO)',
97+
'Hierarchical formats (H-matrices, HSS)',
98+
'Supernodal format',
99+
'Custom/application-specific format',
100+
'Multiple formats (conversion as needed)',
101+
'Format optimized for factorization',
102+
'Format optimized for GPU computation',
103+
'Other (please specify):'
62104
]
63105
},
64106
// Matrix Size and Scaling
@@ -75,17 +117,54 @@ export const choleskyData: SurveySection[] = [
75117
'Extreme (> 1,000,000)'
76118
]
77119
},
120+
{
121+
id: 'cholesky-factorization-tolerance',
122+
title: 'Factorization Tolerance',
123+
type: 'multiple-choice',
124+
content: 'What internal accuracy do you require for the factorization?',
125+
options: [
126+
'Low accuracy (10^-3)',
127+
'Medium accuracy (10^-6)',
128+
'High accuracy (10^-9)',
129+
'Very high accuracy (10^-12)',
130+
'Machine precision'
131+
]
132+
},
133+
{
134+
id: 'cholesky-precision-type',
135+
title: 'Working Precision',
136+
type: 'checkbox',
137+
content: 'What numerical precision do you use or need for Cholesky factorization? Select all that apply:',
138+
options: [
139+
'Single precision (32-bit)',
140+
'Double precision (64-bit)',
141+
'Extended/Quad precision (128-bit)',
142+
'Mixed precision (e.g., FP32 factorization with FP64 refinement)',
143+
'Low precision (e.g., FP16, BF16)',
144+
'Adaptive precision (based on matrix condition number)',
145+
'Precision matching input matrix type'
146+
]
147+
},
78148
{
79-
id: 'cholesky-factorization-tolerance',
80-
title: 'Factorization Tolerance',
81-
type: 'multiple-choice',
82-
content: 'What internal accuracy do you require for the factorization?',
83-
options: [
84-
'Low accuracy (10^-3)',
85-
'Medium accuracy (10^-6)',
86-
'High accuracy (10^-9)',
87-
'Very high accuracy (10^-12)',
88-
'Machine precision'
149+
id: 'cholesky-workload',
150+
title: 'Workload Characteristics',
151+
type: 'section',
152+
children: [
153+
{
154+
id: 'cholesky-computation-type',
155+
title: 'Computation Pattern: capability or capacity',
156+
type: 'checkbox',
157+
content: 'How do you typically perform Cholesky factorizations? Select all that apply:',
158+
options: [
159+
'Large-scale single factorizations (e.g., one large matrix at a time, using significant computational resources)',
160+
'Many independent smaller factorizations (e.g., batch processing multiple matrices simultaneously)',
161+
'Mix of large and small factorizations (varying resource requirements)',
162+
'Repeated factorizations of similar matrices (e.g., during iterative refinement or optimization)',
163+
'Real-time/interactive requirements (need immediate factorization)',
164+
'Asynchronous/background processing (can wait for factorization)',
165+
'Part of larger computation (e.g., reduction of generalized eigenproblems)'
166+
]
167+
}
89168
]
90169
},
91170
{
@@ -169,12 +248,12 @@ export const choleskyData: SurveySection[] = [
169248
]
170249
},
171250
{
172-
id: 'sym-herm-benchmarking',
251+
id: 'cholesky-benchmarking',
173252
title: 'Benchmarking Requirements',
174253
type: 'section',
175254
children: [
176255
{
177-
id: 'sym-herm-input-data-type',
256+
id: 'cholesky-input-data-type',
178257
title: 'Benchmark Input Types',
179258
type: 'checkbox',
180259
content: 'What types of matrix inputs should be used for benchmarking?',
@@ -187,7 +266,7 @@ export const choleskyData: SurveySection[] = [
187266
]
188267
},
189268
{
190-
id: 'sym-herm-data-provision',
269+
id: 'cholesky-data-provision',
191270
title: 'Can You Provide Data or Mini-apps?',
192271
type: 'checkbox',
193272
content: 'Would you be able to share real matrices or mini-apps for benchmarking?',
@@ -199,6 +278,18 @@ export const choleskyData: SurveySection[] = [
199278
'Not sure yet'
200279
]
201280
},
281+
{
282+
id: 'cholesky-scaling-requirements',
283+
title: 'Scaling Requirements',
284+
type: 'checkbox',
285+
content: 'What are your scaling requirements for Cholesky factorization?',
286+
options: [
287+
'Strong scaling (fixed total problem size)',
288+
'Weak scaling (fixed problem size per process/node)',
289+
'Both strong and weak scaling needed',
290+
'No specific scaling requirements'
291+
]
292+
},
202293
//{
203294
// id: 'gemm-hardware-interest',
204295
// title: 'Hardware Interest',

app/survey/general-data.ts

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ import { SurveySection } from './types';
33
export const generalData: SurveySection[] = [
44
{
55
id: 'library-info',
6-
title: 'Library Information',
7-
description: 'Basic information about your application/simulation library.',
6+
title: 'Codes Information',
7+
description: 'Basic information about your application/simulation codes.',
88
questions: [
99
{
1010
id: 'library-name',
1111
title: 'Library Name',
1212
type: 'text',
1313
required: true,
14-
content: 'What is the name of your application/simulation library? (e.g., CP2K, Quantum ESPRESSO, SIESTA, etc.)'
14+
content: 'What is the name of your application/simulation codes? (e.g., CP2K, Quantum ESPRESSO, SIESTA, etc.)'
1515
},
1616
{
1717
id: 'library-version',
1818
title: 'Current Version',
1919
type: 'text',
20-
content: 'What is the current version of your library?'
20+
content: 'What is the current version of your codes?'
2121
},
2222
{
2323
id: 'library-domain',
@@ -26,15 +26,15 @@ export const generalData: SurveySection[] = [
2626
children: [
2727
{
2828
id: 'domain-selection',
29-
title: 'What is the primary application domain of your library?',
29+
title: 'What is the primary application domain of your codes?',
3030
type: 'multiple-choice',
3131
required: true,
3232
content: 'Select the main domain:',
3333
options: [
3434
'Materials Science',
3535
'Fluid Dynamics',
3636
'Climate/Weather Modeling',
37-
'Other'
37+
'Other (please specify):'
3838
]
3939
},
4040
{
@@ -128,24 +128,48 @@ export const generalData: SurveySection[] = [
128128
},
129129
{
130130
id: 'other-domain-functions',
131-
title: 'Other',
131+
title: 'Other Domain Functions',
132132
type: 'section',
133133
children: [
134134
{
135135
id: 'other-functions',
136136
title: 'What are the main functionalities of your code?',
137-
type: 'textarea',
138-
content: 'Please describe the main functionalities of your library:'
137+
type: 'text',
138+
content: 'Please describe the main functionalities of your code',
139139
}
140140
]
141141
}
142142
]
143143
},
144+
{
145+
id: 'use-case-info',
146+
title: 'Use Case Information',
147+
type: 'section',
148+
children: [
149+
{
150+
id: 'multiple-use-cases',
151+
title: 'Does your codes have multiple distinct use cases?',
152+
type: 'multiple-choice',
153+
content: 'Different use cases might involve different matrix types, operations, or performance requirements.',
154+
options: [
155+
'No, single primary use case',
156+
'Yes, multiple distinct use cases'
157+
]
158+
},
159+
{
160+
id: 'current-use-case',
161+
title: 'Which use case are you describing in this submission?',
162+
type: 'text',
163+
content: 'Please provide a brief name/description for this specific use case (e.g., "Ground state DFT calculations", "Time evolution", "Transport calculations"). This helps us track different submissions from the same codes.',
164+
required: true
165+
}
166+
]
167+
},
144168
{
145169
id: 'library-description',
146170
title: 'Library Description',
147171
type: 'textarea',
148-
content: 'Please provide a brief description of your library and its main functionality.'
172+
content: 'Please provide a brief description of your codes and its main functionality.'
149173
}
150174
]
151175
}

0 commit comments

Comments
 (0)