Commit Graph

732 Commits

Author SHA1 Message Date
jpekkila
aa6c2b23d9 Built-in parameters are now added during compilation instead of defining them in CUDA sources. IMPORTANT: DCONST macro should no longer be used when accessing built-in variables. Now all uniforms are consistently accessed with the handle only 2019-10-07 17:39:27 +03:00
jpekkila
3fe7b62d3e Removed the old accrevision directory 2019-10-07 17:37:09 +03:00
jpekkila
6560be7056 Moved the old mhd solver to mhd_solver_DEPRECATED and replaced it with the new stencil_kernel.ac file 2019-10-07 17:36:30 +03:00
jpekkila
8c1e603a98 On second thought, let's revert the changes in mhd_solver and use the file I already modified instead of doing the same changes twice 2019-10-07 17:29:53 +03:00
jpekkila
16c8b1e748 Autoformatting 2019-10-07 17:17:58 +03:00
jpekkila
c8e0586b60 Renamed the old .sas and .sdh files to regular headers and added #pragma once. 2019-10-07 17:17:26 +03:00
jpekkila
ee4ff730f6 Deprecated inv_dsx and friends from utils/config_loader.c since those are not defined in the case where the user does not include stdderiv.h 2019-10-07 17:01:21 +03:00
jpekkila
66cfcefb34 More error checks 2019-10-07 17:00:23 +03:00
jpekkila
48c6174319 Added error checks to stdderiv.h 2019-10-07 16:59:58 +03: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
0e1d1b9fb4 Some optimizations for DSL compilation. Also a new feature: Inplace addition and subtraction += and -= are now allowed 2019-10-07 16:33:24 +03:00
jpekkila
f7c079be2a Removed everything unnecessary from integration.cuh. Now all derivatives etc are available in a standard library header (acc/stdlib/stdderiv.h) 2019-10-07 15:47:33 +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
6ed3b7978d Updated the name of the generated header 2019-10-07 15:44:21 +03:00
jpekkila
d8d0032972 Updated CMakeLists.txt with the correct dependencies 2019-10-07 15:43:46 +03:00
jpekkila
d97f5b59ba Rewrote the Astaroth DSL compiler. More information and cleanup in the next commits. 2019-10-07 15:43:20 +03:00
jpekkila
6665d30983 Merge branch 'acc_rewrite_20191002' of https://bitbucket.org/jpekkila/astaroth into acc_rewrite_20191002 2019-10-03 02:36:04 +03:00
jpekkila
a651420e8d WIP changes 2019-10-03 02:35:48 +03:00
jpekkila
a02fa349ce Commented out a grammar rule that was ambiguous 2019-10-03 01:52:56 +03:00
jpekkila
b0162bdea0 Added DSL versions of the basic derivative operations (placeholder) 2019-10-02 21:09:36 +03:00
jpekkila
cc3c2eb926 Added WIP stuff for the Astaroth DSL compiler rewrite. Once this branch is finished only a single source file will be needed (file ending .ac). This revision is needed to decouple absolutely all implementation-specific stuff (f.ex. AC_dsx) from the core library and make life easier for everyone. The plan is to provide a standard library header written in the DSL containing the derivative operations instead of hardcoding them in the CUDA implementation. 2019-10-02 21:03:59 +03:00
Miikka Väisälä
15cc71895d Merged in io_improvement_20190924 (pull request #11)
Io improvement 20190924
2019-10-02 13:12:25 +00:00
Miikka Vaisala
f8e82d41af Can now set the endtime for simulation, instead of step number. 2019-10-02 15:09:26 +08:00
Miikka Vaisala
79fe634a84 Tested and works. Now it is possible to continue the simulatiom with a specific file number.
Next task: move I/O to src/utils/
2019-10-02 14:30:13 +08:00
Miikka Vaisala
0dbbcd22d5 Tested and works. We can now continue simulation from the chose snapshot number. 2019-10-02 14:09:47 +08:00
Miikka Vaisala
1b0e9803b0 Compiles and runs again.
Now to actual testing. Can we read and cotinue from and old file?
2019-10-02 13:52:38 +08:00
Miikka Vaisala
54d89f7a46 In principle should read a specifield old run.
Needs still testing and compilation.
2019-10-02 11:37:51 +08:00
Miikka Vaisala
d5b6f3b48e Drafted read_mesh() to read existing binary data with at a specific step number. 2019-10-02 11:16:30 +08:00
Miikka Vaisala
cbbfd941f8 Merge branch 'master' into io_improvement_20190924 2019-10-02 10:47:51 +08:00
jpekkila
7d76250f70 Updated stencil_process.sps with the revised syntax for real literals 2019-10-01 21:20:28 +03:00
jpekkila
a0037d1a44 Modified the syntax of writing real-valued literals with the DSL. Casts are not needed any more: f.ex. 1.0 is implicitly cast to AcReal. The syntax is now more consistent: reals must be explicitly written as a.b, where a and b are some integers. IMPORTANT: Previously the shorthands a. and .b were allowed, not anymore. Using those shorthands will result in a compilation error 2019-10-01 21:14:33 +03:00
jpekkila
b4a6ddb074 Preprocessing writes the intermediate output to *.preprocessed files. This makes debugging various DSL syntax errors much easier since the line number in the error corresponds to the line numbers in these files. 2019-10-01 21:08:38 +03:00
jpekkila
d4eaee7d47 First pass of the Astaroth API specification complete 2019-10-01 18:27:37 +03:00
jpekkila
9a16c79ce6 Renamed all references to uniforms to f.ex. loadScalarConstant -> loadScalarUniform (for consistency with the DSL) 2019-10-01 17:12:20 +03:00
jpekkila
98631a4e40 API specification formatting 2019-10-01 16:33:42 +03:00
jpekkila
20c2069231 Made the utility library more consistent with the core library 2019-10-01 15:45:56 +03:00
jpekkila
19b16eecc8 Added an example for creating arbitrary projects, see acc/test_solver and src/exampleproject. Note: make sure that dt is calculated adequately and that all parameters are defined properly (see src/exampleproject/simulation.cc) 2019-10-01 15:33:26 +03:00
jpekkila
5a45fe11a8 Added the utility library itself (linked with target astaroth_utils) 2019-10-01 15:23:39 +03:00
jpekkila
adee6b0097 Added the new utility library as a build option 2019-10-01 15:22:25 +03:00
jpekkila
2c8c49ee24 Removed or updated some old .gitignore files 2019-09-24 17:50:41 +03:00
jpekkila
e4eea7db83 Added support for Volta GPUs 2019-09-24 17:19:45 +03:00
jpekkila
62fa95ca0d The issue on Puhti was that it was missing a static flex library which would have provided the function yywrap. Fixed by removing the static library dependency and adding option noyywrap to the lexer generator file 2019-09-24 17:19:19 +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
jpekkila
a91da8388c Better code style in some of the acc source files 2019-09-24 15:50:20 +03:00
Miikka Vaisala
d7bd92ed1b Data read and written now with respect to actual AcReal properties. This will save space in the future. 2019-09-24 16:54:04 +08:00
Miikka Vaisala
d2e13d0139 Determine endianness. 2019-09-24 12:52:52 +08:00
Miikka Väisälä
88c3cdf0a5 README.md edited online with Bitbucket 2019-09-24 03:11:09 +00:00
Miikka Vaisala
fb34efdbb3 New running instructions.
After the merge, the old istructions are now deprecated. I still leave them here for making the README revision easier later.
2019-09-24 11:08:10 +08:00
jpekkila
cab64029df Merged in config_selection_as_runtime_option_20190918 (pull request #9)
Config selection as runtime option 20190918 (includes branch acc_cmake_integration_20190918)
2019-09-24 03:01:46 +00:00
jpekkila
bf34ec006a Merge branch 'master' into config_selection_as_runtime_option_20190918 2019-09-23 17:35:11 +03:00