From b51a758d8054e8563700d8015146f7d7910d3dd3 Mon Sep 17 00:00:00 2001 From: Matthew Johnson Date: Fri, 24 Apr 2015 00:58:14 +0100 Subject: [PATCH] Skeleton for the CUDA native provider DLL project. --- MathNet.Numerics.NativeProviders.sln | 20 ++++ src/NativeProviders/CUDA/blas.c | 0 src/NativeProviders/CUDA/capabilities.cpp | 0 src/NativeProviders/CUDA/lapack.cpp | 0 src/NativeProviders/CUDA/memory.c | 0 src/NativeProviders/CUDA/vector_functions.c | 0 .../Windows/CUDA/CUDAWrapper.vcxproj | 96 +++++++++++++++++++ .../Windows/CUDA/CUDAWrapper.vcxproj.filters | 42 ++++++++ 8 files changed, 158 insertions(+) create mode 100644 src/NativeProviders/CUDA/blas.c create mode 100644 src/NativeProviders/CUDA/capabilities.cpp create mode 100644 src/NativeProviders/CUDA/lapack.cpp create mode 100644 src/NativeProviders/CUDA/memory.c create mode 100644 src/NativeProviders/CUDA/vector_functions.c create mode 100644 src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj create mode 100644 src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj.filters diff --git a/MathNet.Numerics.NativeProviders.sln b/MathNet.Numerics.NativeProviders.sln index 141b7074..232e00b6 100644 --- a/MathNet.Numerics.NativeProviders.sln +++ b/MathNet.Numerics.NativeProviders.sln @@ -20,6 +20,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Numerics", "src\Numerics\Nu EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-MKL", "src\UnitTests\UnitTests-MKL.csproj", "{3515A344-AB5F-41C7-A14C-04A79B3FFAB1}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CUDA", "src\NativeProviders\Windows\CUDA\CUDAWrapper.vcxproj", "{5A52B796-7F41-4C90-8DE2-F3F391C4482C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -111,6 +113,24 @@ Global {3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Mixed Platforms.Build.0 = Release|Any CPU {3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|Win32.ActiveCfg = Release|Any CPU {3515A344-AB5F-41C7-A14C-04A79B3FFAB1}.Release-Signed|x64.ActiveCfg = Release|Any CPU + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Debug|Win32.ActiveCfg = Debug|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Debug|Win32.Build.0 = Debug|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Debug|x64.ActiveCfg = Debug|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release|Any CPU.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release|Mixed Platforms.Build.0 = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release|Win32.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release|Win32.Build.0 = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release|x64.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release-Signed|Any CPU.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release-Signed|Mixed Platforms.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release-Signed|Mixed Platforms.Build.0 = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release-Signed|Win32.ActiveCfg = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release-Signed|Win32.Build.0 = Release|Win32 + {5A52B796-7F41-4C90-8DE2-F3F391C4482C}.Release-Signed|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/NativeProviders/CUDA/blas.c b/src/NativeProviders/CUDA/blas.c new file mode 100644 index 00000000..e69de29b diff --git a/src/NativeProviders/CUDA/capabilities.cpp b/src/NativeProviders/CUDA/capabilities.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/NativeProviders/CUDA/lapack.cpp b/src/NativeProviders/CUDA/lapack.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/NativeProviders/CUDA/memory.c b/src/NativeProviders/CUDA/memory.c new file mode 100644 index 00000000..e69de29b diff --git a/src/NativeProviders/CUDA/vector_functions.c b/src/NativeProviders/CUDA/vector_functions.c new file mode 100644 index 00000000..e69de29b diff --git a/src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj b/src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj new file mode 100644 index 00000000..22dc1a85 --- /dev/null +++ b/src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj @@ -0,0 +1,96 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + {5A52B796-7F41-4C90-8DE2-F3F391C4482C} + CUDA + CUDA + + + + DynamicLibrary + true + v120 + MultiByte + + + DynamicLibrary + false + v120 + true + MultiByte + + + + + + + + + + + + + $(ProjectDir)..\..\..\..\out\CUDA\Windows\x86\ + $(Platform)\$(Configuration)\ + MathNet.Numerics.CUDA + + + $(ProjectDir)..\..\..\..\out\CUDA\Windows\x86\ + $(Platform)\$(Configuration)\ + MathNet.Numerics.CUDA + + + + Level3 + Disabled + true + $(CUDA_PATH)\include;$(ProjectDir)..\..\Common;$(ProjectDir)..\..\CUDA;%(AdditionalIncludeDirectories) + + + true + cublas.lib;%(AdditionalDependencies) + $(CUDA_PATH)\lib\x64;%(AdditionalLibraryDirectories) + + + + + Level3 + MaxSpeed + true + true + true + $(CUDA_PATH)\include;$(ProjectDir)..\..\Common;$(ProjectDir)..\..\CUDA;%(AdditionalIncludeDirectories) + + + true + true + true + cublas.lib;%(AdditionalDependencies) + $(CUDA_PATH)\lib\x64;%(AdditionalLibraryDirectories) + + + + + + \ No newline at end of file diff --git a/src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj.filters b/src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj.filters new file mode 100644 index 00000000..f834db07 --- /dev/null +++ b/src/NativeProviders/Windows/CUDA/CUDAWrapper.vcxproj.filters @@ -0,0 +1,42 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file