jpekkila
0e0ace3970
Pure hydro now works with autotests
2019-08-06 18:07:29 +03:00
jpekkila
5870081645
Split kernels.cuh into bounconds.cuh, integration.cuh and reductions.cuh
2019-08-06 17:50:41 +03:00
jpekkila
405fa4d6d6
Moved old kernels to kernels/deprecated
2019-08-06 17:46:52 +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
e4d9898f35
Added improvements to autotest.cc
2019-08-06 17:40:27 +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
f3de2fa03c
Made globalVertexIdx available during preprocessing. NOTE: potentially dangerous. globalVertexIdx should never be used for reading data from the vertex buffers.
2019-08-05 15:03:02 +03:00
jpekkila
62100b1140
Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth
2019-07-30 14:28:25 +03:00
jpekkila
69deef66fe
Added sum reduction. NOTE: Scalar sum does not pass the automated test but vector sum does. I couldn't see anything wrong with the code itself and I strongly suspect that the failures are caused by loss of precision due to summing a huge amount of numbers of different magnitudes. However I'm not yet completely sure. Something like the Kahan summation algorithm might be useful if the errors are really caused by fp arithmetic.
2019-07-30 14:28:18 +03:00
jpekkila
fdc1e7333c
Added macros for getting int3 and AcReal3 device constants from within kernels (and DSL).
2019-07-30 09:10:06 +00: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
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
0282f45077
Forgot extern C
2019-07-23 16:11:17 +03:00
jpekkila
e5172e2a9a
Moved more stuff out of astaroth.h to astaroth_defines.h. I'm not particularly sure what's the best way to arrange the include files. These changes are just for readability so it's very safe to move things around though.
2019-07-23 16:06:54 +03:00
jpekkila
c98e730397
Added extern C to the include headers
2019-07-23 15:02:54 +03:00
jpekkila
c0774bc3b8
Added overloads for getting and setting various parameters. However, the compiler mangles the names which is not good for a cross-platform library so the functions are commented out for now. Sadly _Generic, which would solve everything, from C11 is not available in C++.
2019-07-23 14:56:41 +03:00
jpekkila
97d5b2e04a
Formatting
2019-07-23 14:39:36 +03:00
jpekkila
323d4e3b31
Replaced all calls to AC_VTXBUF_IDX to acVertexBufferIdx etc in all files
2019-07-23 14:37:28 +03:00
jpekkila
27f4d1e4ff
Added actual functions for getting size of the vertex buffers etc. The previously used macros are now deprecated. Type safety is the major benefit of using functions instead of definitions.
2019-07-23 13:44:43 +03:00
jpekkila
fee03b7149
Moved some device limits used only during auto-optimization from astaroth.h to device.cu
2019-07-22 19:54:46 +03:00
jpekkila
85883dbc38
NUM_INT_PARAM_TYPES is now NUM_INT_PARAMS etc, replaced these throughout the project
2019-07-22 19:53:45 +03:00
jpekkila
074eae0bae
Added definitions of AC_GEN_STR and AC_GEN_ID to host_memory.h and .cc since they are no longer available from astaroth.h
2019-07-22 19:49:29 +03:00
jpekkila
f74df5339f
Cleaned up the include directory: removed all unnecessary stuff and moved common definitions to a separate file
2019-07-22 19:46:45 +03:00
jpekkila
84af939e5d
The default benchmark is now more suitable for timing multi-GPU performance
2019-07-22 13:08:33 +03:00
jpekkila
01a013f3bc
Added WARNCHK_CUDA_ALWAYS to errchk.h
2019-07-22 13:05:08 +03:00
jpekkila
a950be99f2
Streams now created with priority (all streams have the same priority by default)
2019-07-22 13:04:04 +03:00
jpekkila
168b3c4d8b
Peer access to neighboring GPUs is now enabled during initialization
2019-07-22 13:02:19 +03:00
jpekkila
0db61dd411
Disabled the project-wide maxrregcount flag by default since it is only beneficial for resource-heavy kernels. The maximum register count should be defined per kernel instead if needed.
2019-07-22 12:58:28 +03:00
Miikka Vaisala
a8caad1ade
A draft of the sink particle plan.
2019-07-18 17:34:09 +08:00
Miikka Vaisala
8f46fc1c64
Documentation for the planned sink particle property.
2019-07-18 16:20:00 +08:00
jpekkila
eb589def71
Added some additional warning flags for gcc. Disabled them by default until I get the new warnings fixed.
2019-07-18 08:34:52 +03:00
Miikka Vaisala
074fb26df9
Added TODO_SINK comments.
...
The comments were written to map out what essential part are needed for
resolving a system with graviating sink particles. No changes to the code
itself.
2019-07-17 14:05:48 +08:00
jpekkila
78aba6428e
Updated the copyright years throughout the project
2019-07-16 14:28:32 +03:00
jpekkila
93fc121f5c
Introduced versions of the asynchronous functions which take a stream as a parameter
2019-07-10 15:49:21 +03:00
jpekkila
bd98eaf9f7
Added a stream to loadDeviceConstant call.
2019-07-10 15:29:54 +03:00
jpekkila
b08d5b26f5
cudaMemcpyToSymbol -> cudaMemcpyToSymbolAsync
2019-07-10 15:05:57 +03:00
jpekkila
976bf05c8d
Wrong scope for num_iterations in the last commit, fixed
2019-07-10 14:37:32 +03:00
jpekkila
866ec8a192
Removed some old hack I used for benchmarking a while back
2019-07-10 14:34:05 +03:00
jpekkila
9af7193ffb
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 10:24:28 +00:00
jpekkila
4eb1f74140
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 10:12:17 +00:00
jpekkila
a0d4f574b1
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 10:07:01 +00:00
jpekkila
22b30d8c78
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 09:46:29 +00:00
jpekkila
f38456757e
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 09:42:14 +00:00
jpekkila
897a5c820c
Revert "bitbucket-pipelines.yml edited online with Bitbucket"
...
This reverts commit 18e7a727c5
.
2019-07-10 12:34:50 +03:00
jpekkila
499bc1966f
Revert "bitbucket-pipelines.yml edited online with Bitbucket"
...
This reverts commit b27f598a86
.
2019-07-10 12:34:36 +03:00
jpekkila
b27f598a86
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 09:28:30 +00:00
jpekkila
18e7a727c5
bitbucket-pipelines.yml edited online with Bitbucket
2019-07-10 09:20:23 +00:00
jpekkila
e14e19774d
Added a synchronization to benchmark.cc that is now required when calling acIntegrateStep
2019-07-09 19:03:45 +03:00
jpekkila
8cc9281045
Double versions of some sqrt, cos and sin were used in model_rk3.cc instead of the long double versions, fixed.
2019-07-09 19:03:15 +03:00