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

[VTA][TSIM] Enable TSIM CI Testing #4407

Merged
merged 28 commits into from
Jan 17, 2020
Merged

[VTA][TSIM] Enable TSIM CI Testing #4407

merged 28 commits into from
Jan 17, 2020

Conversation

liangfu
Copy link
Member

@liangfu liangfu commented Nov 23, 2019

This PR intends to enable testing Chisel VTA design with the help of TSIM.

@yzhliu
Copy link
Member

yzhliu commented Nov 25, 2019

@tmoreau89 could you take a look?

Copy link
Contributor

@tmoreau89 tmoreau89 left a comment

Choose a reason for hiding this comment

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

Thanks Liangfu; did the CI docker image build properly with all of the Chisel dependencies?

@tmoreau89
Copy link
Contributor

@liangfu it seems like there are some errors in the CI; were you able to run the unit tests locally? You may have to test it and run it into the CI docker container. You may want to try it locally on your machine. BTW, the reason I had to comment out these lines of code is because the tests in the docker was causing some issues. I can spend cycles help debug what's wrong.

@liangfu
Copy link
Member Author

liangfu commented Nov 26, 2019

It seems to me that Chisel dependencies are handled properly already, except for fixing the sbt version to 1.1.1 in installing sbt throught apt, so that an update to sbt version is no longer necessary.

@tmoreau89 Yes, I'm able to run the unit tests locally. The error reported in the CI seems to be related to the build configuration. I will put on an update once I found the root cause.

@tmoreau89
Copy link
Contributor

thanks @liangfu

@liangfu
Copy link
Member Author

liangfu commented Jan 7, 2020

Hi @tmoreau89 , I have updated the docker/install/ubuntu_install_chisel.sh, do you have any idea how to reflect the change in the CI pipeline?

@tmoreau89
Copy link
Contributor

Thanks @liangfu ; was the test running successfully on the image? We'll need to get @tqchen to update the image registry.

@tqchen
Copy link
Member

tqchen commented Jan 7, 2020

Thanks @liangfu Please send a PR separately for the docker update. Then we can enable tests

@liangfu
Copy link
Member Author

liangfu commented Jan 8, 2020

Some recent changes made the unit tests unsuccessful.

@liangfu
Copy link
Member Author

liangfu commented Jan 16, 2020

@tmoreau89 As shown in my last commit , all VTA tests are successful with TSIM backend.

The latest CI log is reporting failure because we have verilator and sbt installed on docker image v0.55 , but not on v0.52 .

@tmoreau89
Copy link
Contributor

Thanks for pushing this through to the finish line @liangfu! Can we update the docker image used for CI testing?

@tmoreau89
Copy link
Contributor

Also do you mind referencing the PR that updates the docker image for future reference?

@liangfu
Copy link
Member Author

liangfu commented Jan 16, 2020

Also do you mind referencing the PR that updates the docker image for future reference?

Please refer to #4674 for installing verilator and sbt, #4675 for installing their dependencies, and #4677 for using the new image in CI.

@tmoreau89
Copy link
Contributor

Cool, thanks. Since the PRs have been merged, is there a reason why we are still using the old docker image which causes CI to fail?

@liangfu
Copy link
Member Author

liangfu commented Jan 16, 2020

I think docker image v0.52 is for i386, and it has no svt and verilator install. Previous docker update v0.55 is for x86-64.

@tmoreau89
Copy link
Contributor

Oh so you're saying that we cannot run tsim tests on i386 then? Should we disable the tsim tests for i386 then?

@liangfu
Copy link
Member Author

liangfu commented Jan 16, 2020

Oh so you're saying that we cannot run tsim tests on i386 then? Should we disable the tsim tests for i386 then?

Yes, but I'm not quite sure about how to do this.

@tmoreau89
Copy link
Contributor

I can suggest the following: we can have a task_python_vta_fsim.sh and a task_python_vta_tsim.sh script that are each separate. One thing we'll need to do before executing tests is to add the cp vta/config/fsim_sample.json vta/config/vta_config.json or cp vta/config/tsim_sample.json vta/config/vta_config.jsonfirst wether we execute fsim or tsim respectively. This ensures that if someone re-orders the tests, functionality won't be affected...

@liangfu
Copy link
Member Author

liangfu commented Jan 16, 2020

Sure, let's follow this approach.

@tmoreau89
Copy link
Contributor

@liangfu great! Can you also update the jenkins file? Please grep for task_python_vta.sh in the Jenkins file, and for i386 keep the fsim tests, while for x86_64 add both. Thanks!

@liangfu
Copy link
Member Author

liangfu commented Jan 17, 2020

@tmoreau89 Jenkinsfile has been revised, but why Jenkins is still evaluating task_python_vta.sh ?

@tmoreau89
Copy link
Contributor

hmmm that's odd; try re-triggering it one more time?

