-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
OpenGL backend (stage 2.2.2) #545
Conversation
d51ba05
to
2f9cd96
Compare
@archibate requested a review from @yuanming-hu |
Any idea? |
Sorry about the delay. I was busy adding CUDA support for Windows. |
Did you see any potential bug in this stage? I always get a |
Go for ast now.. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thanks.
Would it be possible to pinpoint which stage (SNode writer, kernel print, SNodeReader etc) caused the INT_MAX result? |
Can't, since mpm128 can't be run until the last stage. And this error isn't a SIGABRT or python-scope Exception, I can't trace its origin very well...
I also found that sometimes it crashes, sometimes it don't. And randomly but not so random that the fault are usually connected on time... (sorry for my bad English :) just like: FFFFFF...FFF....F..FFFFF.F (layout be time order) Also seems related to shell restart...(?) This may due to we didn't zero-initialize a variable somewhere that it just depend on initial stack value. Could you help me test this on MSVC? Windows like to initialize stack as 0xcc on startup, so if you get constant error |
(Remember to test non-GL build and think twice before merge) |
A seemingly stupid yet extremely effective way to debug issues like these: simplify the program as much as you can while keeping the bug reproducible. Ultimately you will likely get a Python file within ~10 lines of code to trigger the bug. This will help you narrow down the range of possible sources of bugs. I've been using this technique very frequently to debug mysterious compiler bugs... |
Go bed now, do we need a stage 3 or just done everything here (like minor bug fix / feature add)? |
Thansk for your hard work! As long as we can pass the corresponding tests, then we are good :-) The initial release should also show some performance boost compared with the CPU version. We can leave further performance optimizations to the future versions. |
Stage 3 merged! Check if test pass... |
Have no idea why |
The double underscore is weird anyway - let's remove the first/second underscore then. |
taichi/python/taichi/lang/kernel.py Line 221 in ab62823
|
The format template should be |
I think here is done if all tests passed. |
How to make spdlog submodule happy? |
When I move Also found if I remove any of |
TODO: do good test and break-downs on this branch with master. Don't merge me yet. See you trr. |
can't merge anymore. almost forget everything did in gl. |
all test passing.. |
Great!! Could you merge your latest commit in this PR with the current master branch? |
Just take all from g2 and drop all from master, hope this works.. |
Didn't work. Lot of errors generated. |
Giving up now. |
Now I'm completely lose control with these codes... Have no idea which stage is this on... The order is... all broken... what's more the good news is there still some unmerged commits in the old unstaged PR.. from the lesson learnt from GL: DON'T BREAK DOWN PRS ANYMORE! Only open-review-and-merge-in-time this method start from beginning can have benefits instead of wasting time :( |
How about merging 664e1bd with master? It seems to me that if you do that then the only file with conflict is |
Didn't. The problem is, I cherry-picked commits in different timeline. And when merge, the timeline is broken, can't find a good order to make them all happy. |
True, only 1 file conflict, but 18 conflicts with 100+ lines. |
I see. Fixing that file seems the only way we can go now, unfortunately. Sorry about the trouble. Let's keep future PRs smaller to avoid related issues. |
Yeah you don't want to write any code about GL until all stages are merged thanks to the merge-into-master method. |
Got many F in test now.. I need to re-make these wandering commits that fix tests again.. why not go back and use plan B.. Happy coding is becoming happy merging now.. |
Fixed, seems due to approx typo fix, need 1e-3. |
I understand things are getting slightly more troublesome than expected.
I feel like merging a huge Having smaller PRs into master gradually will
What do you think? |
I see, fault was I didn't even wait for your review/merge and keep pushing into opengl, causing the PR huge and breakless, i.e. it should be small PRs at the first place, rather than breaking down an existing huge PR. |
Yeah, I should have let you know the PR is getting large, at an earlier time... I'll wait for CI to pass - meanwhile, do we still need |
I T P A S S E D ! |
Awesome!!
Great idea!! What do you think should be a good CLI for it? Free free to open up a stand-alone issue for this. (This PR now has 50+ conversations, LOL) Btw, currently |
Finally, we can merge this in! Thank you so much for your contribution. It's absolutely a giant step :-) Going to sleep now. It's almost 3 am here. See you tmr. |
Related issue id = #492