Loading .gitlab-ci.yml +115 −39 Original line number Diff line number Diff line Loading @@ -2270,9 +2270,13 @@ coverage-test-on-main-scheduled: # still needed as long as no long MASA testvectors are there - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - ivas-linux-fast timeout: 3 hours 30 minutes stage: test before_script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" when: always Loading @@ -2280,89 +2284,164 @@ coverage-test-on-main-scheduled: paths: - $CI_JOB_NAME-public complexity-stereo-in-stereo-out: complexity-stereo-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=stereo - out_format=stereo - out_format=ext - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-ism-in-binaural-out: complexity-ism-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 1 hour # when: delayed # start_in: 1 hour script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=ISM - out_format=BINAURAL - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-hoa3-out: complexity-ism-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 2 hours 30 minutes # when: delayed # start_in: 2 hour script: - in_format=ISM - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 3 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=HOA3 - out_format=HOA3 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-7_1_4-out: complexity-sba-hoa3-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 4 hours # when: delayed # start_in: 4 hours script: - in_format=HOA3 - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 5 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MC - out_format=7_1_4 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-7_1_4-out: complexity-mc-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 7 hours 30 minutes # when: delayed # start_in: 6 hours script: - in_format=MC - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 7 hours script: - in_format=MASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 8 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MASA - out_format=7_1_4 - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 9 hours script: - in_format=OMASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 10 hours script: - in_format=OMASA - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts Loading @@ -2373,12 +2452,9 @@ complexity-StereoDmxEVS-stereo-in-mono-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 8 hours 30 minutes # when: delayed # start_in: 11 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=StereoDmxEVS - out_format=mono - ret_val=0 Loading apps/encoder.c +10 −1 Original line number Diff line number Diff line Loading @@ -1519,6 +1519,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too low number of ISM channels specified!\n\n" ); usage_enc(); return false; } else { Loading @@ -1530,6 +1531,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too high number of ISM channels!\n\n" ); usage_enc(); return false; } } } Loading @@ -1537,6 +1539,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Number of ISM channels not specified!\n\n" ); usage_enc(); return false; } if ( i < argc - 4 ) { Loading @@ -1556,7 +1559,7 @@ static bool parseCmdlIVAS_enc( default: fprintf( stderr, "Error: MASA channels must be 1 or 2.\n\n" ); usage_enc(); break; return false; } } Loading @@ -1581,6 +1584,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: not enough arguments\n\n" ); usage_enc(); return false; } } Loading @@ -1593,6 +1597,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: not enough MASA arguments\n\n" ); usage_enc(); return false; } } else if ( strcmp( to_upper( argv[i] ), "-ISM_SBA" ) == 0 ) Loading @@ -1611,6 +1616,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too low number of ISM channels specified!\n\n" ); usage_enc(); return false; } else { Loading @@ -1622,6 +1628,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too high number of ISM channels!\n\n" ); usage_enc(); return false; } } } Loading @@ -1629,6 +1636,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Number of ISM channels not specified!\n\n" ); usage_enc(); return false; } if ( i < argc - 4 ) Loading Loading @@ -1680,6 +1688,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: not enough arguments\n\n" ); usage_enc(); return false; } } } Loading ci/basop-pages/create_report_pages.py +10 −3 Original line number Diff line number Diff line Loading @@ -198,10 +198,12 @@ def tr_from_row(row, id_current, id_previous): try: if float(curr) > float(prev): curr += f" {ARROW_UP}" td_tmpl_curr = TD_TMPL_INCREASE # increase is bad -> mark in red, execpt for SNR for which it is good -> mark in green td_tmpl_curr = TD_TMPL_REDUCE if c == "MIN_SSNR" else TD_TMPL_INCREASE elif float(curr) < float(prev): curr += f" {ARROW_DOWN}" td_tmpl_curr = TD_TMPL_REDUCE # reduce is good -> mark in green, execpt for SNR for which it is bad -> mark in red td_tmpl_curr = TD_TMPL_INCREASE if c == "MIN_SSNR" else TD_TMPL_REDUCE except ValueError: # if we land here, one of the cells is not a number, this indicates a crash # or some error in the scripts, so mark with red as well Loading Loading @@ -258,7 +260,12 @@ def merge_and_cleanup_mld_reports( for col_pair in other_col_pairs: col_prev = col_pair[0] col_curr = col_pair[1] try: diff_other += abs(float(x[col_curr]) - float(x[col_prev])) except ValueError: # can't make float from the column contents, probably NONE -> put to top diff_other += float("inf") if diff_other > 0: diff = -1000000 Loading ci/complexity_measurements/check_for_changes.py +20 −3 Original line number Diff line number Diff line Loading @@ -26,10 +26,27 @@ def check_linewise_logfile(filepath, cols): contents = [line for line in csv.reader(f, delimiter=" ")] curr = contents[-1] try: prev = contents[-2] except IndexError: # this is for handling first runs of new complexity jobs -> only one line present # do not report any changes then prev = curr change_ratios = [abs(float(curr[i]) / float(prev[i]) - 1) > THRESH for i in cols] changes_found = any(change_ratios) changes_found = False for c in cols: if curr[c] == prev[c]: abs_perc_change = 0 else: try: abs_perc_change = abs(float(curr[c]) / float(prev[c]) - 1) except ZeroDivisionError: # in some cases, such as missing instrumentation, values can be zero, so catch that here # from the first if we know that curr can not be 0 too -> report change abs_perc_change = THRESH + 1 if abs_perc_change > THRESH: changes_found = True break if changes_found: print("Previous log line:", prev) Loading ci/complexity_measurements/getWmops.sh +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ if [ $# -ne 2 ]; then fi ivas_format=$1 output_format=$2 output_format="$2" date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file Loading Loading
.gitlab-ci.yml +115 −39 Original line number Diff line number Diff line Loading @@ -2270,9 +2270,13 @@ coverage-test-on-main-scheduled: # still needed as long as no long MASA testvectors are there - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - ivas-linux-fast timeout: 3 hours 30 minutes stage: test before_script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" when: always Loading @@ -2280,89 +2284,164 @@ coverage-test-on-main-scheduled: paths: - $CI_JOB_NAME-public complexity-stereo-in-stereo-out: complexity-stereo-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=stereo - out_format=stereo - out_format=ext - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-ism-in-binaural-out: complexity-ism-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 1 hour # when: delayed # start_in: 1 hour script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=ISM - out_format=BINAURAL - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-hoa3-out: complexity-ism-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 2 hours 30 minutes # when: delayed # start_in: 2 hour script: - in_format=ISM - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 3 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=HOA3 - out_format=HOA3 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-7_1_4-out: complexity-sba-hoa3-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 4 hours # when: delayed # start_in: 4 hours script: - in_format=HOA3 - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 5 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MC - out_format=7_1_4 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-7_1_4-out: complexity-mc-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 7 hours 30 minutes # when: delayed # start_in: 6 hours script: - in_format=MC - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 7 hours script: - in_format=MASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 8 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MASA - out_format=7_1_4 - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 9 hours script: - in_format=OMASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 10 hours script: - in_format=OMASA - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts Loading @@ -2373,12 +2452,9 @@ complexity-StereoDmxEVS-stereo-in-mono-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 8 hours 30 minutes # when: delayed # start_in: 11 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=StereoDmxEVS - out_format=mono - ret_val=0 Loading
apps/encoder.c +10 −1 Original line number Diff line number Diff line Loading @@ -1519,6 +1519,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too low number of ISM channels specified!\n\n" ); usage_enc(); return false; } else { Loading @@ -1530,6 +1531,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too high number of ISM channels!\n\n" ); usage_enc(); return false; } } } Loading @@ -1537,6 +1539,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Number of ISM channels not specified!\n\n" ); usage_enc(); return false; } if ( i < argc - 4 ) { Loading @@ -1556,7 +1559,7 @@ static bool parseCmdlIVAS_enc( default: fprintf( stderr, "Error: MASA channels must be 1 or 2.\n\n" ); usage_enc(); break; return false; } } Loading @@ -1581,6 +1584,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: not enough arguments\n\n" ); usage_enc(); return false; } } Loading @@ -1593,6 +1597,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: not enough MASA arguments\n\n" ); usage_enc(); return false; } } else if ( strcmp( to_upper( argv[i] ), "-ISM_SBA" ) == 0 ) Loading @@ -1611,6 +1616,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too low number of ISM channels specified!\n\n" ); usage_enc(); return false; } else { Loading @@ -1622,6 +1628,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Too high number of ISM channels!\n\n" ); usage_enc(); return false; } } } Loading @@ -1629,6 +1636,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: Number of ISM channels not specified!\n\n" ); usage_enc(); return false; } if ( i < argc - 4 ) Loading Loading @@ -1680,6 +1688,7 @@ static bool parseCmdlIVAS_enc( { fprintf( stderr, "Error: not enough arguments\n\n" ); usage_enc(); return false; } } } Loading
ci/basop-pages/create_report_pages.py +10 −3 Original line number Diff line number Diff line Loading @@ -198,10 +198,12 @@ def tr_from_row(row, id_current, id_previous): try: if float(curr) > float(prev): curr += f" {ARROW_UP}" td_tmpl_curr = TD_TMPL_INCREASE # increase is bad -> mark in red, execpt for SNR for which it is good -> mark in green td_tmpl_curr = TD_TMPL_REDUCE if c == "MIN_SSNR" else TD_TMPL_INCREASE elif float(curr) < float(prev): curr += f" {ARROW_DOWN}" td_tmpl_curr = TD_TMPL_REDUCE # reduce is good -> mark in green, execpt for SNR for which it is bad -> mark in red td_tmpl_curr = TD_TMPL_INCREASE if c == "MIN_SSNR" else TD_TMPL_REDUCE except ValueError: # if we land here, one of the cells is not a number, this indicates a crash # or some error in the scripts, so mark with red as well Loading Loading @@ -258,7 +260,12 @@ def merge_and_cleanup_mld_reports( for col_pair in other_col_pairs: col_prev = col_pair[0] col_curr = col_pair[1] try: diff_other += abs(float(x[col_curr]) - float(x[col_prev])) except ValueError: # can't make float from the column contents, probably NONE -> put to top diff_other += float("inf") if diff_other > 0: diff = -1000000 Loading
ci/complexity_measurements/check_for_changes.py +20 −3 Original line number Diff line number Diff line Loading @@ -26,10 +26,27 @@ def check_linewise_logfile(filepath, cols): contents = [line for line in csv.reader(f, delimiter=" ")] curr = contents[-1] try: prev = contents[-2] except IndexError: # this is for handling first runs of new complexity jobs -> only one line present # do not report any changes then prev = curr change_ratios = [abs(float(curr[i]) / float(prev[i]) - 1) > THRESH for i in cols] changes_found = any(change_ratios) changes_found = False for c in cols: if curr[c] == prev[c]: abs_perc_change = 0 else: try: abs_perc_change = abs(float(curr[c]) / float(prev[c]) - 1) except ZeroDivisionError: # in some cases, such as missing instrumentation, values can be zero, so catch that here # from the first if we know that curr can not be 0 too -> report change abs_perc_change = THRESH + 1 if abs_perc_change > THRESH: changes_found = True break if changes_found: print("Previous log line:", prev) Loading
ci/complexity_measurements/getWmops.sh +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ if [ $# -ne 2 ]; then fi ivas_format=$1 output_format=$2 output_format="$2" date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file Loading