This is the CUDA based ANUGA domain in advanced version
Allocate device memory.
Overrided function only for testing purpose.
Overrided function since max_speed array is required to be downloaded from device memory.
Upload mesh information from host to device.
When using page-locked host memory to store all mesh information, asynchronous transfer data can hide transmission overheads by proceeding several transfers together and overlapping with kernel executing.
Overrided function to use device memory to temporarily backup the centroid_values for quantity instances.
Overrided function to invoke balance_deep_and_shallow kernel function.
Overrided function to invoke compute_fluxes and gravity series kernel functions, and download calculated timestep information.
Overrided function to invoke kernel version forcing term functions.
Download results from device.
Overrided function to invoke protect series kernel functions.
From numerical_tools
Compile and equip kernel codes.
Equip all the kernel functions and get the appropriate thread block configuration. Also set up the prepared call with specifying parameter types for all the kernel functions.
Overrided function to invoke extrapolate_velocity_second_order, extrapolate_second_order_sw_true and extrapolate_second_order_sw_false kernel functions.
From geo_reference get_absolute
Use page-locked memory
Register host pageable memory to lock their page. This should be done when using the asynchronous transfer.
Overrided function to invoke manning_friction_sloped and manning_friction_flat kernel functions.
Overrided function to invoke manning_friction_sloped and manning_friction_flat kernel functions.
Overrided function to invoke protect series kernel functions.
Overrided function to invoke saxpy_centroid_values kernel function.
Overrided function to invoke set_boundary_values_from_edges and update_centroids_of_velocities_and_height kernel functions.
Overrided function to invoke update kernel function and for each quantity set device memory of semi_implicit_update to 0.
Overrided function only for testing purpose.
Overrided function only for testing purpose.
A Boolean variable denotes whether to use stream (concurrent kernel technology). Default value is False. Also if device not support such technology, this value will be set to False.