Conversation
|
We may need to get a bit more sophisticated with the phony |
|
I tested it on stellar and all works fine with me. |
|
@jchensw That's great! Any thoughts on the way it's been implemented? I think it can be improved. For example, the M3D-C1 code gets relinked every time even if nothing has changed. I think that's caused by the way the |
You mean the soft link in _$ARCH/bin directory? |
@jchensw I meant these lines: Lines 203 to 204 in 600d0b4 scorec is a phony target, so it get executed every time, which causes the M3D-C1 linking to happen every time even if m3dc1_scorec is unchanged.
A better way, I think, is to remove that prerequisite and then to add One thing I'm not sure of is how this will function: Lines 67 to 70 in 600d0b4 At the moment, $(SCOREC_BASE_DIR)/lib also contains libm3dc1_scorec.a, so I don't know which one will actually get linked to. As of 600d0b4, it definitely links to $(SCOREC_BASE_DIR)/lib if $(SCOREC_DIR)/lib has not been built yet (which makes testing challenging). The same goes for files in include folders. It may take some care to untangle these on all the systems.
|
|
Let me think through the first part. As for the second part, we don't need to worry about that it links to |
|
Here is what could be done. In target.mk, "make scorec" is inserted as the first thing to do for "all" so that the freshly built "libm3dc1_scorec.a" could be used to link M3DC1 executables: 38 .PHONY: all and in "makefile", delete the "scorec" dependence from "BIN": 203 As for the second part, no need to worry about which libm3dc1_scorec.a is used. From now on, we will not manually install it in |
|
@jchensw Done with 88bd541. Now we need to update all the |
|
I have these configuration files. You can access them at /global/homes/j/jinchen/project/M3DC1/gitrepo/M3DC1/m3dc1_scorec and the following two are for perlmutter Do you have any specific format for their names? Or you can copy them and change their name to fit your already setup rules. |
|
@bclyons12 and @jchensw Some files in m3dc1_scorec/config-files are not up-to-date. I will commit the latest. |
|
@jchensw I don't have any set format for the names. I just define it in the I would suggest that you and @seegyoung clean up the files in |
|
I believe Seegyoung is working on this. |
|
@bclyons12 and @jchensw instead of reusing m3dc1_scorec/config-files, I suggest to create a new folder to keep any config files necessary for unified build. The folder config-files is for internal SCOREC purpose only. |
|
@seegyoung Okay, we can make a new folder with @jchensw @nferraro @sjardin @changliu777 Maybe this is a good time to delete unused |
|
Yes, feel free to remove old .mk files. I think eddy, edison, carl, hecate, perseus, perseusamd are all gone. Also I think all the “sunfire” ones have been superseded by “centos7”
… On May 4, 2022, at 3:16 PM, Brendan Lyons ***@***.***> wrote:
@seegyoung <https://github.com/seegyoung> Okay, we can make a new folder with config.sh files, maybe just labeling them ${M3DC1_ARCH}_config.sh for uniformity.
@jchensw <https://github.com/jchensw> @nferraro <https://github.com/nferraro> @sjardin <https://github.com/sjardin> @changliu777 <https://github.com/changliu777> Maybe this is a good time to delete unused .mk files. They'll always be archived on git if we need them in the future. Which ones don't we need? edison.mk and eddy.mk for sure. Once we've pared down this list, we can focus on making the config.sh files for each remaining system. I'll make a separate issue to track this.
—
Reply to this email directly, view it on GitHub <#46 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAE2OL2HU33XE5ADLAHP46DVILEKTANCNFSM5TPFTRHQ>.
You are receiving this because you were mentioned.
|
|
I updated the following config.sh from m3dc1_scorec/config-files which were used to build the m3dc1_scorec libraries in corresponding .mk files
@jchensw @changliu777, please provide the config.sh used to build m3dc1_scorec in traverse_gpu and cori. Please let me know if you need any further from me to proceed. |
|
@seegyoung I'm working to cleanup the |
|
@jchensw @yaozhou1989 I just noticed that Lines 53 to 59 in 9ace1dd |
|
@bclyons12 One has netcdf & hdf5 included and the other one doesn't. This is caused by the segfault for stellarator version when nersc built netcdf modules is used. |
|
@jchensw So does m3dc1_scorec need to get compiled with the same version of PETSc for the stellarator version? We need three different |
|
@bclyons12 stellarator version share the same scorec lib with real mode. |
|
@bclyons12 All configuration files for cori haswell, knl, gpu, perlmutter have been pushed into master branch. Please check. |
|
@jchensw Thanks! I see the files that correspond to |
|
@bclyons12 Please delete cori_gpu.mk, and then rename cori_gpu_pgi.mk to cori_gpu.mk. |
This is to make a unified make build between the M3D-C1 code in
unstructuredand the libraries inm3dc1_scorec. I've finished it for stellar and it works, passing all regression tests.Task to complete before merging
unstructured/*.mkandm3dc1_scorec/config-files/*.shaccording to finalized strategy