Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
P parabix-devel
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • cameron
  • parabix-devel
  • Wiki
  • KernelLibrary

KernelLibrary · Changes

Page history
Update KernelLibrary authored May 06, 2024 by cameron's avatar cameron
Hide whitespace changes
Inline Side-by-side
Showing with 20 additions and 3 deletions
+20 -3
  • KernelLibrary.md KernelLibrary.md +20 -3
  • No files found.
KernelLibrary.md
View page @ 9135be49
...@@ -3,7 +3,10 @@ ...@@ -3,7 +3,10 @@
The Parabix Kernel Library has a number of useful kernels for building applications. Look for information The Parabix Kernel Library has a number of useful kernels for building applications. Look for information
in the include/kernels directory. in the include/kernels directory.
## I/O Kernels: Sources and Sinks ## Input Kernels: Sources
```
#include <kernel/io/source_kernel.h>
```
Source kernels are kernels that provide the input data streams for processing Source kernels are kernels that provide the input data streams for processing
by other kernels. There are source kernels for obtaining input streams from by other kernels. There are source kernels for obtaining input streams from
...@@ -26,10 +29,24 @@ a boolean scalar value identifying whether to use ```mmap``` if possible. If t ...@@ -26,10 +29,24 @@ a boolean scalar value identifying whether to use ```mmap``` if possible. If t
```MemorySourceKernel``` is a kernel that produces a stream set from a memory buffer. Its parameters are a scalar pointer to the buffer, and a scalar length of the buffer. ```MemorySourceKernel``` is a kernel that produces a stream set from a memory buffer. Its parameters are a scalar pointer to the buffer, and a scalar length of the buffer.
## Output Kernels: Sinks
```
#include <kernel/io/stdout_kernel.h>
```
Output to stdout or to a file may be achieved using sink kernels.
```StdOutKernel``` produces the contents of a stream on stdout.
```
P->CreateKernelCall<StdOutKernel>(codeUnitStream);
```
Here ```codeUnitStream``` is typically a stream of bytes (8-bit code units), but
may also be a stream of 16, 32 or 64 bit units.
```FileSinkKernel``` produces output to a named file. The file name is
provided as a scalar pointer to a C-string (null-terminated file name).
```
P->CreateKernelCall<FileSink>(outputFileName, codeUnitStream);
```
## Transposition ## Transposition
......
Clone repository
  • Bracket Matching
  • CSV Validation
  • CSVediting
  • CSVparsing
  • Character Code Compilers
  • KernelLibrary
  • Pablo
  • ParabixTransform
  • Parallel Deletion
  • Parallel Hashing
  • Performance Testing Script
  • Shuffle Pattern Library
  • StaticCCC
  • String Insertion
  • UCD: Unicode Property Database and Compilers
View All Pages