| /libCEED/backends/sycl-gen/ |
| H A D | ceed-sycl-gen-operator-build.sycl.cpp | 106 std::ostringstream code; in CeedOperatorBuildKernel_Sycl_gen() local 115 code << tensor_basis_code; in CeedOperatorBuildKernel_Sycl_gen() 126 code << sycl_gen_template_source; in CeedOperatorBuildKernel_Sycl_gen() 219 code << "\n#undef CEED_Q_VLA\n"; in CeedOperatorBuildKernel_Sycl_gen() 221 code << "#define CEED_Q_VLA 1\n\n"; in CeedOperatorBuildKernel_Sycl_gen() 223 code << "#define CEED_Q_VLA " << Q_1d << "\n\n"; in CeedOperatorBuildKernel_Sycl_gen() 236 code << qfunction_source; in CeedOperatorBuildKernel_Sycl_gen() 239 code << "\n// -----------------------------------------------------------------------------\n"; in CeedOperatorBuildKernel_Sycl_gen() 240 …code << "__attribute__((reqd_work_group_size(GROUP_SIZE_X, GROUP_SIZE_Y, GROUP_SIZE_Z), intel_reqd… in CeedOperatorBuildKernel_Sycl_gen() 241 code << "kernel void " << operator_name << "("; in CeedOperatorBuildKernel_Sycl_gen() [all …]
|
| /libCEED/backends/hip-ref/ |
| H A D | ceed-hip-ref-qfunction-load.cpp | 46 ostringstream code; in CeedQFunctionBuildKernel_Hip_ref() local 49 code << "// QFunction source\n"; in CeedQFunctionBuildKernel_Hip_ref() 50 code << "#include <ceed/jit-source/hip/hip-ref-qfunction.h>\n\n"; in CeedQFunctionBuildKernel_Hip_ref() 57 code << "// User QFunction source\n"; in CeedQFunctionBuildKernel_Hip_ref() 58 code << "#include \"" << source_path << "\"\n\n"; in CeedQFunctionBuildKernel_Hip_ref() 60 code << "extern \"C\" __launch_bounds__(BLOCK_SIZE)\n"; in CeedQFunctionBuildKernel_Hip_ref() 61 code << "__global__ void " << kernel_name << "(void *ctx, CeedInt Q, Fields_Hip fields) {\n"; in CeedQFunctionBuildKernel_Hip_ref() 64 code << " // Input fields\n"; in CeedQFunctionBuildKernel_Hip_ref() 67 code << " const CeedInt size_input_" << i << " = " << size << ";\n"; in CeedQFunctionBuildKernel_Hip_ref() 68 code << " CeedScalar input_" << i << "[size_input_" << i << "];\n"; in CeedQFunctionBuildKernel_Hip_ref() [all …]
|
| /libCEED/backends/cuda-ref/ |
| H A D | ceed-cuda-ref-qfunction-load.cpp | 43 ostringstream code; in CeedQFunctionBuildKernel_Cuda_ref() local 46 code << "// QFunction source\n"; in CeedQFunctionBuildKernel_Cuda_ref() 47 code << "#include <ceed/jit-source/cuda/cuda-ref-qfunction.h>\n\n"; in CeedQFunctionBuildKernel_Cuda_ref() 54 code << "// User QFunction source\n"; in CeedQFunctionBuildKernel_Cuda_ref() 55 code << "#include \"" << source_path << "\"\n\n"; in CeedQFunctionBuildKernel_Cuda_ref() 57 …code << "extern \"C\" __global__ void " << kernel_name << "(void *ctx, CeedInt Q, Fields_Cuda fiel… in CeedQFunctionBuildKernel_Cuda_ref() 60 code << " // Input fields\n"; in CeedQFunctionBuildKernel_Cuda_ref() 63 code << " const CeedInt size_input_" << i << " = " << size << ";\n"; in CeedQFunctionBuildKernel_Cuda_ref() 64 code << " CeedScalar input_" << i << "[size_input_" << i << "];\n"; in CeedQFunctionBuildKernel_Cuda_ref() 66 code << " const CeedScalar *inputs[" << CeedIntMax(num_input_fields, 1) << "];\n"; in CeedQFunctionBuildKernel_Cuda_ref() [all …]
|
| /libCEED/backends/sycl-ref/ |
| H A D | ceed-sycl-ref-qfunction-load.sycl.cpp | 87 std::ostringstream code; in CeedQFunctionBuildKernel_Sycl() local 88 code << rw_source_view; in CeedQFunctionBuildKernel_Sycl() 89 code << qf_source_view; in CeedQFunctionBuildKernel_Sycl() 90 code << "\n"; in CeedQFunctionBuildKernel_Sycl() 95 …code << "__attribute__((intel_reqd_sub_group_size(" << SUB_GROUP_SIZE_QF << "))) __kernel void " <… in CeedQFunctionBuildKernel_Sycl() 102 code << " " in CeedQFunctionBuildKernel_Sycl() 107 code << " " in CeedQFunctionBuildKernel_Sycl() 110 code << "\n, " in CeedQFunctionBuildKernel_Sycl() 114 code << ") {\n\n"; in CeedQFunctionBuildKernel_Sycl() 117 code << " // Input fields\n"; in CeedQFunctionBuildKernel_Sycl() [all …]
|
| /libCEED/backends/cuda-gen/ |
| H A D | ceed-cuda-gen-operator-build.cpp | 180 static int CeedOperatorBuildKernelFieldData_Cuda_gen(std::ostringstream &code, CeedOperator_Cuda_ge… in CeedOperatorBuildKernelFieldData_Cuda_gen() argument 210 …code << tab << "// -- " << (is_input ? "Input" : "Output") << " field " << i << ": " << field_name… in CeedOperatorBuildKernelFieldData_Cuda_gen() 228 code << tab << "const CeedInt dim" << var_suffix << " = " << dim << ";\n"; in CeedOperatorBuildKernelFieldData_Cuda_gen() 233 …code << tab << "const CeedInt P" << var_suffix << " = " << (basis == CEED_BASIS_NONE ? Q : P) << "… in CeedOperatorBuildKernelFieldData_Cuda_gen() 235 …code << tab << "const CeedInt " << P_name << " = " << (basis == CEED_BASIS_NONE ? Q_1d : P_1d) << … in CeedOperatorBuildKernelFieldData_Cuda_gen() 237 code << tab << "const CeedInt num_comp" << var_suffix << " = " << num_comp << ";\n"; in CeedOperatorBuildKernelFieldData_Cuda_gen() 241 code << tab << "// EvalMode: " << CeedEvalModes[eval_mode] << "\n"; in CeedOperatorBuildKernelFieldData_Cuda_gen() 270 code << tab << "CeedScalar *s_B" << var_suffix << " = " << reuse_var << ";\n"; in CeedOperatorBuildKernelFieldData_Cuda_gen() 276 code << tab << "CeedScalar *s_B" << var_suffix << " = NULL;\n"; in CeedOperatorBuildKernelFieldData_Cuda_gen() 278 …code << tab << "__shared__ CeedScalar s_B" << var_suffix << "[" << P_name << "*" << Q_name << "];\… in CeedOperatorBuildKernelFieldData_Cuda_gen() [all …]
|
| /libCEED/backends/hip-gen/ |
| H A D | ceed-hip-gen-operator-build.cpp | 207 static int CeedOperatorBuildKernelFieldData_Hip_gen(std::ostringstream &code, CeedOperator_Hip_gen … in CeedOperatorBuildKernelFieldData_Hip_gen() argument 237 …code << tab << "// -- " << (is_input ? "Input" : "Output") << " field " << i << ": " << field_name… in CeedOperatorBuildKernelFieldData_Hip_gen() 255 code << tab << "const CeedInt dim" << var_suffix << " = " << dim << ";\n"; in CeedOperatorBuildKernelFieldData_Hip_gen() 260 …code << tab << "const CeedInt P" << var_suffix << " = " << (basis == CEED_BASIS_NONE ? Q : P) << "… in CeedOperatorBuildKernelFieldData_Hip_gen() 262 …code << tab << "const CeedInt " << P_name << " = " << (basis == CEED_BASIS_NONE ? Q_1d : P_1d) << … in CeedOperatorBuildKernelFieldData_Hip_gen() 264 code << tab << "const CeedInt num_comp" << var_suffix << " = " << num_comp << ";\n"; in CeedOperatorBuildKernelFieldData_Hip_gen() 268 code << tab << "// EvalMode: " << CeedEvalModes[eval_mode] << "\n"; in CeedOperatorBuildKernelFieldData_Hip_gen() 297 code << tab << "CeedScalar *s_B" << var_suffix << " = " << reuse_var << ";\n"; in CeedOperatorBuildKernelFieldData_Hip_gen() 303 code << tab << "CeedScalar *s_B" << var_suffix << " = NULL;\n"; in CeedOperatorBuildKernelFieldData_Hip_gen() 305 …code << tab << "__shared__ CeedScalar s_B" << var_suffix << "[" << P_name << "*" << Q_name << "];\… in CeedOperatorBuildKernelFieldData_Hip_gen() [all …]
|
| /libCEED/doc/sphinx/source/ |
| H A D | precision.md | 3 Currently, libCEED supports two options for {code}`CeedScalar` : double and single. 5 Users wishing to set {code}`CeedScalar` to single precision should edit `include/ceed/types.h` and … 13 to include {code}`ceed-f32.h` instead, then recompile the library. 18 …code}`CEED_SCALAR_TYPE` will be defined to match one of the values of the {code}`CeedScalarType` {… 20 …code}`CeedScalar` available in the Fortran header. The user is responsible for ensuring that data… 22 …ith the {code}`set_libceed_path!` function and restart the Julia session. LibCEED.jl will configur… 24 …- **Python**: Make sure to replace the {code}`ceed-f64.h` inclusion rather than commenting it out,… 25 … The {c:func}`scalar_type()` function has been added to the {code}`Ceed` class for convenience. 26 … It returns a string corresponding to a numpy datatype matching that of {code}`CeedScalar`. 28 - **Rust**: The {code}`Scalar` type corresponds to {code}`CeedScalar`.
|
| H A D | releasenotes.md | 29 - Added non-tensor basis support to code generation backends `/gpu/cuda/gen` and `/gpu/hip/gen`. 30 - Added support to code generation backends `/gpu/cuda/gen` and `/gpu/hip/gen` for operators with b… 118 - Refactored to improve code reuse and modularity. 133 … `/gpu/hip/shared` and `/gpu/hip/gen` backend to improve maintainablity and reduce duplicated code. 181 - Added JiT utilities in `ceed/jit-tools.h` to reduce duplicated code in GPU backends. 183 - Remove need to guard library headers in QFunction source for code generation backends. 185 - Added {c:func}`CeedStringAllocCopy` to reduce repeated code for copying strings internally. 196 - Put GPU JiTed kernel source code into separate files. 210 - Add `CEED_QFUNCTION_HELPER` macro to properly annotate QFunction helper functions for code genera… 211 - Add `CeedPragmaOptimizeOff` macro for code that is sensitive to floating point errors from fast m… [all …]
|
| /libCEED/backends/hip/ |
| H A D | ceed-hip-compile.cpp | 50 std::ostringstream code; in CeedCompileCore_Hip() local 55 code << "\n#include <hip/hip_runtime.h>\n"; in CeedCompileCore_Hip() 59 code << "#include <stddef.h>\n"; in CeedCompileCore_Hip() 60 code << "#define __forceinline__ inline __attribute__((always_inline))\n"; in CeedCompileCore_Hip() 61 code << "#define HIP_DYNAMIC_SHARED(type, var) extern __shared__ type var[];\n"; in CeedCompileCore_Hip() 72 code << "#define " << name << " " << val << "\n"; in CeedCompileCore_Hip() 77 code << "#include <ceed/jit-source/hip/hip-jit.h>\n\n"; in CeedCompileCore_Hip() 118 code << source; in CeedCompileCore_Hip() 121 CeedCallHiprtc(ceed, hiprtcCreateProgram(&prog, code.str().c_str(), NULL, 0, NULL, NULL)); in CeedCompileCore_Hip() 125 CeedDebug(ceed, "Source:\n%s\n", code.str().c_str()); in CeedCompileCore_Hip()
|
| /libCEED/examples/solids/ |
| H A D | README.md | 7 This code solves the steady-state static momentum balance equations using unstructured high-order f… 70 …{code}`-mesh`, the user may use a DMPlex box mesh by specifying {code}`-dm_plex_box_faces [int lis… 72 As an alternative example exploiting {code}`-dm_plex_box_faces`, we consider a {code}`4 x 4 x 4` me… 83 …s computed: {code}`theta = (c_0 + c_1 * cx) * loadIncrement` where {code}`cx = kx * x + ky * y + k… 171 …(Lower degree is often faster, albeit less robust; try {code}`-outer_mg_levels_ksp_max_it 2`, for … 219 One can choose units of displacement independently (e.g., {code}`-units_meter 100` to measure displ… 224 …vided when the command line options for visualization output, {code}`-view_soln` or {code}`-view_f…
|
| /libCEED/examples/python/ |
| H A D | tutorial-0-ceed.ipynb | 29 "cell_type": "code", 49 "cell_type": "code", 67 "cell_type": "code", 83 "cell_type": "code", 99 "cell_type": "code",
|
| H A D | tutorial-1-vector.ipynb | 24 "cell_type": "code", 44 "cell_type": "code", 65 "cell_type": "code", 81 "cell_type": "code", 106 "cell_type": "code", 127 "cell_type": "code", 156 "cell_type": "code", 180 "cell_type": "code", 212 "cell_type": "code",
|
| H A D | tutorial-6-shell.ipynb | 44 "are supported from the same code.\n", 75 "cell_type": "code", 91 "cell_type": "code", 107 "cell_type": "code", 123 "cell_type": "code", 139 "cell_type": "code", 155 "cell_type": "code", 171 "cell_type": "code", 220 "Arbitrary mesh and solution orders in 1D, 2D and 3D are supported from the same code.\n", 262 "cell_type": "code",
|
| H A D | tutorial-3-basis.ipynb | 24 "cell_type": "code", 49 "cell_type": "code", 83 "cell_type": "code", 109 "cell_type": "code", 143 "cell_type": "code", 167 "cell_type": "code", 189 "cell_type": "code", 255 "cell_type": "code",
|
| H A D | tutorial-4-qfunction.ipynb | 24 "cell_type": "code", 53 "cell_type": "code", 78 "cell_type": "code", 111 "cell_type": "code", 162 "cell_type": "code",
|
| H A D | tutorial-2-elemrestriction.ipynb | 24 "cell_type": "code", 44 "cell_type": "code", 94 "cell_type": "code", 129 "cell_type": "code", 171 "cell_type": "code", 204 "cell_type": "code", 274 "cell_type": "code",
|
| /libCEED/tests/junit-xml/ |
| H A D | README.rst | 16 searches and the Jenkins JUnit XML reader source code. File a bug if 43 .. code-block:: python 54 .. code-block:: xml 72 .. code-block:: python
|
| /libCEED/benchmarks/ |
| H A D | postprocess_plot.py | 64 codes = list(sel_runs.code.unique()) 65 code = codes[0] variable 66 sel_runs = sel_runs.loc[sel_runs['code'] == code] 181 code, test_short_save, short_backend, backend_memtype, num_nodes, num_procs_node)
|
| /libCEED/tests/ |
| H A D | README.md | 21 0. CeedQFunction user code tests\ 22 1. CeedQFunction gallery code tests
|
| /libCEED/doc/sphinx/source/api/ |
| H A D | index.rst | 5 This section contains the code documentation. The subsections represent 22 U(High-level user code) -->|apply| O
|
| /libCEED/backends/cuda/ |
| H A D | ceed-cuda-compile.cpp | 84 std::ostringstream code; in CeedCompileCore_Cuda() local 102 code << "#define " << name << " " << val << "\n"; in CeedCompileCore_Cuda() 107 code << "#include <ceed/jit-source/cuda/cuda-jit.h>\n\n"; in CeedCompileCore_Cuda() 158 code << source; in CeedCompileCore_Cuda() 162 CeedDebug(ceed, "Source:\n%s\n", code.str().c_str()); in CeedCompileCore_Cuda() 166 CeedCallNvrtc(ceed, nvrtcCreateProgram(&prog, code.str().c_str(), NULL, 0, NULL, NULL)); in CeedCompileCore_Cuda() 247 fputs(code.str().c_str(), file); in CeedCompileCore_Cuda()
|
| /libCEED/examples/petsc/ |
| H A D | README.md | 7 This code solves the CEED bakeoff problems on a structured grid generated and referenced using only… 19 This code solves the CEED bakeoff problems on a unstructured grid using DMPlex. 44 This code solves the CEED bakeoff problems on a unstructured grid using DMPlex with p-multigrid imp…
|
| /libCEED/julia/LibCEED.jl/docs/src/ |
| H A D | index.md | 73 For example, in `ex1-volume`, the following C code 84 is replaced with the following equivalent Julia code 90 In `ex2-surface`, the following C code 105 is replaced with the following equivalent Julia code
|
| H A D | C.md | 6 [Clang.jl](https://github.com/JuliaInterop/Clang.jl/). The code used to generate
|
| /libCEED/examples/ceed/ |
| H A D | index.md | 12 Arbitrary mesh and solution orders in 1D, 2D, and 3D are supported from the same code. 35 …Ex1-Volume`, arbitrary mesh and solution orders in 1D, 2D, and 3D are supported from the same code. 69 Arbitrary mesh and solution orders in 1D, 2D, and 3D are supported from the same code.
|