eqcctpro 0.6.3__tar.gz → 0.6.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of eqcctpro might be problematic. Click here for more details.
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/PKG-INFO +37 -36
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/README.md +36 -35
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/eqcctpro.egg-info/PKG-INFO +37 -36
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/pyproject.toml +1 -1
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/eqcctpro/__init__.py +0 -0
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/eqcctpro.egg-info/SOURCES.txt +0 -0
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/eqcctpro.egg-info/dependency_links.txt +0 -0
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/eqcctpro.egg-info/requires.txt +0 -0
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/eqcctpro.egg-info/top_level.txt +0 -0
- {eqcctpro-0.6.3 → eqcctpro-0.6.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eqcctpro
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4
|
|
4
4
|
Summary: EQCCTPro: A powerful seismic event detection toolkit
|
|
5
5
|
Author-email: Constantinos Skevofilax <constantinos.skevofilax@austin.utexas.edu>, Victor Salles <victor.salles@beg.utexas.edu>
|
|
6
6
|
Project-URL: Homepage, https://pypi.org/project/eqcctpro/
|
|
@@ -155,7 +155,7 @@ There are three main capabilities of EQCCTPro:
|
|
|
155
155
|
|
|
156
156
|
These capabilities are achieved using the following core functions:
|
|
157
157
|
|
|
158
|
-
- **
|
|
158
|
+
- **RunEQCCTPro** (for processing mSEED data)
|
|
159
159
|
|
|
160
160
|
- **EvaluateSystem** (for system evaluation)
|
|
161
161
|
|
|
@@ -164,9 +164,9 @@ These capabilities are achieved using the following core functions:
|
|
|
164
164
|
- **OptimalGPUConfigurationFinder** (for GPU configuration optimization)
|
|
165
165
|
|
|
166
166
|
---
|
|
167
|
-
### **Processing mSEED data using EQCCTPro (
|
|
168
|
-
To process mSEED from various seismic stations, use the **
|
|
169
|
-
**
|
|
167
|
+
### **Processing mSEED data using EQCCTPro (RunEQCCTPro)**
|
|
168
|
+
To process mSEED from various seismic stations, use the **RunEQCCTPro** class.
|
|
169
|
+
**RunEQCCTPro** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
|
|
170
170
|
|
|
171
171
|
```sh
|
|
172
172
|
[skevofilaxc 230_stations_1_min_dt]$ ls
|
|
@@ -199,12 +199,12 @@ TX.PB35.00.HH2__20241215T115800Z__20241215T120100Z.mseed
|
|
|
199
199
|
```
|
|
200
200
|
EQCCT only needs one pose for the detection to occur, however more poses allow for better detection of the direction of the P and S waves.
|
|
201
201
|
|
|
202
|
-
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **
|
|
202
|
+
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **RunEQCCTPro** as show below:
|
|
203
203
|
|
|
204
204
|
```python
|
|
205
|
-
from eqcctpro import
|
|
205
|
+
from eqcctpro import RunEQCCTPro
|
|
206
206
|
|
|
207
|
-
eqcct_runner =
|
|
207
|
+
eqcct_runner = RunEQCCTPro(
|
|
208
208
|
use_gpu=False,
|
|
209
209
|
intra_threads=1,
|
|
210
210
|
inter_threads=1,
|
|
@@ -221,7 +221,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
221
221
|
best_usecase_config=True,
|
|
222
222
|
csv_dir='/path/to/csv',
|
|
223
223
|
selected_gpus=[0],
|
|
224
|
-
|
|
224
|
+
vram_mb=24750,
|
|
225
225
|
specific_stations='AT01, BP01, DG05',
|
|
226
226
|
start_time='2024-12-14 12:00:00',
|
|
227
227
|
end_time='2024-12-15 12:00:00',
|
|
@@ -231,7 +231,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
231
231
|
eqcct_runner.run_eqcctpro()
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
-
**
|
|
234
|
+
**RunEQCCTPro** has multiple input parameters that need to be configured and are defined below:
|
|
235
235
|
|
|
236
236
|
- **`use_gpu (bool)`: True or False**
|
|
237
237
|
- Tells Ray to use either the GPU(s) (True) or CPUs (False) on your computer to process the waveforms in the entire workflow
|
|
@@ -280,7 +280,7 @@ eqcct_runner.run_eqcctpro()
|
|
|
280
280
|
- **`selected_gpus (list)`: default = None**
|
|
281
281
|
- List of GPU IDs on your computer you want to use if `use_gpu = True`
|
|
282
282
|
- None existing GPU IDs will cause the code to exit
|
|
283
|
-
- **`
|
|
283
|
+
- **`vram_mb (float)`**
|
|
284
284
|
- Value of the maximum amount of VRAM EQCCTPro can use
|
|
285
285
|
- Must be a real value that is based on your hardware's physical memory space, if it exceeds the space the code will break due to **OutOfMemoryError**
|
|
286
286
|
- **`specific_stations (str)`: default = None**
|
|
@@ -313,28 +313,6 @@ eqcct_runner.run_eqcctpro()
|
|
|
313
313
|
### **Evaluating Your Systems Runtime Performance Capabilites**
|
|
314
314
|
To evaluate your system’s runtime performance capabilites for both your CPU(s) and GPU(s), the **EvaluateSystem** class allows you to autonomously evaluate your system:
|
|
315
315
|
|
|
316
|
-
```python
|
|
317
|
-
from eqcctpro import EvaluateSystem
|
|
318
|
-
|
|
319
|
-
eval_gpu = EvaluateSystem(
|
|
320
|
-
mode='gpu',
|
|
321
|
-
intra_threads=1,
|
|
322
|
-
inter_threads=1,
|
|
323
|
-
input_dir='/path/to/mseed',
|
|
324
|
-
output_dir='/path/to/outputs',
|
|
325
|
-
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
326
|
-
csv_dir='/path/to/csv',
|
|
327
|
-
P_threshold=0.001,
|
|
328
|
-
S_threshold=0.02,
|
|
329
|
-
p_model_filepath='/path/to/model_p.h5',
|
|
330
|
-
s_model_filepath='/path/to/model_s.h5',
|
|
331
|
-
cpu_id_list=[0,1],
|
|
332
|
-
set_vram_mb=24750,
|
|
333
|
-
selected_gpus=[0],
|
|
334
|
-
stations2use=2
|
|
335
|
-
)
|
|
336
|
-
eval_gpu.evaluate()
|
|
337
|
-
```
|
|
338
316
|
|
|
339
317
|
```python
|
|
340
318
|
from eqcctpro import EvaluateSystem
|
|
@@ -368,9 +346,32 @@ eval_cpu = EvaluateSystem(
|
|
|
368
346
|
eval_cpu.evaluate()
|
|
369
347
|
```
|
|
370
348
|
|
|
349
|
+
```python
|
|
350
|
+
from eqcctpro import EvaluateSystem
|
|
351
|
+
|
|
352
|
+
eval_gpu = EvaluateSystem(
|
|
353
|
+
mode='gpu',
|
|
354
|
+
intra_threads=1,
|
|
355
|
+
inter_threads=1,
|
|
356
|
+
input_dir='/path/to/mseed',
|
|
357
|
+
output_dir='/path/to/outputs',
|
|
358
|
+
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
359
|
+
csv_dir='/path/to/csv',
|
|
360
|
+
P_threshold=0.001,
|
|
361
|
+
S_threshold=0.02,
|
|
362
|
+
p_model_filepath='/path/to/model_p.h5',
|
|
363
|
+
s_model_filepath='/path/to/model_s.h5',
|
|
364
|
+
cpu_id_list=[0,1],
|
|
365
|
+
vram_mb=24750,
|
|
366
|
+
selected_gpus=[0],
|
|
367
|
+
stations2use=2
|
|
368
|
+
)
|
|
369
|
+
eval_gpu.evaluate()
|
|
370
|
+
```
|
|
371
|
+
|
|
371
372
|
**EvaluateSystem** will iterate through different combinations of CPU(s), Concurrent Timechunk and Station Tasks, as well as GPU(s), and the amount of VRAM (MB) each Concurrent Prediction can use.
|
|
372
373
|
**EvaluateSystem** will take time, depending on the number of CPU/GPUs, the amount of VRAM available, and the total workload that needs to be tested. However, after doing the testing once for most if not all usecases,
|
|
373
|
-
the trial data will be available and can be used to identify the optimal input parallelization configurations for **
|
|
374
|
+
the trial data will be available and can be used to identify the optimal input parallelization configurations for **RunEQCCTPro** to use to get the maximum amount of processing out of your system in the shortest amonut of time.
|
|
374
375
|
|
|
375
376
|
The following input parameters need to be configurated for **EvaluateSystem** to evaluate your system based on your desired utilization of EQCCTPro:
|
|
376
377
|
|
|
@@ -454,10 +455,10 @@ The following input parameters need to be configurated for **EvaluateSystem** to
|
|
|
454
455
|
- **`tmp_dir (str)`: default = 1**
|
|
455
456
|
- A temporary directory to store all temp files produced by EQCCTPro
|
|
456
457
|
- Used to help ease system cleanup and to not write to system's default temporary directory
|
|
457
|
-
- **`
|
|
458
|
+
- **`vram_mb (float)`**
|
|
458
459
|
- Maximum amount of VRAM each Raylet can use (float).
|
|
459
460
|
- Must be a real value that is based on your GPU's physical VRAM space, if it exceeds the space the code will break due to OutOfMemoryError
|
|
460
|
-
- Good rule of thumb for calculating `
|
|
461
|
+
- Good rule of thumb for calculating `vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
|
|
461
462
|
- **`selected_gpus (list)`: default = None**
|
|
462
463
|
- List of GPU IDs on your computer you want to use if `mode = 'gpu'`
|
|
463
464
|
- Non-existing GPU IDs will cause the code to exit
|
|
@@ -123,7 +123,7 @@ There are three main capabilities of EQCCTPro:
|
|
|
123
123
|
|
|
124
124
|
These capabilities are achieved using the following core functions:
|
|
125
125
|
|
|
126
|
-
- **
|
|
126
|
+
- **RunEQCCTPro** (for processing mSEED data)
|
|
127
127
|
|
|
128
128
|
- **EvaluateSystem** (for system evaluation)
|
|
129
129
|
|
|
@@ -132,9 +132,9 @@ These capabilities are achieved using the following core functions:
|
|
|
132
132
|
- **OptimalGPUConfigurationFinder** (for GPU configuration optimization)
|
|
133
133
|
|
|
134
134
|
---
|
|
135
|
-
### **Processing mSEED data using EQCCTPro (
|
|
136
|
-
To process mSEED from various seismic stations, use the **
|
|
137
|
-
**
|
|
135
|
+
### **Processing mSEED data using EQCCTPro (RunEQCCTPro)**
|
|
136
|
+
To process mSEED from various seismic stations, use the **RunEQCCTPro** class.
|
|
137
|
+
**RunEQCCTPro** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
|
|
138
138
|
|
|
139
139
|
```sh
|
|
140
140
|
[skevofilaxc 230_stations_1_min_dt]$ ls
|
|
@@ -167,12 +167,12 @@ TX.PB35.00.HH2__20241215T115800Z__20241215T120100Z.mseed
|
|
|
167
167
|
```
|
|
168
168
|
EQCCT only needs one pose for the detection to occur, however more poses allow for better detection of the direction of the P and S waves.
|
|
169
169
|
|
|
170
|
-
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **
|
|
170
|
+
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **RunEQCCTPro** as show below:
|
|
171
171
|
|
|
172
172
|
```python
|
|
173
|
-
from eqcctpro import
|
|
173
|
+
from eqcctpro import RunEQCCTPro
|
|
174
174
|
|
|
175
|
-
eqcct_runner =
|
|
175
|
+
eqcct_runner = RunEQCCTPro(
|
|
176
176
|
use_gpu=False,
|
|
177
177
|
intra_threads=1,
|
|
178
178
|
inter_threads=1,
|
|
@@ -189,7 +189,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
189
189
|
best_usecase_config=True,
|
|
190
190
|
csv_dir='/path/to/csv',
|
|
191
191
|
selected_gpus=[0],
|
|
192
|
-
|
|
192
|
+
vram_mb=24750,
|
|
193
193
|
specific_stations='AT01, BP01, DG05',
|
|
194
194
|
start_time='2024-12-14 12:00:00',
|
|
195
195
|
end_time='2024-12-15 12:00:00',
|
|
@@ -199,7 +199,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
199
199
|
eqcct_runner.run_eqcctpro()
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
-
**
|
|
202
|
+
**RunEQCCTPro** has multiple input parameters that need to be configured and are defined below:
|
|
203
203
|
|
|
204
204
|
- **`use_gpu (bool)`: True or False**
|
|
205
205
|
- Tells Ray to use either the GPU(s) (True) or CPUs (False) on your computer to process the waveforms in the entire workflow
|
|
@@ -248,7 +248,7 @@ eqcct_runner.run_eqcctpro()
|
|
|
248
248
|
- **`selected_gpus (list)`: default = None**
|
|
249
249
|
- List of GPU IDs on your computer you want to use if `use_gpu = True`
|
|
250
250
|
- None existing GPU IDs will cause the code to exit
|
|
251
|
-
- **`
|
|
251
|
+
- **`vram_mb (float)`**
|
|
252
252
|
- Value of the maximum amount of VRAM EQCCTPro can use
|
|
253
253
|
- Must be a real value that is based on your hardware's physical memory space, if it exceeds the space the code will break due to **OutOfMemoryError**
|
|
254
254
|
- **`specific_stations (str)`: default = None**
|
|
@@ -281,28 +281,6 @@ eqcct_runner.run_eqcctpro()
|
|
|
281
281
|
### **Evaluating Your Systems Runtime Performance Capabilites**
|
|
282
282
|
To evaluate your system’s runtime performance capabilites for both your CPU(s) and GPU(s), the **EvaluateSystem** class allows you to autonomously evaluate your system:
|
|
283
283
|
|
|
284
|
-
```python
|
|
285
|
-
from eqcctpro import EvaluateSystem
|
|
286
|
-
|
|
287
|
-
eval_gpu = EvaluateSystem(
|
|
288
|
-
mode='gpu',
|
|
289
|
-
intra_threads=1,
|
|
290
|
-
inter_threads=1,
|
|
291
|
-
input_dir='/path/to/mseed',
|
|
292
|
-
output_dir='/path/to/outputs',
|
|
293
|
-
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
294
|
-
csv_dir='/path/to/csv',
|
|
295
|
-
P_threshold=0.001,
|
|
296
|
-
S_threshold=0.02,
|
|
297
|
-
p_model_filepath='/path/to/model_p.h5',
|
|
298
|
-
s_model_filepath='/path/to/model_s.h5',
|
|
299
|
-
cpu_id_list=[0,1],
|
|
300
|
-
set_vram_mb=24750,
|
|
301
|
-
selected_gpus=[0],
|
|
302
|
-
stations2use=2
|
|
303
|
-
)
|
|
304
|
-
eval_gpu.evaluate()
|
|
305
|
-
```
|
|
306
284
|
|
|
307
285
|
```python
|
|
308
286
|
from eqcctpro import EvaluateSystem
|
|
@@ -336,9 +314,32 @@ eval_cpu = EvaluateSystem(
|
|
|
336
314
|
eval_cpu.evaluate()
|
|
337
315
|
```
|
|
338
316
|
|
|
317
|
+
```python
|
|
318
|
+
from eqcctpro import EvaluateSystem
|
|
319
|
+
|
|
320
|
+
eval_gpu = EvaluateSystem(
|
|
321
|
+
mode='gpu',
|
|
322
|
+
intra_threads=1,
|
|
323
|
+
inter_threads=1,
|
|
324
|
+
input_dir='/path/to/mseed',
|
|
325
|
+
output_dir='/path/to/outputs',
|
|
326
|
+
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
327
|
+
csv_dir='/path/to/csv',
|
|
328
|
+
P_threshold=0.001,
|
|
329
|
+
S_threshold=0.02,
|
|
330
|
+
p_model_filepath='/path/to/model_p.h5',
|
|
331
|
+
s_model_filepath='/path/to/model_s.h5',
|
|
332
|
+
cpu_id_list=[0,1],
|
|
333
|
+
vram_mb=24750,
|
|
334
|
+
selected_gpus=[0],
|
|
335
|
+
stations2use=2
|
|
336
|
+
)
|
|
337
|
+
eval_gpu.evaluate()
|
|
338
|
+
```
|
|
339
|
+
|
|
339
340
|
**EvaluateSystem** will iterate through different combinations of CPU(s), Concurrent Timechunk and Station Tasks, as well as GPU(s), and the amount of VRAM (MB) each Concurrent Prediction can use.
|
|
340
341
|
**EvaluateSystem** will take time, depending on the number of CPU/GPUs, the amount of VRAM available, and the total workload that needs to be tested. However, after doing the testing once for most if not all usecases,
|
|
341
|
-
the trial data will be available and can be used to identify the optimal input parallelization configurations for **
|
|
342
|
+
the trial data will be available and can be used to identify the optimal input parallelization configurations for **RunEQCCTPro** to use to get the maximum amount of processing out of your system in the shortest amonut of time.
|
|
342
343
|
|
|
343
344
|
The following input parameters need to be configurated for **EvaluateSystem** to evaluate your system based on your desired utilization of EQCCTPro:
|
|
344
345
|
|
|
@@ -422,10 +423,10 @@ The following input parameters need to be configurated for **EvaluateSystem** to
|
|
|
422
423
|
- **`tmp_dir (str)`: default = 1**
|
|
423
424
|
- A temporary directory to store all temp files produced by EQCCTPro
|
|
424
425
|
- Used to help ease system cleanup and to not write to system's default temporary directory
|
|
425
|
-
- **`
|
|
426
|
+
- **`vram_mb (float)`**
|
|
426
427
|
- Maximum amount of VRAM each Raylet can use (float).
|
|
427
428
|
- Must be a real value that is based on your GPU's physical VRAM space, if it exceeds the space the code will break due to OutOfMemoryError
|
|
428
|
-
- Good rule of thumb for calculating `
|
|
429
|
+
- Good rule of thumb for calculating `vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
|
|
429
430
|
- **`selected_gpus (list)`: default = None**
|
|
430
431
|
- List of GPU IDs on your computer you want to use if `mode = 'gpu'`
|
|
431
432
|
- Non-existing GPU IDs will cause the code to exit
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eqcctpro
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4
|
|
4
4
|
Summary: EQCCTPro: A powerful seismic event detection toolkit
|
|
5
5
|
Author-email: Constantinos Skevofilax <constantinos.skevofilax@austin.utexas.edu>, Victor Salles <victor.salles@beg.utexas.edu>
|
|
6
6
|
Project-URL: Homepage, https://pypi.org/project/eqcctpro/
|
|
@@ -155,7 +155,7 @@ There are three main capabilities of EQCCTPro:
|
|
|
155
155
|
|
|
156
156
|
These capabilities are achieved using the following core functions:
|
|
157
157
|
|
|
158
|
-
- **
|
|
158
|
+
- **RunEQCCTPro** (for processing mSEED data)
|
|
159
159
|
|
|
160
160
|
- **EvaluateSystem** (for system evaluation)
|
|
161
161
|
|
|
@@ -164,9 +164,9 @@ These capabilities are achieved using the following core functions:
|
|
|
164
164
|
- **OptimalGPUConfigurationFinder** (for GPU configuration optimization)
|
|
165
165
|
|
|
166
166
|
---
|
|
167
|
-
### **Processing mSEED data using EQCCTPro (
|
|
168
|
-
To process mSEED from various seismic stations, use the **
|
|
169
|
-
**
|
|
167
|
+
### **Processing mSEED data using EQCCTPro (RunEQCCTPro)**
|
|
168
|
+
To process mSEED from various seismic stations, use the **RunEQCCTPro** class.
|
|
169
|
+
**RunEQCCTPro** enables users to process multiple mSEED from a given input directory, which consists of station directories formatted as follows:
|
|
170
170
|
|
|
171
171
|
```sh
|
|
172
172
|
[skevofilaxc 230_stations_1_min_dt]$ ls
|
|
@@ -199,12 +199,12 @@ TX.PB35.00.HH2__20241215T115800Z__20241215T120100Z.mseed
|
|
|
199
199
|
```
|
|
200
200
|
EQCCT only needs one pose for the detection to occur, however more poses allow for better detection of the direction of the P and S waves.
|
|
201
201
|
|
|
202
|
-
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **
|
|
202
|
+
After setting up or utilizing the provided sample waveform directory, and install eqcctpro, import **RunEQCCTPro** as show below:
|
|
203
203
|
|
|
204
204
|
```python
|
|
205
|
-
from eqcctpro import
|
|
205
|
+
from eqcctpro import RunEQCCTPro
|
|
206
206
|
|
|
207
|
-
eqcct_runner =
|
|
207
|
+
eqcct_runner = RunEQCCTPro(
|
|
208
208
|
use_gpu=False,
|
|
209
209
|
intra_threads=1,
|
|
210
210
|
inter_threads=1,
|
|
@@ -221,7 +221,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
221
221
|
best_usecase_config=True,
|
|
222
222
|
csv_dir='/path/to/csv',
|
|
223
223
|
selected_gpus=[0],
|
|
224
|
-
|
|
224
|
+
vram_mb=24750,
|
|
225
225
|
specific_stations='AT01, BP01, DG05',
|
|
226
226
|
start_time='2024-12-14 12:00:00',
|
|
227
227
|
end_time='2024-12-15 12:00:00',
|
|
@@ -231,7 +231,7 @@ eqcct_runner = EQCCTMSeedRunner(
|
|
|
231
231
|
eqcct_runner.run_eqcctpro()
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
-
**
|
|
234
|
+
**RunEQCCTPro** has multiple input parameters that need to be configured and are defined below:
|
|
235
235
|
|
|
236
236
|
- **`use_gpu (bool)`: True or False**
|
|
237
237
|
- Tells Ray to use either the GPU(s) (True) or CPUs (False) on your computer to process the waveforms in the entire workflow
|
|
@@ -280,7 +280,7 @@ eqcct_runner.run_eqcctpro()
|
|
|
280
280
|
- **`selected_gpus (list)`: default = None**
|
|
281
281
|
- List of GPU IDs on your computer you want to use if `use_gpu = True`
|
|
282
282
|
- None existing GPU IDs will cause the code to exit
|
|
283
|
-
- **`
|
|
283
|
+
- **`vram_mb (float)`**
|
|
284
284
|
- Value of the maximum amount of VRAM EQCCTPro can use
|
|
285
285
|
- Must be a real value that is based on your hardware's physical memory space, if it exceeds the space the code will break due to **OutOfMemoryError**
|
|
286
286
|
- **`specific_stations (str)`: default = None**
|
|
@@ -313,28 +313,6 @@ eqcct_runner.run_eqcctpro()
|
|
|
313
313
|
### **Evaluating Your Systems Runtime Performance Capabilites**
|
|
314
314
|
To evaluate your system’s runtime performance capabilites for both your CPU(s) and GPU(s), the **EvaluateSystem** class allows you to autonomously evaluate your system:
|
|
315
315
|
|
|
316
|
-
```python
|
|
317
|
-
from eqcctpro import EvaluateSystem
|
|
318
|
-
|
|
319
|
-
eval_gpu = EvaluateSystem(
|
|
320
|
-
mode='gpu',
|
|
321
|
-
intra_threads=1,
|
|
322
|
-
inter_threads=1,
|
|
323
|
-
input_dir='/path/to/mseed',
|
|
324
|
-
output_dir='/path/to/outputs',
|
|
325
|
-
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
326
|
-
csv_dir='/path/to/csv',
|
|
327
|
-
P_threshold=0.001,
|
|
328
|
-
S_threshold=0.02,
|
|
329
|
-
p_model_filepath='/path/to/model_p.h5',
|
|
330
|
-
s_model_filepath='/path/to/model_s.h5',
|
|
331
|
-
cpu_id_list=[0,1],
|
|
332
|
-
set_vram_mb=24750,
|
|
333
|
-
selected_gpus=[0],
|
|
334
|
-
stations2use=2
|
|
335
|
-
)
|
|
336
|
-
eval_gpu.evaluate()
|
|
337
|
-
```
|
|
338
316
|
|
|
339
317
|
```python
|
|
340
318
|
from eqcctpro import EvaluateSystem
|
|
@@ -368,9 +346,32 @@ eval_cpu = EvaluateSystem(
|
|
|
368
346
|
eval_cpu.evaluate()
|
|
369
347
|
```
|
|
370
348
|
|
|
349
|
+
```python
|
|
350
|
+
from eqcctpro import EvaluateSystem
|
|
351
|
+
|
|
352
|
+
eval_gpu = EvaluateSystem(
|
|
353
|
+
mode='gpu',
|
|
354
|
+
intra_threads=1,
|
|
355
|
+
inter_threads=1,
|
|
356
|
+
input_dir='/path/to/mseed',
|
|
357
|
+
output_dir='/path/to/outputs',
|
|
358
|
+
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
359
|
+
csv_dir='/path/to/csv',
|
|
360
|
+
P_threshold=0.001,
|
|
361
|
+
S_threshold=0.02,
|
|
362
|
+
p_model_filepath='/path/to/model_p.h5',
|
|
363
|
+
s_model_filepath='/path/to/model_s.h5',
|
|
364
|
+
cpu_id_list=[0,1],
|
|
365
|
+
vram_mb=24750,
|
|
366
|
+
selected_gpus=[0],
|
|
367
|
+
stations2use=2
|
|
368
|
+
)
|
|
369
|
+
eval_gpu.evaluate()
|
|
370
|
+
```
|
|
371
|
+
|
|
371
372
|
**EvaluateSystem** will iterate through different combinations of CPU(s), Concurrent Timechunk and Station Tasks, as well as GPU(s), and the amount of VRAM (MB) each Concurrent Prediction can use.
|
|
372
373
|
**EvaluateSystem** will take time, depending on the number of CPU/GPUs, the amount of VRAM available, and the total workload that needs to be tested. However, after doing the testing once for most if not all usecases,
|
|
373
|
-
the trial data will be available and can be used to identify the optimal input parallelization configurations for **
|
|
374
|
+
the trial data will be available and can be used to identify the optimal input parallelization configurations for **RunEQCCTPro** to use to get the maximum amount of processing out of your system in the shortest amonut of time.
|
|
374
375
|
|
|
375
376
|
The following input parameters need to be configurated for **EvaluateSystem** to evaluate your system based on your desired utilization of EQCCTPro:
|
|
376
377
|
|
|
@@ -454,10 +455,10 @@ The following input parameters need to be configurated for **EvaluateSystem** to
|
|
|
454
455
|
- **`tmp_dir (str)`: default = 1**
|
|
455
456
|
- A temporary directory to store all temp files produced by EQCCTPro
|
|
456
457
|
- Used to help ease system cleanup and to not write to system's default temporary directory
|
|
457
|
-
- **`
|
|
458
|
+
- **`vram_mb (float)`**
|
|
458
459
|
- Maximum amount of VRAM each Raylet can use (float).
|
|
459
460
|
- Must be a real value that is based on your GPU's physical VRAM space, if it exceeds the space the code will break due to OutOfMemoryError
|
|
460
|
-
- Good rule of thumb for calculating `
|
|
461
|
+
- Good rule of thumb for calculating `vram_mb` = (GPU VRAM * .90 (to be safe)) / number_of_concurrent_station_predictions * number_of_concurrent_timechunk_predictions
|
|
461
462
|
- **`selected_gpus (list)`: default = None**
|
|
462
463
|
- List of GPU IDs on your computer you want to use if `mode = 'gpu'`
|
|
463
464
|
- Non-existing GPU IDs will cause the code to exit
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|