-
Notifications
You must be signed in to change notification settings - Fork 102
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
Add preliminary BoxLib based backend. #438
base: master
Are you sure you want to change the base?
Conversation
Conflicts: examples/acoustics_1d_homogeneous/acoustics_1d.py examples/advection_1d/advection_1d.py
…ied. Fix domain decomposition.
Conflicts: examples/acoustics_1d_homogeneous/acoustics_1d.py examples/acoustics_3d_variable/acoustics_3d_interface.py examples/advection_1d/advection_1d.py examples/advection_2d/advection_2d.py src/pyclaw/solution.py
The structure of this looks good. I think we will need to set up a corresponding PR in clawpack/clawpack to properly incorporate BoxClaw, and I can also set up a hashdist build to verify this. I'd also like to see at least one or two regression tests before we merge this. Is there any documentation outside of the examples? |
I will get some regression tests running... do they need to be MPI enabled at this stage? |
No. On Mon, Jul 14, 2014 at 12:28 PM, Matthew Emmett [email protected]
|
@@ -0,0 +1,17 @@ | |||
|
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.
I think if you rename boxclaw/README to boxclaw/README.rst, Github will render it for you.
Yeah, serial is fine for now -- it will be great to have this available. |
…d advection_1d examples.
I have added two regression tests. The easiest (fewest lines of code) way to do this was by monkey patching the |
There are some hardcode paths that need to be modified in order for BoxLib to compile:
After I did that, I did compile some files, but I got the following error at what I believe is the linking step:
|
Oops, didn't notice that hardcoded path -- I will make it relative. Unfortunately I don't have access to an OSX machine, so wasn't able to test the build step on a Mac. Looking at the comments in |
Yes, I'm using GNU compilers. |
|
and here's a bit of the error message I currently get:
|
I just pushed a change to pull in
|
Hooray! I have a BoxLib installation now. I followed the other instructions (by the way, there is an extra "../" in your softlink). I tried to run the acoustics example, but I get
I have verified that this happens somewhere in the call
in boxlib/geometry.py. It also happens if I go into the debugger there and just ask for |
I tried disabling that logger message but I still get a malloc error somewhere shortly after. |
Progress! I will try the acoustics example again (been a while) and see if I can recreate your malloc error. |
I am unable to recreate any memory issues on my machines. I have requested a repurposed Mac from LBL, so should have access to an OSX box soon. I will ask for 10.8.5 and see if it is available. Let me know if there are any other things about your environment that I should be aware of. Will keep you posted. |
Okay, there probably are other things, but I'm not aware of them ;-) This macbook is a little messed up; somehow I uninstalled the App Store and Anyway, I can try with a couple of other machines when I get back to KAUST On Thu, Aug 14, 2014 at 8:40 PM, Matthew Emmett [email protected]
|
Working on a different machine now, I did
and got the same error @mandli gets (recursive template depth). |
Just an update, the lab IT dept finally got around to providing me with a re-purposed OSX machine with 10.8.5 on it. Hope to get things running soon... will keep you posted. |
@ketch @mandli After some tweaks to BoxLib makefiles, I can now install PyBoxLib on OSX 10.8.5 using:
I have tried to minimize the number of environment variables that the user has to set when running "python setup.py build" for PyBoxLib. Futher notes are here: https://gist.github.com/memmett/d00df480fb9034f0a2d2 I hope this works on your machines! |
I will try this out, I am surprised that nothing specific needed to be done to get clang to work though. Maybe this is an ABI issue? |
To be clear, I had to tweak the make files to get clang to compile BoxLib. Once this was fixed everything else went smoothly. |
I tried it again, and have now completely messed up the compilers on my system (I'm getting |
On Sun, Oct 12, 2014 at 8:03 AM, David Ketcheson [email protected]
The gfortran compilers on OS X can be a bit tricky. Feel free to ping me |
…-merge Conflicts: examples/acoustics_1d_homogeneous/acoustics_1d.py examples/acoustics_1d_homogeneous/test_acoustics.py examples/advection_1d/test_advection.py
@memmett Did you say that there is a hashdist or conda install for this now? |
I have successfully run this now, using hashdist. Here is what I believe I had to do:
Then I edited the yaml file, commenting out the clawpack part. Next I did
Then I went to my clawpack directory and did
|
Just pushed some fixes to BoxLib. Now I can get this running by doing:
Then, cd into my clawpack directory and:
You may need to tweak the HashDist profile that I created above to suite your machine. I'd like to rearrange the mapping between the PyClaw AMR (grid, patch etc) constructs and the BoxLib constructs, but figure we should get this merged first. |
I tried the latest installation instructions and got this (after updating my installation of hashdist to 0.3):
|
@ketch - are you on OS X? You'll want to change the line where it says |
@ahmadia Thanks. I should have been suspicious of that line. After setting it to |
Okay, that error is likely due to you being unable to link against Python libraries. I think @memmett may have had to hardcode library link flags in to do the right thing. HashDist automatically creates a build log for you when a build fails, and this usually can provide enough hints to figure out how to fix things. Can you paste the failed build log somewhere like gist.github.com? |
FWIW, I think https://gist.github.com/memmett/d00df480fb9034f0a2d2#file-boxclaw-osx-txt-L68 was the link problem he may have been referring to. Even posting the complete error message helps. |
This PR adds preliminary support for a state backend based on BoxLib. To use this backend you need to install PyBoxLib:
Next, create a symlink in
clawpack/clawpack
to theboxclaw
module:Now you should be good to go!