jpekkila
|
5232d987c1
|
Added acStoreWithOffset to the revised interface
|
2019-08-05 16:18:22 +03:00 |
|
jpekkila
|
6dfd03664d
|
Still does not work. I'm starting to think that instead of this one huge revision, we should modify the existing interface step-by-step.
|
2019-08-02 15:31:24 +03:00 |
|
jpekkila
|
5f2378e91b
|
Now compiles (does not work though)
|
2019-08-02 15:15:18 +03:00 |
|
jpekkila
|
567ad61465
|
Multinode MPI implementation should be done later in its own branch. The focus of this branch is to revise the node and device layers. Commented out references to the Grid layer.
|
2019-08-02 13:54:54 +03:00 |
|
jpekkila
|
2b6bf10ae6
|
Dummy implementation of the Grid interface
|
2019-08-01 18:37:36 +03:00 |
|
jpekkila
|
328b809efe
|
Added the revised node interface
|
2019-08-01 14:04:11 +03:00 |
|
jpekkila
|
4594d73022
|
Merge branch 'cmakelist_rewrite_and_C_API_conformity_07-26' into node_device_interface_revision_07-23
|
2019-07-31 20:13:19 +03:00 |
|
jpekkila
|
92376588ba
|
Merge branch 'master' into cmakelist_rewrite_and_C_API_conformity_07-26
|
2019-07-31 20:12:22 +03:00 |
|
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
|
6b55fce54a
|
Merge branch 'c_standalone_compilation_test_07-23' into node_device_interface_revision_07-23
|
2019-07-30 14:36:17 +03:00 |
|
jpekkila
|
b7c5274f45
|
Merge branch 'master' into c_standalone_compilation_test_07-23
|
2019-07-30 14:35:46 +03: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
|
d614a03653
|
Made CMake to use the default compiler on system PATH. If the generic compiler names (cc, c++) point to some old version, then cmake would otherwise use those instead of the latest available compiler.
|
2019-07-29 16:07:31 +03: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 |
|
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
|
7b5a02bf0f
|
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:17 +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
|
5801144336
|
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:21:15 +03:00 |
|
jpekkila
|
7c256d3bb3
|
Added a comment about a redundant variable
|
2019-07-26 15:13:19 +03: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 |
|
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
|
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 |
|