Commit Graph

472 Commits

Author SHA1 Message Date
jpekkila
24f46324e0 Deprecated the old style of selecting a config file (was a compile-time parameter). The config file is now a runtime parameter and can be changed without recompilation. Usage: ./ac_run -s <path/to/config/file/relative/to/ac_run/path>. config/astaroth.conf is selected by default if the custom path is not supplied to ac_run. 2019-09-18 19:22:15 +03: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
jpekkila
bce3e4de03 Made warnings about unused device functions go away 2019-09-18 16:58:04 +03:00
jpekkila
eefd60983a 3rd party dependencies do not have to be fetched manually any more, cmake make will do that automatically if needed 2019-09-18 09:06:03 +03:00
Miikka Väisälä
4b6ce26f8a Merged in sink_20190723 (pull request #8)
Sink 20190723
2019-09-17 15:14:34 +00:00
jpekkila
d2057b8f5a Added a suggestion for writing out the configuration in simulation.cc 2019-09-17 18:12:43 +03:00
jpekkila
9b0be40b98 Auto-formatted 2019-09-17 17:36:28 +03:00
Miikka Vaisala
af254257a2 Back to defualts in renderer.cc 2019-09-16 12:38:17 +08:00
Miikka Vaisala
297b788ce7 Small corrections to keep the defaults in place. 2019-09-16 12:33:56 +08:00
Miikka Vaisala
4d7cb0184c Corrected type definition problems. 2019-09-16 12:12:10 +08:00
Miikka Vaisala
f5733e5144 Turnin LSINK off by default to prepare for merge to master. 2019-09-16 11:15:44 +08:00
Miikka Vaisala
42f92c7d49 Merge branch 'master' into sink_20190723 2019-09-16 10:57:15 +08: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
ef292c5e90 Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2019-09-12 20:11:27 +03: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
e351902dc0 Fixed a failed fix. 2019-09-12 16:41:11 +00:00
jpekkila
bfd00f12d1 API_specification_and_user_manual.md edited online with Bitbucket. Syntax fixes. 2019-09-12 16:39:26 +00:00
jpekkila
e8745e282a Added the library API specification 2019-09-12 19:34:43 +03:00
jpekkila
021e5f3774 Renamed NUM_STREAM_TYPES -> NUM_STREAMS 2019-09-12 15:48:38 +03:00
jpekkila
53230c9b61 Added errorchecking and more flexibility the the new acDeviceLoadScalarArray function 2019-09-05 19:56:04 +03:00
jpekkila
71695b7c12 Added WIP stuff to the API specification 2019-09-05 19:55:16 +03:00
jpekkila
263a1d23a3 Added a function for loading ScalarArrays to the GPU 2019-09-05 16:35:08 +03:00
Miikka Vaisala
88a8198810 Revising the initial condition into a self-similar profile. 2019-09-03 18:42:14 +08:00
Miikka Vaisala
65d69027be Found an error in the gravitational constant. Now corrected! 2019-09-03 17:48:56 +08:00
Miikka Vaisala
bd55c42fe5 Hann-windowing for the sink 2019-09-03 16:38:16 +08:00
Miikka Vaisala
dac509241f Cleanup, comments and a new template. 2019-09-03 15:24:58 +08:00
Miikka Vaisala
6560ab04bf Improvement to the initial velocity profile. 2019-09-03 12:33:44 +08:00
Miikka Vaisala
b3ed0937fe Changes according to JP's comments in the Issue #8. 2019-09-03 10:19:22 +08:00
jpekkila
cdb504e772 Added a proof-of-concept helical forcing which uses the newly introduced ScalarArrays for reading profiles. Not extensively tested. 2019-09-02 21:29:07 +03:00
jpekkila
9e57aba9b7 New feature: ScalarArray. ScalarArrays are read-only 1D arrays containing max(mx, max(my, mz)) elements. ScalarArray is a new type of uniform and can be used for storing f.ex. forcing profiles. The DSL now also supports complex numbers and some basic arithmetic (exp, multiplication) 2019-09-02 21:26:57 +03:00
jpekkila
18df9e5579 Added a parameter for passing a custom include dir to compile_acc 2019-09-02 20:15:27 +03:00
Miikka Vaisala
ac92123842 Made a note about a bug in 083ff59 , just to remember that code is now more correct. 2019-09-02 18:40:38 +08:00
Miikka Vaisala
f3a36ec276 Moved definition location of AC_nx_min etc. Otherwide DSL does not compile the code correctly!!! 2019-09-02 18:29:16 +08:00
Miikka Vaisala
b4cd92da0c Now compiles and runs.
PLEASE NOTE THAT FLAGS NEED TO BE SET SEPARATELY IN simulation.cc and renderer.cc FOR LSINK and LFORCING!
2019-09-02 14:47:58 +08:00
Miikka Vaisala
02ac6c956f Desperately trying to port the new changes of DSL.
Still work to do.
2019-09-02 14:04:27 +08:00
Miikka Vaisala
6eeb225924 Merge branch 'master' into sink_20190723
Hopefully the merge isssues were resolved.
2019-09-02 11:58:48 +08:00
jpekkila
c0ba08133d Merged in dsl_feature_completeness_2019-08-27_V2 (pull request #7)
Dsl feature completeness 2019 08 27 V2

Approved-by: Miikka Väisälä <mvaisala@asiaa.sinica.edu.tw>
2019-09-02 02:41:13 +00:00
JackHsu
083ff59ed1 config templates over summer project. 2019-08-30 15:16:09 +08:00
jpekkila
be9ec6293b Merged in dsl_parameter_overhaul_2019-08-19 (pull request #6)
DSL user parameter overhaul
2019-08-30 02:13:35 +00:00
jpekkila
bd549f5d28 Revised the publications section in the API & DSL specification 2019-08-29 15:14:40 +03:00
jpekkila
5a878b285c Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2019-08-28 21:06:17 +03:00
jpekkila
f77ec836c7 Added a WIP API, DSL specification and user manual 2019-08-28 21:06:05 +03:00
jpekkila
6ea02fa28e DSL now 'feature complete' with respect to what I had in mind before the summer. Users can now create multiple kernels and the library functions are generated automatically for them. The generated library functions are of the form acDeviceKernel_<name> and acNodeKernel_<name>. More features are needed though. The next features to be added at some point are 1D and 2D device constant arrays in order to support profiles for f.ex. forcing. 2019-08-27 18:19:20 +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
20138263f4 The previous attempt (dsl_feature_completeness_2019-08-23) to enable arbitrary kernel functions was a failure: we get significant performance loss (25-100%) if step_number is not passed as a template parameter to the integration kernel. Apparently the CUDA compiler cannot perform some optimizations if there is a if/else construct in a performance-critical part which cannot be evaluated at compile time. This branch keeps step_number as a template parameter but takes rest of the user parameters as uniforms (dt is no longer passed as a function parameter but as an uniform with the DSL instead). 2019-08-27 17:36:33 +03:00
Miikka Vaisala
0616f89385 Could be used in some documentation demonstrating domain decomposition. 2019-08-27 11:06:37 +08:00
jpekkila
9fa39b66fc Reverted an accidentally modified astaroth.conf to the same version as in master 2019-08-26 18:33:50 +03:00
jpekkila
022e46f2e7 Merge branch 'master' into dsl_parameter_overhaul_2019-08-19 2019-08-23 13:13:57 +03:00
JackHsu
5617eaac8a stable disk-like model. 2019-08-23 16:49:51 +08:00
JackHsu
833319ad01 constant density keplerian velocity. 2019-08-23 15:23:48 +08:00