Skip to content

Commit 98ec256

Browse files
tyoungscpraveenkk123
authored andcommitted
New FPGA reference design: ANR (oneapi-src#701)
* New FPGA reference design: ANR * Changes to address Peter's review: mostly formatting of constants and magic numbers.
1 parent 817f445 commit 98ec256

33 files changed

Lines changed: 3154 additions & 0 deletions
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
if(UNIX)
2+
# Direct CMake to use dpcpp rather than the default C++ compiler/linker
3+
set(CMAKE_CXX_COMPILER dpcpp)
4+
else() # Windows
5+
# Force CMake to use dpcpp rather than the default C++ compiler/linker
6+
# (needed on Windows only)
7+
include (CMakeForceCompiler)
8+
CMAKE_FORCE_CXX_COMPILER (dpcpp IntelDPCPP)
9+
include (Platform/Windows-Clang)
10+
endif()
11+
12+
cmake_minimum_required (VERSION 3.4)
13+
14+
project(ANR CXX)
15+
16+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
17+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
18+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
19+
20+
add_subdirectory (src)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Copyright Intel Corporation
2+
3+
SPDX-License-Identifier: MIT
4+
https://opensource.org/licenses/MIT
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all
14+
copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
SOFTWARE.
23+

DirectProgramming/DPC++FPGA/ReferenceDesigns/anr/README.md

Lines changed: 208 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.28307.705
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "anr", "anr.vcxproj", "{ACDE6B7A-6F9A-428E-B040-CEDC5B1E2C79}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|x64 = Debug|x64
11+
Release|x64 = Release|x64
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{ACDE6B7A-6F9A-428E-B040-CEDC5B1E2C79}.Debug|x64.ActiveCfg = Debug|x64
15+
{ACDE6B7A-6F9A-428E-B040-CEDC5B1E2C79}.Debug|x64.Build.0 = Debug|x64
16+
{ACDE6B7A-6F9A-428E-B040-CEDC5B1E2C79}.Release|x64.ActiveCfg = Release|x64
17+
{ACDE6B7A-6F9A-428E-B040-CEDC5B1E2C79}.Release|x64.Build.0 = Release|x64
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ExtensibilityGlobals) = postSolution
23+
SolutionGuid = {97D1BD74-AAAB-4835-8F00-37A58B70871A}
24+
EndGlobalSection
25+
EndGlobal
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|x64">
5+
<Configuration>Debug</Configuration>
6+
<Platform>x64</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|x64">
9+
<Configuration>Release</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
12+
</ItemGroup>
13+
<ItemGroup>
14+
<ClCompile Include="src\main.cpp" />
15+
</ItemGroup>
16+
<ItemGroup>
17+
<ClInclude Include="src\anr_params.hpp" />
18+
<ClInclude Include="src\anr.hpp" />
19+
<ClInclude Include="src\column_stencil.hpp" />
20+
<ClInclude Include="src\constants.hpp" />
21+
<ClInclude Include="src\data_bundle.hpp" />
22+
<ClInclude Include="src\dma_kernels.hpp" />
23+
<ClInclude Include="src\intensity_sigma_lut.hpp" />
24+
<ClInclude Include="src\mp_math.hpp" />
25+
<ClInclude Include="src\qfp_exp_lut.hpp" />
26+
<ClInclude Include="src\qfp_inv_lut.hpp" />
27+
<ClInclude Include="src\qfp.hpp" />
28+
<ClInclude Include="src\rom_base.hpp" />
29+
<ClInclude Include="src\row_stencil.hpp" />
30+
<ClInclude Include="src\shift_reg.hpp" />
31+
<ClInclude Include="src\unrolled_loop.hpp" />
32+
</ItemGroup>
33+
<ItemGroup>
34+
<None Include="README.md" />
35+
</ItemGroup>
36+
<PropertyGroup Label="Globals">
37+
<VCProjectVersion>15.0</VCProjectVersion>
38+
<ProjectGuid>{acde6b7a-6f9a-428e-b040-cedc5b1e2c79}</ProjectGuid>
39+
<Keyword>Win32Proj</Keyword>
40+
<RootNamespace>qrd</RootNamespace>
41+
<WindowsTargetPlatformVersion>$(WindowsSDKVersion.Replace("\",""))</WindowsTargetPlatformVersion>
42+
</PropertyGroup>
43+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
44+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
45+
<ConfigurationType>Application</ConfigurationType>
46+
<UseDebugLibraries>true</UseDebugLibraries>
47+
<PlatformToolset>Intel(R) oneAPI DPC++ Compiler</PlatformToolset>
48+
<CharacterSet>Unicode</CharacterSet>
49+
</PropertyGroup>
50+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
51+
<ConfigurationType>Application</ConfigurationType>
52+
<UseDebugLibraries>false</UseDebugLibraries>
53+
<PlatformToolset>Intel(R) oneAPI DPC++ Compiler</PlatformToolset>
54+
<WholeProgramOptimization>true</WholeProgramOptimization>
55+
<CharacterSet>Unicode</CharacterSet>
56+
</PropertyGroup>
57+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
58+
<ConfigurationType>Application</ConfigurationType>
59+
<UseDebugLibraries>true</UseDebugLibraries>
60+
<PlatformToolset>Intel(R) oneAPI DPC++ Compiler</PlatformToolset>
61+
<CharacterSet>Unicode</CharacterSet>
62+
</PropertyGroup>
63+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
64+
<ConfigurationType>Application</ConfigurationType>
65+
<UseDebugLibraries>false</UseDebugLibraries>
66+
<PlatformToolset>Intel(R) oneAPI DPC++ Compiler</PlatformToolset>
67+
<WholeProgramOptimization>true</WholeProgramOptimization>
68+
<CharacterSet>Unicode</CharacterSet>
69+
</PropertyGroup>
70+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
71+
<ImportGroup Label="ExtensionSettings">
72+
</ImportGroup>
73+
<ImportGroup Label="Shared">
74+
</ImportGroup>
75+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
76+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
77+
</ImportGroup>
78+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
79+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
80+
</ImportGroup>
81+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
82+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
83+
</ImportGroup>
84+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
85+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
86+
</ImportGroup>
87+
<PropertyGroup Label="UserMacros" />
88+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
89+
<LinkIncremental>true</LinkIncremental>
90+
</PropertyGroup>
91+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
92+
<LinkIncremental>true</LinkIncremental>
93+
</PropertyGroup>
94+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
95+
<LinkIncremental>false</LinkIncremental>
96+
</PropertyGroup>
97+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
98+
<LinkIncremental>false</LinkIncremental>
99+
</PropertyGroup>
100+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
101+
<ClCompile>
102+
<PrecompiledHeader>Use</PrecompiledHeader>
103+
<WarningLevel>Level3</WarningLevel>
104+
<Optimization>Disabled</Optimization>
105+
<SDLCheck>true</SDLCheck>
106+
<ConformanceMode>true</ConformanceMode>
107+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
108+
<AdditionalIncludeDirectories>$(ONEAPI_ROOT)dev-utilities\latest\include</AdditionalIncludeDirectories>
109+
</ClCompile>
110+
<Link>
111+
<SubSystem>Console</SubSystem>
112+
<GenerateDebugInformation>true</GenerateDebugInformation>
113+
</Link>
114+
</ItemDefinitionGroup>
115+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
116+
<ClCompile>
117+
<PrecompiledHeader>Use</PrecompiledHeader>
118+
<WarningLevel>Level3</WarningLevel>
119+
<Optimization>Disabled</Optimization>
120+
<SDLCheck>true</SDLCheck>
121+
<ConformanceMode>true</ConformanceMode>
122+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
123+
<EnableFPGACompilationAhead>true</EnableFPGACompilationAhead>
124+
<AdditionalOptions>-DFPGA_EMULATOR -fconstexpr-steps=5084968 %(AdditionalOptions)</AdditionalOptions>
125+
<ObjectFileName>
126+
</ObjectFileName>
127+
<AdditionalIncludeDirectories>$(ONEAPI_ROOT)dev-utilities\latest\include</AdditionalIncludeDirectories>
128+
</ClCompile>
129+
<Link>
130+
<SubSystem>Console</SubSystem>
131+
<GenerateDebugInformation>true</GenerateDebugInformation>
132+
</Link>
133+
<Manifest />
134+
</ItemDefinitionGroup>
135+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
136+
<ClCompile>
137+
<PrecompiledHeader>Use</PrecompiledHeader>
138+
<WarningLevel>Level3</WarningLevel>
139+
<Optimization>MaxSpeed</Optimization>
140+
<FunctionLevelLinking>true</FunctionLevelLinking>
141+
<IntrinsicFunctions>true</IntrinsicFunctions>
142+
<SDLCheck>true</SDLCheck>
143+
<ConformanceMode>true</ConformanceMode>
144+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
145+
<AdditionalIncludeDirectories>$(ONEAPI_ROOT)dev-utilities\latest\include</AdditionalIncludeDirectories>
146+
</ClCompile>
147+
<Link>
148+
<SubSystem>Console</SubSystem>
149+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
150+
<OptimizeReferences>true</OptimizeReferences>
151+
<GenerateDebugInformation>true</GenerateDebugInformation>
152+
</Link>
153+
</ItemDefinitionGroup>
154+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
155+
<ClCompile>
156+
<PrecompiledHeader>Use</PrecompiledHeader>
157+
<WarningLevel>Level3</WarningLevel>
158+
<Optimization>MaxSpeed</Optimization>
159+
<FunctionLevelLinking>true</FunctionLevelLinking>
160+
<IntrinsicFunctions>true</IntrinsicFunctions>
161+
<SDLCheck>true</SDLCheck>
162+
<ConformanceMode>true</ConformanceMode>
163+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
164+
<EnableFPGACompilationAhead>true</EnableFPGACompilationAhead>
165+
<AdditionalOptions>-DFPGA_EMULATOR -fconstexpr-steps=5084968 %(AdditionalOptions)</AdditionalOptions>
166+
<ObjectFileName>
167+
</ObjectFileName>
168+
<AdditionalIncludeDirectories>$(ONEAPI_ROOT)dev-utilities\latest\include</AdditionalIncludeDirectories>
169+
</ClCompile>
170+
<Link>
171+
<SubSystem>Console</SubSystem>
172+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
173+
<OptimizeReferences>true</OptimizeReferences>
174+
<GenerateDebugInformation>true</GenerateDebugInformation>
175+
</Link>
176+
</ItemDefinitionGroup>
177+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
178+
<ImportGroup Label="ExtensionTargets">
179+
</ImportGroup>
180+
</Project>
10.3 KB
Loading
27.6 KB
Loading
10.7 KB
Loading
23 KB
Loading
6.05 KB
Loading

0 commit comments

Comments
 (0)