Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test vectors for reduced config #205

Merged
merged 39 commits into from
Oct 26, 2021
Merged

Test vectors for reduced config #205

merged 39 commits into from
Oct 26, 2021

Conversation

aehart
Copy link
Contributor

@aehart aehart commented Sep 27, 2021

This PR adds the test vectors for the reduced config that were generated by @trholmes to emData/download.sh.

The tarballs are unpacked as LUTsReduced/ and MemPrintsReduced/ in the emData/ directory. Then for each processing module specified in download.sh, links to the reduced config test vectors are provided in a subdirectory of the usual test vector directory; e.g., the full config test vectors for TC_L1L2F are in emData/TC/TC_L1L2F/, and those for the reduced config are in emData/TC/TC_L1L2F/ReducedConfig/.

I also moved all the C++ top files to a dedicated TopFunctions/ directory with those for the reduced config in TopFunctions/ReducedConfig/. This makes it relatively simple to switch between the full config and the reduced config when running the C-simulation or C-synthesis.

Finally, I created dedicated Tcl scripts for exporting the IPs needed for each of the existing subchains. This is in preparation for adding the summer chain (and subchains thereof), when we will need different IPs for different chains. And in general, it is cleaner if the chains are independent of the Tcl scripts in project/.

.gitlab-ci.yml Outdated Show resolved Hide resolved
.gitlab-ci.yml Outdated Show resolved Hide resolved
IntegrationTests/PRMEMC/script/compileHLS.tcl Show resolved Hide resolved
emData/download.sh Outdated Show resolved Hide resolved
emData/generate_IR.py Show resolved Hide resolved
@tomalin
Copy link
Contributor

tomalin commented Oct 4, 2021

There are data format inconsistencies for the InputRouter test data. e.g. Comparing the first column of MemPrints/InputStubs/InputStubs_IL_L1PHID_PS10G_1_A_04.dat with that in either "reduced_config_pr" or "master", this new PR has values such as "0x02", whereas the older files have instead "02".
It was requested in CMSSW issue cms-L1TK/cmssw#85 to add "0x" to this column, so I assume the new test data was added after doing this. (Which branch of our L1Trk CMSSW code was used to do this?). However, FileReaderFIFO.vhd will need a small change to accommodate the extra "0x", so we should make this change for both reduced & non-reduced test data at the same time.

@trholmes
Copy link
Contributor

trholmes commented Oct 4, 2021

I had originally put these TVs directly into a directory here: /eos/project/c/cmsweb/www/upg_trk_l1trg, along with text files that had the git hash corresponding to their production, but I don't see them in the tar'd files, and the structure has been changed in this directory. @aehart, do you know if those text files still exist somewhere?

@aryd
Copy link
Contributor

aryd commented Oct 5, 2021 via email

@aryd
Copy link
Contributor

aryd commented Oct 5, 2021 via email

@aehart aehart force-pushed the reduced_config_test_vectors branch from 42fd3b4 to 64781fe Compare October 13, 2021 23:12
@aehart
Copy link
Contributor Author

aehart commented Oct 14, 2021

@trholmes The tarballs used here are just those that you produced, but repackaged in the format emData/download.sh expects. I neglected to include the info text files before, but I have since added them back and added a comment with the commit hash to emData/download.sh.

@tomalin @aryd For the sake of my sanity, I would propose not trying to do a FW sync with this PR. Indeed, I'd like a few pending changes to make their way into the master branch before doing that. In the meantime, I've introduced an ugly hack to make the input stub test-vectors for the reduced config consistent with the other sets of test vectors:

### Ugly hack to remove initial "0x" from input stub test vectors, in order to
### be consistent with other sets of test vectors.
### FIXME: Remove after next FW sync
sed -i "s/^0x//g" MemPrintsReduced/InputStubs/InputStubs_*.dat

We can simply undo the hacks here and in the FileReader after the next FW sync.

@tomalin
Copy link
Contributor

tomalin commented Oct 14, 2021

@trholmes The tarballs used here are just those that you produced, but repackaged in the format emData/download.sh expects. I neglected to include the info text files before, but I have since added them back and added a comment with the commit hash to emData/download.sh.

@tomalin @aryd For the sake of my sanity, I would propose not trying to do a FW sync with this PR. Indeed, I'd like a few pending changes to make their way into the master branch before doing that. In the meantime, I've introduced an ugly hack to make the input stub test-vectors for the reduced config consistent with the other sets of test vectors:

### Ugly hack to remove initial "0x" from input stub test vectors, in order to
### be consistent with other sets of test vectors.
### FIXME: Remove after next FW sync
sed -i "s/^0x//g" MemPrintsReduced/InputStubs/InputStubs_*.dat

We can simply undo the hacks here and in the FileReader after the next FW sync.

Agreed.

@aehart aehart force-pushed the reduced_config_test_vectors branch from d4fabfa to 83a9519 Compare October 25, 2021 16:47
@aehart aehart requested a review from aperloff October 26, 2021 01:55
Copy link

@aperloff aperloff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@aehart aehart merged commit a90d306 into master Oct 26, 2021
@aehart aehart deleted the reduced_config_test_vectors branch October 26, 2021 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants