mirror of
https://github.com/lordmathis/CUDANet.git
synced 2025-12-22 14:24:22 +00:00
26 lines
739 B
C++
26 lines
739 B
C++
#pragma once
|
|
|
|
#include "backend.hpp"
|
|
#include "tensor.hpp"
|
|
|
|
namespace CUDANet::Backends {
|
|
|
|
class CPU : public Backend {
|
|
public:
|
|
// Memory management
|
|
void* allocate(size_t bytes) override;
|
|
void deallocate(void* ptr) override;
|
|
|
|
// Tensor ops
|
|
void print(const CUDANet::Tensor &input) override;
|
|
void zero(CUDANet::Tensor &input) override;
|
|
void sum(const CUDANet::Tensor &input, CUDANet::Tensor &sum) override;
|
|
void max(const CUDANet::Tensor &input, CUDANet::Tensor &max) override;
|
|
|
|
// Layer ops
|
|
void relu(CUDANet::Tensor &tensor) override;
|
|
void sigmoid(CUDANet::Tensor &tensor) override;
|
|
void softmax(CUDANet::Tensor &tensor, CUDANet::Tensor &temp_max, CUDANet::Tensor &temp_sum) override;
|
|
};
|
|
|
|
} |