MPI plotting stuff

This commit is contained in:
Silas Oettinghaus
2026-07-15 23:02:05 +02:00
parent 9455084711
commit 2e667d6ec3
7 changed files with 707 additions and 33 deletions

View File

@@ -3,7 +3,7 @@ dsp_options = struct();
dsp_options.mode = "run_id";
dsp_options.recipe = @mpi_recipe_dev;
dsp_options.append_to_db = false;
dsp_options.start_occurence = 5;
dsp_options.start_occurence = 1;
dsp_options.max_occurences = 15;
dsp_options.debug_plots = false;
@@ -13,7 +13,7 @@ mpi_reduction_study_name = "pam6_8_sweep";
mpi_reduction_writer_path = fullfile(fileparts(mfilename('fullpath')),"db");
addpath(mpi_reduction_writer_path);
dsp_options.database_type = "mysql";
dsp_options.database_type = "mysql";
dsp_options.dataBase = "labor";
@@ -51,7 +51,7 @@ for i = 1
fp.where('Runs', 'symbolrate', 'EQUALS', B); % 72 96 112
fp.where('Runs', 'fiber_length', 'EQUALS', 0);
fp.where('Runs', 'interference_path_length', 'EQUALS', 1000);
fp.where('Runs', 'sir', 'LESS_EQUAL', 20);
fp.where('Runs', 'sir', 'LESS_EQUAL', 50);
fp.where('Runs', 'db_mode', 'EQUALS', '"no_db"');
% fp.where('Runs', 'is_mpi', 'EQUALS', 1);
fp.where('Runs', 'pam_level', 'EQUALS', M);
@@ -62,14 +62,20 @@ for i = 1
[~, sortIdx] = sort(dataTable.sir, 'descend');
dataTable = dataTable(sortIdx, :);
dataTable = dataTable(1,:);
% desired_sir = [15,22,26,30,38];
% desired_sir = [22,30,38];
% % Filter dataTable to only keep rows with sir in desired_sir
% isDesired = ismember(dataTable.sir, desired_sir);
% dataTable = dataTable(isDesired, :);
% dataTable = dataTable(1,:);
run_ids = dataTable.run_id;
%% === Warehouse setup ===
dsp_options.userParameters = struct();
dsp_options.userParameters.block_update = 1;%[1,2,4,8,16,32,64,112,224,448,448*2,1024,2048,4096,8192,16384];%%logspace(-3.8,-1,22);%[linspace(2,4096,22)];
dsp_options.userParameters.hpf = [2e6:2e6:10e6,20e6:10e6:100e6];
% dsp_options.userParameters.hpf = [2e6:0.5e6:10e6];
% dsp_options.userParameters.bufferlen = [112,224,448,448*2,1024,2048,4096,8192,16384];
wh = DataStorage(dsp_options.userParameters);
%%
@@ -85,7 +91,7 @@ for i = 1
%% === Run ===
% submitJobs returns the raw per-job results and the filled Warehouse. For a
% single run_id and remove_dc = [0, 1], results is a 2-by-1 cell array.
[results, wh] = submitJobs(run_ids, dsp_options, processingMode.parallel, ...
[results, wh] = submitJobs(run_ids, dsp_options, processingMode.serial, ...
"wh", wh, ...
"waitbar", true);
@@ -109,9 +115,9 @@ storageNames = fieldnames(wh.sto);
x_base = dataTable.sir(:).';
x_base = dsp_options.userParameters.block_update;
x_base = dsp_options.userParameters.hpf;
figure(2026); clf; hold on
x_base = dsp_options.userParameters.bufferlen;
% x_base = dsp_options.userParameters.hpf;
figure(2029); hold on
for storage_idx = 1:numel(storageNames)
storageName = storageNames{storage_idx};
result = wh.sto.(storageName);