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

BenefitInliner phase 3/3: Classes for doing nested knapsack algorithm and the inlining. #5509

Merged
merged 1 commit into from
Nov 22, 2023

Conversation

xiacijie
Copy link
Contributor

Issue: #5488

@mingweiarthurli
Copy link
Contributor

mingweiarthurli commented Jul 20, 2023

Hi @jdmpapin, would you mind to review this pull request? Since this is the next phase of #5508 and there is no assignees now.

Please note this PR has been finished now. The title shows it is WIP because I'm not the original contributor and don't have the permission to change it.

Thank you in advance!😊

@karimhamdanali
Copy link

hey @jdmpapin , @vijaysun-omr I was wondering if you folks had a chance to review this PR? Unlike what the title suggests (which we don't have edit rights to change), it's no longer WIP and it is ready to be reviewed now that Phase 2 has been merged.

@jdmpapin jdmpapin changed the title WIP: BenefitInliner phase 3/3: Classes for doing nested knapsack algorithm and the inlining. BenefitInliner phase 3/3: Classes for doing nested knapsack algorithm and the inlining. Aug 9, 2023
@jdmpapin jdmpapin self-assigned this Aug 9, 2023
@jdmpapin
Copy link
Contributor

jdmpapin commented Aug 9, 2023

I'll review soon

@karimhamdanali
Copy link

Thanks @jdmpapin!

@jdmpapin
Copy link
Contributor

I started reviewing yesterday. Between other things, I hope to be done the review in the next few days

@mingweiarthurli
Copy link
Contributor

I started reviewing yesterday. Between other things, I hope to be done the review in the next few days

Thank you very much!

@jdmpapin
Copy link
Contributor

Sorry again, trying to get back to this soon

@mingweiarthurli mingweiarthurli force-pushed the jack-inliner-phase-3 branch 2 times, most recently from ee0389c to 6cd0329 Compare October 30, 2023 18:06
@mingweiarthurli
Copy link
Contributor

Hi @jdmpapin, thank you for your review. I have finished resolving most review comments, except 4 comments still need some futher look since they may affect the core algorithm. I will finish those 4 comments ASAP and I will notify you once I finish. I also submmited finished part so you can start to review them if you want.

I submitted changes with another commit for now. I will squash those commits to 1 commit and force push to the repo after all changes are accepted.

@mingweiarthurli mingweiarthurli force-pushed the jack-inliner-phase-3 branch 2 times, most recently from 67e07ce to 2f3b33a Compare November 7, 2023 14:29
@mingweiarthurli
Copy link
Contributor

mingweiarthurli commented Nov 7, 2023

Hi @jdmpapin, I have made some new changes for the unsolved feedbacks. Could you please take a look? Thank you in advance.

Please ignore the macOS build check was failed since it failed due to a known issue of porttest.

@mingweiarthurli
Copy link
Contributor

Hi @jdmpapin, I have made some changes to the unresolved and new comments. Please take a look.
I have also squashed all commits into one commit, so I think it is ready to be merged if all comments are solved and there isn't any new comment.

@mingweiarthurli
Copy link
Contributor

Hi @jdmpapin, I fixed all new concerns. Please have a look. Thank you!

@jdmpapin
Copy link
Contributor

Jenkins build all

…ining.

This is the phase 3/3 of the BenefitInliner contribution.

* OMROptions.hpp, OMROptions.hpp: add new options for the BenefitInliner.
* AbsVisitor.hpp, IDTBuilder.hpp, OMRIDTBuilder.hpp, OMRIDTBuilder.cpp: new class files for building IDT.
* BenefitInliner.hpp, BenefitInliner.cpp, InliningProposal.hpp, InliningProposal.cpp: new class files for doing nested knapsack algorithm and inlining.

Co-authored-by: Mingwei Li <[email protected]>
Signed-off-by: Cijie Xia <[email protected]>
@mingweiarthurli
Copy link
Contributor

Hi @jdmpapin,I forgot to remove #includes <mutex> in the last commit when removing those std::call_once stuff. I removed it now, so the jenkins build checks should not fail anymore. Could you please run the jenkins again?

@jdmpapin
Copy link
Contributor

Jenkins build all

@mingweiarthurli
Copy link
Contributor

mingweiarthurli commented Nov 16, 2023

Hi @jdmpapin, seems almost all Jenkins build checks passed, excepts the macOS and linux riscv64.

For macOS, the console shows:

98% tests passed, 1 tests failed out of 49

Total Test time (real) = 238.41 sec

The following tests FAILED:
	  2 - TestJitBuilderAPIGenerator (Failed)

this is a known issue related to #7181.

For linux riscv64, the console shows:

...
15:05:15  29: Missing Implementation: Skipping test: ArraycmpLenNotEqualVariableLen/1219
15:05:15  29:     
15:05:15  29: Missing Implementation: Skipping test: ArraycmpLenNotEqualVariableLen/1220
15:05:15  29:     
15:05:15  29: Missing Implementation: Skipping test: ArraycmpLenNotEqualVariableLen/1221
15:05:15  29:     
15:05:15  29: Missing Implementation: Skipping test: ArraycmpLenNotEqualVariableLen/1222
15:05:15  29:     
15:05:15  29: Missing Implementation: Skipping test: ArraycmpLenNotEqualVariableLen/1223
15:05:15  29:     
15:05:15  29: �[0;32m[----------] �[m2448 tests from ArraycmplenTest/ArraycmplenNotEqualTest (3633 ms total)
15:05:15  29: 
15:05:17  29: �[0;32m[==========] �[m156911 tests from 173 test cases ran. (1476931 ms total)
15:05:17  29: �[0;32m[  PASSED  ] �[m156911 tests.
15:05:17  29: �[0;32m[  ALL TESTS PASSED  ] 
15:05:53  29: �[m
15:05:53  29/30 Test #29: comptest ..........................Child killed***Exception: 1563.04 sec
...
15:05:53  97% tests passed, 1 tests failed out of 30
15:05:53  
15:05:53  Total Test time (real) = 1971.26 sec
15:05:53  
15:05:53  The following tests FAILED:
15:05:53  	 29 - comptest (Child killed)
15:05:53  Errors while running CTest

looks like it is a silimar issue as mentioned at #5508 (comment), so I think this is also a known issue.

So I think this PR should be ready to be merged.

@mingweiarthurli
Copy link
Contributor

Hi @jdmpapin, I think this PR should be ready to be merged. Would you mind to take a look for the final approval? Thank you!

@jdmpapin
Copy link
Contributor

Jenkins build riscv

@jdmpapin jdmpapin merged commit 8b19b80 into eclipse-omr:master Nov 22, 2023
16 of 18 checks passed
@keithc-ca
Copy link
Contributor

I expect UMA builds need updating for this (e.g. omr/jitbuilder/build/files/common.mk should reference the new source files).

@mingweiarthurli
Copy link
Contributor

Hi @keithc-ca, I will open another issue and PR later to add the new source files to this makefile. However, I'm not very sure what the "UMA" stands for. I saw some issues and comments mentioned it, but I cannot find any more info about it. Could you please tell me where I can find more info about the "UMA builds" so I can check if there is any other file also needs update.

@keithc-ca
Copy link
Contributor

"UMA" is short for "Universal Makefile Adapter"; see https://github.com/eclipse-openj9/openj9/blob/master/sourcetools/com.ibm.uma/com/ibm/j9/uma/Main.java#L34.

In the context of OMR it involves using configure instead of cmake.

@mingweiarthurli
Copy link
Contributor

Thnak you Keith! I will take a look for this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants