4ce51ea60eNow 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.
jpekkila
2019-09-12 20:11:21 +03:00
e351902dc0Fixed a failed fix.
jpekkila
2019-09-12 16:41:11 +00:00
53230c9b61Added errorchecking and more flexibility the the new acDeviceLoadScalarArray function
jpekkila
2019-09-05 19:56:04 +03:00
71695b7c12Added WIP stuff to the API specification
jpekkila
2019-09-05 19:55:16 +03:00
263a1d23a3Added a function for loading ScalarArrays to the GPU
jpekkila
2019-09-05 16:35:08 +03:00
88a8198810Revising the initial condition into a self-similar profile.
Miikka Vaisala
2019-09-03 18:42:14 +08:00
65d69027beFound an error in the gravitational constant. Now corrected!
Miikka Vaisala
2019-09-03 17:48:56 +08:00
bd55c42fe5Hann-windowing for the sink
Miikka Vaisala
2019-09-03 16:38:16 +08:00
dac509241fCleanup, comments and a new template.
Miikka Vaisala
2019-09-03 15:24:58 +08:00
6560ab04bfImprovement to the initial velocity profile.
Miikka Vaisala
2019-09-03 12:33:44 +08:00
b3ed0937feChanges according to JP's comments in the Issue #8.
Miikka Vaisala
2019-09-03 10:19:22 +08:00
cdb504e772Added a proof-of-concept helical forcing which uses the newly introduced ScalarArrays for reading profiles. Not extensively tested.
jpekkila
2019-09-02 21:29:07 +03:00
9e57aba9b7New 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)
jpekkila
2019-09-02 21:26:57 +03:00
18df9e5579Added a parameter for passing a custom include dir to compile_acc
jpekkila
2019-09-02 20:15:27 +03:00
ac92123842Made a note about a bug in 083ff59 , just to remember that code is now more correct.
Miikka Vaisala
2019-09-02 18:40:38 +08:00
f3a36ec276Moved definition location of AC_nx_min etc. Otherwide DSL does not compile the code correctly!!!
Miikka Vaisala
2019-09-02 18:29:16 +08:00
b4cd92da0cNow compiles and runs.
Miikka Vaisala
2019-09-02 14:47:58 +08:00
02ac6c956fDesperately trying to port the new changes of DSL.
Miikka Vaisala
2019-09-02 14:04:27 +08:00
6eeb225924Merge branch 'master' into sink_20190723
Miikka Vaisala
2019-09-02 11:58:48 +08:00
c0ba08133dMerged in dsl_feature_completeness_2019-08-27_V2 (pull request #7)
jpekkila
2019-09-02 02:41:13 +00:00
083ff59ed1config templates over summer project.
JackHsu
2019-08-30 15:16:09 +08:00
be9ec6293bMerged in dsl_parameter_overhaul_2019-08-19 (pull request #6)
jpekkila
2019-08-30 02:13:35 +00:00
bd549f5d28Revised the publications section in the API & DSL specification
jpekkila
2019-08-29 15:14:40 +03:00
f77ec836c7Added a WIP API, DSL specification and user manual
jpekkila
2019-08-28 21:06:05 +03:00
6ea02fa28eDSL 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.
jpekkila
2019-08-27 18:19:20 +03:00
230230ead9Added a script for preprocessing the device files. Useful for inspecting whether the DSL code is generated correctly.
jpekkila
2019-08-27 18:15:30 +03:00
20138263f4The 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).
jpekkila
2019-08-27 17:36:33 +03:00
0616f89385Could be used in some documentation demonstrating domain decomposition.
Miikka Vaisala
2019-08-27 11:06:37 +08:00
9fa39b66fcReverted an accidentally modified astaroth.conf to the same version as in master
jpekkila
2019-08-26 18:33:50 +03:00
022e46f2e7Merge branch 'master' into dsl_parameter_overhaul_2019-08-19
jpekkila
2019-08-23 13:13:57 +03:00
7f47bf5bfcshorter time steps to turn on accretion (due to no forcing), and comment for unit_length.
JackHsu
2019-08-22 16:46:42 +08:00
a81bc22fb6Write now sink infor to time series. Also a bug cerrection for sink switch.
Miikka Vaisala
2019-08-22 11:50:31 +08:00
4414125a08config file for a six hour stable run.
JackHsu
2019-08-22 11:15:03 +08:00
fa127bfd4eAdded time series plot for accetion.
JackHsu
2019-08-22 10:31:49 +08:00
f6040f89dcAdded acPrintMeshInfo for printing all mesh parameters
jpekkila
2019-08-21 16:24:48 +03:00
d52e002e5dMade Astaroth Standalone a library component (still works as before but can be included in other projects which need f.ex. autotesting)
jpekkila
2019-08-21 16:18:48 +03:00
39dcda4a04Made warnings about unused functions go away (this is intended functionality and not all programs will use all types of device constants, thus unnecessary warning)
jpekkila
2019-08-21 14:28:46 +03:00
7ac8c29b56Now visualization prints time-series for accretion. Corrections to output.
JackHsu
2019-08-21 17:20:15 +08:00
5d2b658fb0Autoformatted the DSL files
jpekkila
2019-08-20 18:41:26 +03:00
73d393e419Changed order for linking the MPI library to work around cmake error on CMP0004
jpekkila
2019-08-20 18:40:38 +03:00
5b686bc659Fixed on/off switch for forcing and accretion, now forcing only happens for first 1000 steps (currently hard-coded), and accretion only happen after 1000 steps.
JackHsu
2019-08-20 23:12:42 +08:00
eda83e5807Added on/off switch for forcing and accretion. Now both set to take effect in 1000 steps.
JackHsu
2019-08-20 12:08:06 +08:00
5b7408eb55User 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.
jpekkila
2019-08-19 18:43:16 +03:00
51cf1f1068The 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
jpekkila
2019-08-19 18:19:28 +03:00
d801ebdd41Now parameters and vertexbuffers (fields) can be declared with the DSL only. TODO: translation from the DSL header to C
jpekkila
2019-08-19 17:35:03 +03:00
bcdd827a4fAdded a proper declarations for all user-specified uniform. Note: built-in uniforms are not correctly translated into CUDA
jpekkila
2019-08-19 17:05:56 +03:00
0208d55e4eMoved STENCIL_ORDER and NGHOST out of user-defined parameter as these are actually internal defines used to configure the built-in functions. Additionally, renamed all explicitly declared uniforms from dsx -> AC_dsx in the DSL in preparation for having clear connection between DSL uniforms and the library parameter handles created by the user (AcRealParam etc)
jpekkila
2019-08-19 16:40:47 +03:00
c98b74563cAdded a comment
jpekkila
2019-08-19 16:18:24 +03:00
b316e51267Added preliminary code for generating C headers with the DSL
jpekkila
2019-08-19 16:16:26 +03:00
787363226bAdded functions for loading int, int3, scalar and vector constants to the device layer (acDeviceLoad...Constant)
jpekkila
2019-08-19 15:28:16 +03:00
41805dcb68Added some error checking for the case where user supplies an incomplete meshinfo to acDeviceLoadMeshInfo
jpekkila
2019-08-19 15:17:51 +03:00
598799d7c3Added a new function to the device interface: acDeviceLoadMeshInfo
jpekkila
2019-08-19 15:14:00 +03:00
e89897985eBattled with math.h and cmath. We probably should move from C standard libraries to C++ ones internally (in places which are not visible via the interface)
jpekkila
2019-08-19 14:02:30 +03:00
9a1a6fef17modified the sink_mass initial value to make it stable.
JackHsu
2019-08-19 15:38:35 +08:00
6c50c0a40esink effetc in equations.
JackHsu
2019-08-15 19:23:26 +08:00
a5bb56873aNow resets accretion buffer at every step.
JackHsu
2019-08-15 17:51:39 +08:00
6d4d53342eRemoved old comments
jpekkila
2019-08-15 11:14:52 +03:00
aa45ce04deMade the linear algebra functions used in forcing.cc static to avoid collisions with the functions defined in math_utils.h
jpekkila
2019-08-15 11:09:40 +03:00
36fea70560Moved basic built-in functions for vector operations to math_utils.h from integration.cuh so that they are shared with the CPU and GPU
jpekkila
2019-08-15 11:04:22 +03:00
c7df5be068tried new accretion profile, and added some to-do's.
JackHsu
2019-08-14 18:43:22 +08:00
56c51e5315fixed the undefined error in compilation.
JackHsu
2019-08-13 18:36:12 +08:00
0587d08b01Had some rough draft of accretion criterion.
JackHsu
2019-08-13 18:31:57 +08:00
927a5e74f2Made accretion time-dependent now, need to come up with better accretion crition than truelove.
JackHsu
2019-08-13 18:06:29 +08:00
ff59431d65Added modularized term for accretion range, which is some wave function, and module that'll allow time-dependent accretion.
JackHsu
2019-08-13 17:43:52 +08:00
00f92f25faMerge branch 'master' into sink_20190723
Miikka Vaisala
2019-08-13 14:04:50 +08:00
d79dd428e7Corrections to the previous.
Miikka Vaisala
2019-08-13 14:03:36 +08:00
870eb32bb3Added some preprocessing directives for accretion
Miikka Vaisala
2019-08-13 13:51:46 +08:00
d5b2e5bb42Added placeholders for new built-in variables in the DSL. Also overloads to DCONST_INT etc. Naming still pending and old DCONST_REAL etc calls still work.
jpekkila
2019-08-12 14:05:35 +03:00
8c7176d702Completed function to sum VTXBUF_ACCRETION and updates mass of sink particle. Needs further work with crashing problem.
JackHsu
2019-08-12 19:02:22 +08:00