@liangfu
Copy link
Member Author

liangfu commented Jan 17, 2020

I come to understand the reason now. Although PR #4677 changed the image to v0.55, Jenkins still runs on v0.54 on that PR. Therefore, I think Jenkins is a step late to run everything in Jenkinsfile.

For that reason, I've duplicated a copy of task_python_vta_fsim.sh as task_python_vta.sh for now. Once this is merged, we can remove the task_python_vta.sh in a follow up PR, or you might prefer merge #4734 first.

@tmoreau89 tmoreau89 merged commit 2738edd into apache:master Jan 17, 2020
@tmoreau89
Copy link
Contributor

thank you @liangfu the PR has been merged!

alexwong pushed a commit to alexwong/tvm that referenced this pull request Feb 26, 2020
* Update task_python_vta.sh

* install sbt=1.1.1 with apt-get

* update verilator_opt

* install verilator with major version 4.0

* disable multi-threading for now

* bug fix for correcting uop fetch address in LoadUop module

* bug fix for correcting uop fetch address in LoadUop module

* adjustment to read from dram_offset

* enable USE_THREADS with verilator 4.x

* DEBUG: try avoid core dump with verilator 4.x

* bug fix in LoadUop module

* log mega cycles in tsim

* download cat.png to avoid fetching in each run

* bug fix in LoadUop module

* solve dram_even/sram_even issue

* bug fix

* introduce scalalint in ci

* speedup tsim in ci

* bug fix

* lint scala code before building

* disable multi-threading

* split fsim/tsim script

* update Jenkins settings

* duplicate task_python_vta_fsim.sh as task_python_vta.sh for now

Co-authored-by: Thierry Moreau <[email protected]>
alexwong pushed a commit to alexwong/tvm that referenced this pull request Feb 28, 2020
* Update task_python_vta.sh

* install sbt=1.1.1 with apt-get

* update verilator_opt

* install verilator with major version 4.0

* disable multi-threading for now

* bug fix for correcting uop fetch address in LoadUop module

* bug fix for correcting uop fetch address in LoadUop module

* adjustment to read from dram_offset

* enable USE_THREADS with verilator 4.x

* DEBUG: try avoid core dump with verilator 4.x

* bug fix in LoadUop module

* log mega cycles in tsim

* download cat.png to avoid fetching in each run

* bug fix in LoadUop module

* solve dram_even/sram_even issue

* bug fix

* introduce scalalint in ci

* speedup tsim in ci

* bug fix

* lint scala code before building

* disable multi-threading

* split fsim/tsim script

* update Jenkins settings

* duplicate task_python_vta_fsim.sh as task_python_vta.sh for now

Co-authored-by: Thierry Moreau <[email protected]>
zhiics pushed a commit to neo-ai/tvm that referenced this pull request Mar 2, 2020
* Update task_python_vta.sh

* install sbt=1.1.1 with apt-get

* update verilator_opt

* install verilator with major version 4.0

* disable multi-threading for now

* bug fix for correcting uop fetch address in LoadUop module

* bug fix for correcting uop fetch address in LoadUop module

* adjustment to read from dram_offset

* enable USE_THREADS with verilator 4.x

* DEBUG: try avoid core dump with verilator 4.x

* bug fix in LoadUop module

* log mega cycles in tsim

* download cat.png to avoid fetching in each run

* bug fix in LoadUop module

* solve dram_even/sram_even issue

* bug fix

* introduce scalalint in ci

* speedup tsim in ci

* bug fix

* lint scala code before building

* disable multi-threading

* split fsim/tsim script

* update Jenkins settings

* duplicate task_python_vta_fsim.sh as task_python_vta.sh for now

Co-authored-by: Thierry Moreau <[email protected]>
tqchen pushed a commit to tqchen/tvm that referenced this pull request Mar 29, 2020
* Update task_python_vta.sh

* install sbt=1.1.1 with apt-get

* update verilator_opt

* install verilator with major version 4.0

* disable multi-threading for now

* bug fix for correcting uop fetch address in LoadUop module

* bug fix for correcting uop fetch address in LoadUop module

* adjustment to read from dram_offset

* enable USE_THREADS with verilator 4.x

* DEBUG: try avoid core dump with verilator 4.x

* bug fix in LoadUop module

* log mega cycles in tsim

* download cat.png to avoid fetching in each run

* bug fix in LoadUop module

* solve dram_even/sram_even issue

* bug fix

* introduce scalalint in ci

* speedup tsim in ci

* bug fix

* lint scala code before building

* disable multi-threading

* split fsim/tsim script

* update Jenkins settings

* duplicate task_python_vta_fsim.sh as task_python_vta.sh for now

Co-authored-by: Thierry Moreau <[email protected]>
@liangfu liangfu deleted the patch-16 branch April 14, 2020 14:32
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.

None yet

4 participants