-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathTensor.fsproj
More file actions
121 lines (105 loc) · 5 KB
/
Copy pathTensor.fsproj
File metadata and controls
121 lines (105 loc) · 5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="../../Common.targets" />
<PropertyGroup>
<DefaultBLAS Condition=" '$(DefaultBLAS)' == '' ">IntelMKL</DefaultBLAS>
</PropertyGroup>
<PropertyGroup>
<PackageId>Tensor</PackageId>
<title>F# Tensor (multidimensional array) library with SIMD and GPU acceleration</title>
<summary>Provides n-dimensional arrays (tensors) in host memory or on CUDA GPUs. Support many operations from NumPy.</summary>
<description>
Tensor (n-dimensional array) library for F#
Core features:
- n-dimensional arrays (tensors) in host memory or on CUDA GPUs
- element-wise operations (addition, multiplication, absolute value, etc.)
- basic linear algebra operations (dot product, SVD decomposition, matrix inverse, etc.)
- reduction operations (sum, product, average, maximum, arg max, etc.)
- logic operations (comparision, and, or, etc.)
- views, slicing, reshaping, broadcasting (similar to NumPy)
- scatter and gather by indices
- standard functional operations (map, fold, etc.)
Data exchange:
- read/write support for HDF5 (.h5)
- interop with standard F# types (Seq, List, Array, Array2D, Array3D, etc.)
Performance:
- host: SIMD and BLAS accelerated operations
- by default Intel MKL is used (shipped with NuGet package)
- other BLASes (OpenBLAS, vendor-specific) can be selected by configuration option
- CUDA GPU: all operations performed locally on GPU and cuBLAS used for matrix operations
Requirements:
- Linux, MacOS or Windows on x64
- Linux requires libgomp.so.1 installed.
Additional algorithms are provided in the Tensor.Algorithm package.
</description>
<PackageTags>Tensor ndarray array MKL SIMD BLAS CUDA CUBLAS HDF5</PackageTags>
<PackageProjectUrl>http://www.deepml.net/Tensor</PackageProjectUrl>
<Platforms>x64</Platforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DefineConstants>TRACE;DEBUG;$(DefaultBLAS)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DefineConstants>$(DefaultBLAS)</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="HDF.PInvoke.NETStandard" Version="1.10.200" />
<PackageReference Include="ManagedCuda.NETStandard" Version="9.1.300" />
<PackageReference Include="ManagedCuda-CUBLAS.NETStandard" Version="9.1.300" />
<PackageReference Include="ManagedCuda-NVRTC.NETStandard" Version="9.1.300" />
<PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
<PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="Utils.fs" />
<Compile Include="DiskMap.fs" />
<Compile Include="NativeLib.fs" />
<Compile Include="HDF5.fs" />
<Compile Include="Sgn.fs" />
<Compile Include="ScalarPrimitives.fs" />
<Compile Include="TensorRng.fs" />
<Compile Include="TensorLayout.fs" />
<Compile Include="TensorBackend.fs" />
<Compile Include="ITensor.fs" />
<Compile Include="Tensor.fs" />
<Compile Include="TensorVal.fs" />
<Compile Include="BlasSupport.fs" />
<Compile Include="Host/HostCfg.fs" />
<Compile Include="Host/HostBLAS.fs" />
<Compile Include="Host/FastAccess.fs" />
<Compile Include="Host/ScalarOps.fs" />
<Compile Include="Host/VectorOps.fs" />
<Compile Include="Host/HostBackend.fs" />
<Compile Include="Host/HostFrontend.fs" />
<Compile Include="Cuda/CudaCfg.fs" />
<Compile Include="Cuda/CudaUtils.fs" />
<Compile Include="Cuda/CudaBLAS.fs" />
<Compile Include="Cuda/CudaRegMem.fs" />
<Compile Include="Cuda/NativeTensor.fs" />
<Compile Include="Cuda/KernelCompiler.fs" />
<Compile Include="Cuda/CudaKernels.fs" />
<Compile Include="Cuda/CudaBackend.fs" />
<Compile Include="Cuda/CudaFrontend.fs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Cuda/Kernels/*.cuh" />
</ItemGroup>
<ItemGroup Condition=" '$(DefaultBLAS)' == 'IntelMKL' ">
<Content Include="Host/MKL/libtensor_mkl.so" PackagePath="runtimes/linux-x64/native">
<Link>libtensor_mkl.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Host/MKL/libtensor_mkl.dylib" PackagePath="runtimes/osx-x64/native">
<Link>libtensor_mkl.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Host/MKL/tensor_mkl.dll" PackagePath="runtimes/win-x64/native">
<Link>tensor_mkl.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Host/MKL/libiomp5md.dll" PackagePath="runtimes/win-x64/native">
<Link>libiomp5md.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>