PeriDyno 1.0.0
Loading...
Searching...
No Matches
VkFFT_Utils.h
Go to the documentation of this file.
1#ifndef VKFFT_UTILS_H
2#define VKFFT_UTILS_H
3#include "VkFFT_Base.h"
4#include <vector>
5typedef struct {
6 uint64_t X;
7 uint64_t Y;
8 uint64_t Z;
9 uint64_t P;
10 uint64_t B;
11 uint64_t N;
12 uint64_t R2C;
13 uint64_t DCT;
14} VkFFTUserSystemParameters;//an example structure used to pass user-defined system for benchmarking
15
16#if(VKFFT_BACKEND==0)
17VkResult CreateDebugUtilsMessengerEXT(VkGPU* vkGPU, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pDebugMessenger);
18void DestroyDebugUtilsMessengerEXT(VkGPU* vkGPU, const VkAllocationCallbacks* pAllocator);
19static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData);
20VkResult setupDebugMessenger(VkGPU* vkGPU);
22std::vector<const char*> getRequiredExtensions(VkGPU* vkGPU, uint64_t sample_id);
23VkResult createInstance(VkGPU* vkGPU, uint64_t sample_id);
24VkResult findPhysicalDevice(VkGPU* vkGPU);
25VkResult getComputeQueueFamilyIndex(VkGPU* vkGPU);
26VkResult createDevice(VkGPU* vkGPU, uint64_t sample_id);
27VkResult createFence(VkGPU* vkGPU);
28VkResult createCommandPool(VkGPU* vkGPU);
29VkFFTResult findMemoryType(VkGPU* vkGPU, uint64_t memoryTypeBits, uint64_t memorySize, VkMemoryPropertyFlags properties, uint32_t* memoryTypeIndex);
30VkFFTResult allocateBuffer(VkGPU* vkGPU, VkBuffer* buffer, VkDeviceMemory* deviceMemory, VkBufferUsageFlags usageFlags, VkMemoryPropertyFlags propertyFlags, uint64_t size);
31VkFFTResult transferDataFromCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_t bufferSize);
32VkFFTResult transferDataToCPU(VkGPU* vkGPU, void* arr, VkBuffer* buffer, uint64_t bufferSize);
33#endif
35VkFFTResult performVulkanFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchParams* launchParams, int inverse, uint64_t num_iter);
36VkFFTResult performVulkanFFTiFFT(VkGPU* vkGPU, VkFFTApplication* app, VkFFTLaunchParams* launchParams, uint64_t num_iter, double* time_result);
37#endif
VkFFTResult
Definition VkFFT_Defs.h:232
VkResult createFence(VkGPU *vkGPU)
VkFFTResult transferDataToCPU(VkGPU *vkGPU, void *arr, VkBuffer *buffer, uint64_t bufferSize)
VkResult CreateDebugUtilsMessengerEXT(VkGPU *vkGPU, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pDebugMessenger)
VkFFTResult findMemoryType(VkGPU *vkGPU, uint64_t memoryTypeBits, uint64_t memorySize, VkMemoryPropertyFlags properties, uint32_t *memoryTypeIndex)
VkFFTResult performVulkanFFTiFFT(VkGPU *vkGPU, VkFFTApplication *app, VkFFTLaunchParams *launchParams, uint64_t num_iter, double *time_result)
VkResult setupDebugMessenger(VkGPU *vkGPU)
VkResult createCommandPool(VkGPU *vkGPU)
VkFFTResult transferDataFromCPU(VkGPU *vkGPU, void *arr, VkBuffer *buffer, uint64_t bufferSize)
VkResult checkValidationLayerSupport()
VkResult createInstance(VkGPU *vkGPU, uint64_t sample_id)
VkFFTResult devices_list()
VkResult createDevice(VkGPU *vkGPU, uint64_t sample_id)
VkResult getComputeQueueFamilyIndex(VkGPU *vkGPU)
void DestroyDebugUtilsMessengerEXT(VkGPU *vkGPU, const VkAllocationCallbacks *pAllocator)
static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
VkFFTResult performVulkanFFT(VkGPU *vkGPU, VkFFTApplication *app, VkFFTLaunchParams *launchParams, int inverse, uint64_t num_iter)
VkFFTResult allocateBuffer(VkGPU *vkGPU, VkBuffer *buffer, VkDeviceMemory *deviceMemory, VkBufferUsageFlags usageFlags, VkMemoryPropertyFlags propertyFlags, uint64_t size)
std::vector< const char * > getRequiredExtensions(VkGPU *vkGPU, uint64_t sample_id)
VkResult findPhysicalDevice(VkGPU *vkGPU)