jpekkila
f697b53b01
Auto-format of astaroth.h
2021-02-07 19:53:49 +02:00
jpekkila
bcacc357d3
Now all host functions start with acHost to avoid confusion on whether the function operates on host or device memory
2020-11-24 21:32:43 +02:00
jpekkila
095f863097
Added functions acSetVertexBuffer, acNodeSetVertexBuffer, and acDeviceSetVertexBuffer for setting device memory directly to some constant
2020-11-24 21:29:14 +02:00
Miikka Vaisala
11eddabbd6
Merge branch 'master' into alt_bcond_2020_09
2020-11-23 15:47:46 +08:00
Miikka Vaisala
4add619e2f
Calling boundconds compiles again.
2020-11-20 16:22:47 +08:00
Miikka Vaisala
f87d65408c
Added acBoundcondStepGBC() for flexible boundary conditions.
2020-11-20 15:42:54 +08:00
Miikka Vaisala
8732480cd9
Added acIntegrateGBC()
2020-11-20 15:37:37 +08:00
Miikka Vaisala
efd3cc40cd
Compiles without the API funtion call.
2020-11-20 14:11:14 +08:00
Miikka Vaisala
cb15668f2d
Figuring out compilations.
2020-11-20 11:58:15 +08:00
jpekkila
349093768d
Added acMeshRandomize to astaroth.h to keep core and utils separate
2020-11-02 17:14:26 +02:00
jpekkila
ae0d4de23c
The root host mesh is no longer allocated during benchmarking as this caused out-of-memory errors in weak scaling tests
2020-10-29 16:33:41 +02:00
Miikka Vaisala
d060e67bec
Includes also
2020-10-06 18:16:24 +08:00
Miikka Vaisala
66662c1603
Defines for new diagnostics.
2020-09-11 16:52:12 +08:00
jpekkila
8199ff914f
Added acGridLoadScalarUniform and acGridLoadVectorUniform functions for loading specific device constants with MPI
2020-08-24 17:19:02 +03:00
jpekkila
94794cee91
Added acVertexBufferSet in the utils interface
2020-08-24 14:29:01 +03:00
jpekkila
d966afe830
Added VERBOSE CMake option and made various prints optional to clean the output. VERBOSE is by off by default, pass cmake -DVERBOSE=ON to re-enable various non-critical warning and status prints (important warnings are still visible regardless of the flag).
2020-08-21 21:19:42 +03:00
jpekkila
764e4dda69
Streamlined verification
2020-08-21 20:11:25 +03:00
jpekkila
8c28aacf96
Reduction types are now generated in a same fashion as vertexbuffer handles and others
2020-08-21 19:05:01 +03:00
jpekkila
56273433fe
Fixed inconsistency in the acGridLoad parameter order
2020-08-21 14:40:11 +03:00
jpekkila
3afab77533
Removed astaroth_utils from astaroth_core dependencies
2020-07-29 19:58:21 +03:00
jpekkila
6cab3586cf
The generated fortran header is now consistent with fortran conventions. Also cleaned up the C version of the header.
2020-06-29 01:06:30 +03:00
jpekkila
d0ca1f8195
Reduction types are now generated with acc instead of being explicitly declared in astaroth.h
2020-06-28 18:16:19 +03:00
jpekkila
852fae17cf
Added a function for getting the GPU count from fortran
2020-06-28 18:15:40 +03:00
jpekkila
6f59890a3f
Added loading and storing functions to the fortran interface
2020-06-26 09:52:33 +03:00
jpekkila
ee4b18c81c
Merge branch 'mpi-to-master-merge-candidate-2020-06-01' of https://bitbucket.org/jpekkila/astaroth into mpi-to-master-merge-candidate-2020-06-01
2020-06-25 20:40:24 +03:00
jpekkila
39c7fc6c6f
Streams are now generated with acc
2020-06-25 20:40:02 +03:00
jpekkila
1b50374cdb
Added the rest of the basic functions required for running simulations with the fortran interface
2020-06-25 20:09:35 +03:00
jpekkila
f11c5b84fb
Forgot the actual interface from previous commits, here it is
2020-06-25 06:36:00 +03:00
jpekkila
fbb8d7c7c6
Added a minimal Fortran interface to Astaroth
2020-06-25 06:34:16 +03:00
Oskar Lappi
9e5fd40838
Changes after code review by Johannes, and clang-format
2020-06-04 18:50:22 +03:00
Oskar Lappi
f7d8de75d2
Reduction test pipeline added to mpitest, Error struct changed: new label field
...
- CHANGED: Error struct has a new label field for labeling an error
- The label is what is printed to screen
- vtxbuf name lookup moved out of printErrorToScreen/print_error_to_screen
- NEW: acScalReductionTestCase and acVecReductionTestCase
- Define new test cases by adding them to a list in samples/mpitest/main.cc:main
- Minor style change in verification.c to make all Verification functions similar
and fit one screen
2020-06-04 15:10:35 +03:00
jpekkila
226de32651
Added model solution for reductions and functions for automated testing
2020-06-03 13:37:00 +03:00
jpekkila
ed7cf3f540
Added a production-ready interface for doing multi-node runs with Astaroth with MPI
2020-03-26 15:02:37 +02:00
jpekkila
17c935ce19
Added padding to param name buffers to make them have NUM_*_PARAMS+1 elements. This should satisfy some strict compilation checks.
2020-01-28 18:53:09 +02:00
jpekkila
0ccd4e3dbc
Major improvement: uniforms can now be set to default values. The syntax is the same as for setting any other values, f.ex. 'uniform Scalar a = 1; uniform Scalar b = 0.5 * a;'. Undefined uniforms are still allowed, but in this case the user should load a proper value into it during runtime. Default uniform values can be overwritten by calling any of the uniform loader funcions (like acDeviceLoadScalarUniform). Improved also error checking. Now there are explicit warnings if the user tries to load an invalid value into a device constant.
2020-01-28 18:17:31 +02:00
jpekkila
7215e842fc
Simplified the include directory. Everything is now in only two headers: astaroth.h and astaroth_utils.h. Removed old and unused stuff. user.h is unused in standalone but might be used with Pencil Code, so left that intact.
2020-01-23 19:59:44 +02:00
jpekkila
c3727e2183
Autoformatting
2020-01-14 22:13:53 +02:00
jpekkila
37cafd26aa
Various small improvements to the website (navigation panel, better headings, formatting, etc)
2020-01-14 14:44:06 +02:00
jpekkila
5e1500fe97
Happy new year! :)
2020-01-13 21:38:07 +02:00
jpekkila
d51d48071f
Updated documentation and made it work with Doxygen. Now the doc/doxygen/index.html generated with it looks quite good and contains lots of useful and up-to-date information about Astaroth
2020-01-13 21:11:04 +02:00
jpekkila
794e4393c3
Added a new function for the legacy Astaroth layer: acGetNode(). This functions returns a Node, which can be used to access acNode layer functions
2020-01-13 11:33:15 +02:00
jpekkila
5a6a3110df
Reformatted
2019-12-03 15:14:26 +02:00
jpekkila
f14e35620c
Now nvcc is used to compile kernels only. All host code, incl. device.cc, MPI communication and others are now compiled with the host C++ compiler. This should work around an nvcc/MPI bug on Puhti.
2019-12-03 15:12:17 +02:00
jpekkila
f1e988ba6a
Added stuff for the device layer for testing GPU-GPU MPI. This is a quick and dirty solution which is primarily meant for benchmarking/verification. Figuring out what the MPI interface should look like is more challenging and is not the priority right now
2019-10-17 14:40:53 +03:00
jpekkila
4fcf9d861f
More undeprecated/deprecated fixes
2019-10-15 19:46:57 +03:00
jpekkila
0865f0499b
Various improvements to the MPI-GPU implementation, but linking MPI libraries with both the host C-project and the core library seems to be a major pain. Currently the communication is done via gpu->cpu->cpu->gpu.
2019-10-15 19:32:16 +03:00
jpekkila
1ca089c163
New cmake option: MPI_ENABLED. Enables MPI functions on the device layer
2019-10-15 17:57:53 +03:00
jpekkila
aa6c2b23d9
Built-in parameters are now added during compilation instead of defining them in CUDA sources. IMPORTANT: DCONST macro should no longer be used when accessing built-in variables. Now all uniforms are consistently accessed with the handle only
2019-10-07 17:39:27 +03:00
jpekkila
6ed3b7978d
Updated the name of the generated header
2019-10-07 15:44:21 +03:00
jpekkila
9a16c79ce6
Renamed all references to uniforms to f.ex. loadScalarConstant -> loadScalarUniform (for consistency with the DSL)
2019-10-01 17:12:20 +03:00