jpekkila
fb0610c1ba
Intermediate changes to the revised node interface
2019-07-31 20:04:39 +03:00
jpekkila
0a5d025172
Formatting
2019-07-31 19:08:16 +03:00
jpekkila
9b7f4277fc
Fixed errors in device.cu
2019-07-31 19:07:26 +03:00
jpekkila
49026bd26b
Revised device interface done
2019-07-31 18:46:41 +03:00
jpekkila
5be775dbff
Various intermediate changes
2019-07-31 17:48:48 +03:00
jpekkila
15ad7182db
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-31 17:07:03 +08:00
jpekkila
f7bd84af46
Added macros for getting int3 and AcReal3 device constants from within kernels (and DSL).
2019-07-31 17:07:02 +08:00
jpekkila
efd9d54fef
Stashing WIP changes (interface revision) s.t. I can continue work on a different machine
2019-07-30 14:34:44 +03:00
jpekkila
1ceb6739ae
Merge branch 'master' into node_device_interface_revision_07-23
2019-07-30 14:31:33 +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
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
JackHsu
d1ca196ccd
Added declaration of constants for sink particle. Still in the process of understanding how values are passed, but I've realized how physical equations are defined in stencil_process.sps and in principle I can replicate that for sink particle(which will mostly be gravity).
2019-07-29 13:18:24 +08:00
jpekkila
c9fafe41e5
Tidied the CMakeLists, moved stuff to more logical places and added comments. Also tested that ALTER_CONF=ON still works
2019-07-26 15:12:55 +03:00
jpekkila
5044228967
The text editor I use to edit stuff remotely is a complete piece of &^$%$, does not synchronize the files correctly. This commit fixes the issues introduced in the last commit
2019-07-26 14:22:22 +03:00
jpekkila
b90d261e89
Removed an unnecessary include from the root CMakeLists.txt
2019-07-26 14:18:11 +03:00
jpekkila
818893a0ea
Fixed stray comma in CUDA_ARCH_FLAGS
2019-07-26 14:10:17 +03:00
JackHsu
89e6f8673f
Made corrections to some formatting issues.
2019-07-26 16:53:39 +08:00
JackHsu
9d625688ac
Apparently my edit this time was unsuccessful, tons of error messeages showed up when I ran "make -j" command in working directory. However this commit is mainly for education purposes, it's so that Miikka (main) and others can see what I changed easily and can use as teaching reference.
2019-07-26 16:22:04 +08:00
JackHsu
67d9f19006
Merge branch 'master' into sink_20190723
2019-07-24 11:10:16 +08:00
JackHsu
58a3f48389
Second ever commits!
2019-07-24 11:01:26 +08:00
Tzu-Chun Hsu
cd7f6f7939
"Hello world!", my first commit.
2019-07-24 10:20:13 +08:00
jpekkila
26316a4d15
The standalone library is now compiled in parallel with the core library. Slightly faster.
2019-07-23 21:26:58 +03:00
jpekkila
be44354b33
Astaroth does not require any additional libraries to be included, which is good. Previously required CUDA and C/C++ math libraries.
2019-07-23 21:03:42 +03:00
jpekkila
f0d1fba55c
The pure C test works again.
2019-07-23 21:00:00 +03:00
jpekkila
f322bc8b37
Rewrote all CMakeLists. Now much cleaner and there's a clear separation during compilation between the core and standalone modules.
2019-07-23 20:50:37 +03:00
jpekkila
b65454d523
Stashed some testing files used to make sure that the library can also be used from pure C projects (better compatibility). These changes will never go to master as-is.
2019-07-23 18:24:47 +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
Miikka Vaisala
1b6e6a6bac
Example for Jack. Creating sink branch.
2019-07-23 15:44:39 +08: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
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
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
jpekkila
e6c770cbee
Added a synchronization after acLoadDeviceConstant since it is now stated to be asynchronous
2019-07-09 19:00:08 +03:00
jpekkila
d0b95c39b6
Disabled writing out unnecessary files when auto-optimizing the code
2019-07-09 18:51:04 +03:00