Commit Graph

35 Commits

Author SHA1 Message Date
jpekkila
bf7eb83084 Updated benchmark script 2020-10-29 16:34:48 +02:00
jpekkila
c1f2a6c340 Setup for benchmarks 2020-10-28 12:55:32 +02:00
Miikka Vaisala
eb9090cc90 Added a helpful template script for running Astaroth simulations.
This is has been personally helpful in practical use.
2020-09-21 15:19:55 +08:00
jpekkila
20ab7b7c36 Readded scripts/fix_style.sh. It seems to have disappeared at some point, have no idea. Use with care. 2020-01-14 22:09:43 +02:00
jpekkila
74cbcf390e Removed deprecated unused files 2020-01-14 21:56:00 +02:00
jpekkila
0676d27761 Moved compile_acc_module.sh from scripts to the acc directory 2020-01-14 21:44:27 +02:00
jpekkila
7afab65806 Fixed the compilation script to use the correct name for the preprocessed file 2019-10-07 16:39:49 +03:00
jpekkila
cd09a7d9e8 Update the module compilation script with the new syntax. Now the Astaroth DSL compiler creates the files instead of having to pipe stdout to some file with a bash script 2019-10-07 15:46:05 +03:00
jpekkila
b0162bdea0 Added DSL versions of the basic derivative operations (placeholder) 2019-10-02 21:09:36 +03:00
jpekkila
72af2cf31d acc is now built with cmake instead of the old build script. This was mainly done to fix compilation on Puhti where I had problems linking flex even though it is available. As an added bonus the code is now safer to build since all dependencies are now rigorously tracked by cmake and make, and f.ex. change in the compiler now forces also the whole library to be rebuilt (which is the behaviour we want) 2019-09-24 16:57:19 +03:00
Miikka Vaisala
5cc2d613be Changed realpath to readlink -f for better combatibility in different systems. 2019-09-23 15:35:09 +08:00
jpekkila
3bb6ca1712 The Astaroth Code Compiler (acc) is now built with cmake. Additionally, make is now used to generate the CUDA headers from DSL sources. The headers are also properly regenerated whenever a DSL file has been changed. With this commit, the DSL is now seamlessly integrated to the library and we no longer need complicated scripts to figure out the correct files. The current workflow for using custom DSL sources is to pass the DSL module directory to cmake, f.ex. cmake -DDSL_MODULE_DIR=/acc/mhd_solver. Note that the path must be absolute or then given relative to the CMakeLists.txt directory. f.ex cd build && cmake -DDSL_MODULE_DIR=../acc/mhd_solver does not work. CMake then takes all DSL files in that directory and handles the rest. 2019-09-18 17:28:29 +03:00
Miikka Väisälä
55e4357d77 compile_acc.sh edited online with Bitbucket. Corrections to --help. 2019-09-16 02:16:15 +00:00
jpekkila
4ce51ea60e Now the generated CUDA header files are completely local (placed in the build directory) instead of depending on some predefined directory structure. This allows users to swap between build directories without having to recompile. 2019-09-12 20:11:21 +03:00
jpekkila
18df9e5579 Added a parameter for passing a custom include dir to compile_acc 2019-09-02 20:15:27 +03:00
jpekkila
230230ead9 Added a script for preprocessing the device files. Useful for inspecting whether the DSL code is generated correctly. 2019-08-27 18:15:30 +03:00
jpekkila
5b7408eb55 User config param overhaul complete, works. If I haven't missed anything, all fields and user parameters, and everything related to simulation can now be declared with the DSL. The only thing that you need to do is to fill the declared symbols with data, like with OpenGL and GLSL. 2019-08-19 18:43:16 +03:00
jpekkila
51cf1f1068 The C header is now generated from the DSL, stashing the changes just to be sure since I might overwrite something when updating the compilation scripts to work with this new scheme 2019-08-19 18:19:28 +03:00
jpekkila
5432d20b1b Removed a depreceated auto-optimization script. The optimization is done during acInit() at runtime instead 2019-08-07 16:25:03 +03:00
jpekkila
c38218da3b SRUN_COMMAND has to be exported for it to be available in autotest.sh 2019-08-07 16:22:55 +03:00
jpekkila
abf4815174 Merge branch 'master' into cmakelist_rewrite_and_C_API_conformity_07-26 2019-08-06 17:53:53 +03:00
jpekkila
13c1bf272b Removed old/outdated/unused scripts 2019-08-06 17:44:43 +03:00
jpekkila
1e9ac6edf0 Added comments to the autotesting script 2019-08-06 17:43:39 +03:00
jpekkila
614a0a1198 Added an autotesting script which tests for hydro, magnetic and mhd. Currently hydro and magnetic fail but full mhd works. This indicates that the equations in the hydro and magnetic conditionals have been changed but the autotests have not been updated to correspondingly 2019-08-06 17:40:02 +03:00
jpekkila
a3359b0d04 CONFIG_PATH is now supplied by ac_mkbuilddir. While using would be a bit more idiomatic, ASTAROTH_CONF_PATH is probably safer since ac_mkbuilddir.sh does the copying and knows for sure what the correct path is. 2019-07-29 15:55:27 +03:00
jpekkila
9796d5e981 The previous commit to ac_mkbuilddir.sh was not enough. Added a line that makes the script to stop if any of the commands fail to avoid cluttering the base astaroth directory. In my case the issue was permission denied when trying to create a project directory in /MYSCRATCH (system root directory) instead of MYSCRATCH (astaroth/MYSCRATCH) 2019-07-29 15:35:51 +03:00
jpekkila
7b5a02bf0f The previous commit to ac_mkbuilddir.sh was not enough. Added a line that makes the script to stop if any of the commands fail to avoid cluttering the base astaroth directory. In my case the issue was permission denied when trying to create a project directory in /MYSCRATCH (system root directory) instead of MYSCRATCH (astaroth/MYSCRATCH) 2019-07-29 15:35:17 +03:00
jpekkila
abe4dfb4fe ac_mkbuilddir.sh did not stop if the directory specified by the user did not exist. This lead to messing up the base astaroth directory with temporary cmake files. Added -p flag to mkdir to create parent directories if necessary to avoid this 2019-07-29 15:22:44 +03:00
jpekkila
5801144336 ac_mkbuilddir.sh did not stop if the directory specified by the user did not exist. This lead to messing up the base astaroth directory with temporary cmake files. Added -p flag to mkdir to create parent directories if necessary to avoid this 2019-07-29 15:21:15 +03:00
jpekkila
7c256d3bb3 Added a comment about a redundant variable 2019-07-26 15:13:19 +03:00
jpekkila
78aba6428e Updated the copyright years throughout the project 2019-07-16 14:28:32 +03:00
jpekkila
0a030742f9 Added support for calling compile_acc.sh with custom headers 2019-07-03 19:06:39 +03:00
jpekkila
7abb959828 Overhaul to the user-defined parameters done: All logical switches, parameters and vertex buffer handles are now defined in a single header file (the default location is acc/mhd_solver/stencil_defines.h). This header is used when preprocessing the DSL sources and is linked to the include/ directory when calling scripts/compile_acc.sh. astaroth.h is now used for configuring internal stuff only and should not be modified by users 2019-07-03 19:01:16 +03:00
jpekkila
b8869bb848 Linked the defines used by the DSL and astaroth.h. Now f.ex. LENTROPY has to be set only once in acc/mhd_solver/stencil_defines.h and it is propagated throughout the whole project. The name for stencil_defines.h is not final and may change if I come up with a better name. In any case, there is now a standard header associated with each DSL solver where the user can set defines, and declare arrays (VTXBUF_LNRHO) and device constants (uniforms). 2019-07-01 18:37:56 +03:00
jpekkila
0e48766a68 Added Astaroth 2.0 2019-06-14 14:19:07 +03:00