1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00
VILLASnode/fpga/gpu/src/kernels.cu

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

47 lines
957 B
Text
Raw Permalink Normal View History

2018-06-25 17:03:09 +02:00
/** GPU Kernels.
*
* Author: Daniel Krebs <github@daniel-krebs.net>
* SPDX-FileCopyrightText: 2017 Institute for Automation of Complex Power Systems, RWTH Aachen University
* SPDX-License-Identifier: Apache-2.0
2018-06-25 17:03:09 +02:00
*********************************************************************************/
#include <stdio.h>
#include <villas/gpu.hpp>
2018-08-21 15:53:47 +02:00
#include <cuda_runtime.h>
#include <cuda.h>
2018-08-21 15:53:47 +02:00
#include "kernels.hpp"
using namespace villas::gpu;
__global__ void
kernel_mailbox(volatile uint32_t *mailbox, volatile uint32_t* counter)
{
printf("[gpu] hello!\n");
printf("[gpu] mailbox: %p\n", mailbox);
printf("[kernel] started\n");
while (1) {
if (*mailbox == 1) {
*mailbox = 0;
printf("[gpu] counter = %d\n", *counter);
break;
}
}
printf("[gpu] quit\n");
}
__global__ void
kernel_memcpy(volatile uint8_t* dst, volatile uint8_t* src, size_t length)
{
while (length > 0) {
*dst++ = *src++;
length--;
}
}