![]() |
LambLisp 01 Red Fox Alpha
From AI to Actuator
|
Functions | |
| __global__ void | cudakernel_vectorAdd (const LL_float32 *A, const LL_float32 *B, LL_float32 *C, int n) |
| __global__ void | kernel1 (LL_float32 *data, int n) |
| hipError_t | launch_kernel1 (int nblocks, int thrPerBlk, int shared, hipStream_t stream, LL_float32 *data, int n) |
| __global__ void | kernel2 (LL_float32 *data, int n) |
| void | cudaDevicePtrDestroyer (Ptr_t p) |
| void | cudaHostPtrDestroyer (Ptr_t p) |
| Sexpr_t | mop3_cpp_vector_add (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaLaunch_kernel1 (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudakernel_vectorAdd (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaMalloc (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaMallocHost (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaFree (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaMemcpy (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaMemset (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| void | cudaStreamDestroyer (Ptr_t p) |
| Sexpr_t | mop3_cudaStreamCreate (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaStreamSynchronize (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaDeviceSynchronize (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaGetDeviceCount (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | mop3_cudaGetDeviceProp (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
| Sexpr_t | Hip_install_mop3 (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec) |
LambLisp HIP / ROCm GPU builtins.
| void cudaDevicePtrDestroyer | ( | Ptr_t | p | ) |
GC destructor for device memory.
| void cudaHostPtrDestroyer | ( | Ptr_t | p | ) |
GC destructor for pinned host memory.
| Sexpr_t mop3_cpp_vector_add | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
CPU-side vector add: C[i] = A[i] + B[i] for i in [0,n). Args: (A B C n) – A, B, C are realvectors; n is element count. Available with or without CUDA; used in three-way correctness tests.
| Sexpr_t mop3_cudaLaunch_kernel1 | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Launch kernel1 (element *= 2) on a device buffer; args: (stream data [n]).
| Sexpr_t mop3_cudakernel_vectorAdd | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
GPU vector add C[i] = A[i]+B[i]; args: (A B C n) as device/pinned pointers or bytevectors.
| Sexpr_t mop3_cudaMalloc | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Allocate n bytes of device memory; returns a T_CPP_HEAP object with hipFree destructor.
| Sexpr_t mop3_cudaMallocHost | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Allocate n bytes of page-locked host memory; returns a T_CPP_HEAP object with hipHostFree destructor.
| Sexpr_t mop3_cudaFree | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Free one or more device memory objects returned by hipMalloc.
| Sexpr_t mop3_cudaMemcpy | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Combines hipMemcpy() and hipMemcpyAsync(). If the stream argument is provided then the asynchronous copy will be used. count is in bytes. dst and src may be device pointers (hipMalloc), pinned host pointers (hipHostMalloc), or bytevectors.
| Sexpr_t mop3_cudaMemset | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Fill count bytes of device memory with a byte value: (hipMemset ptr val count).
| Sexpr_t mop3_cudaStreamCreate | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Create a CUDA stream; returns a T_CPP_HEAP object with hipStreamDestroy destructor.
| Sexpr_t mop3_cudaStreamSynchronize | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Block until all operations in the given CUDA stream have completed.
| Sexpr_t mop3_cudaDeviceSynchronize | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Block until all CUDA work on the current device has completed.
| Sexpr_t mop3_cudaGetDeviceCount | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Return the number of CUDA-capable devices available on the host.
| Sexpr_t mop3_cudaGetDeviceProp | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Return an association list of device properties for the given device index (default 0).
| Sexpr_t Hip_install_mop3 | ( | Lamb & | lamb, |
| Sexpr_t | sexpr, | ||
| Sexpr_t | env_exec ) |
Installer: bind the HIP/ROCm GPU builtins into env_target (AMD-GPU counterpart of the CUDA bindings); host builds register safe no-ops.