Skip to content

Commit 611773e

Browse files
committed
Merge branch 'net5'
2 parents 1ef43d3 + a361ed6 commit 611773e

130 files changed

Lines changed: 8374 additions & 6507 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.config/dotnet-tools.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,8 @@
1414
"reportgenerator"
1515
]
1616
},
17-
"fake-cli": {
18-
"version": "5.20.0",
19-
"commands": [
20-
"fake"
21-
]
22-
},
2317
"paket": {
24-
"version": "5.245.1",
18+
"version": "6.0.13",
2519
"commands": [
2620
"paket"
2721
]
@@ -33,10 +27,16 @@
3327
]
3428
},
3529
"fsharp-analyzers": {
36-
"version": "0.4.0",
30+
"version": "0.9.0",
3731
"commands": [
3832
"fsharp-analyzers"
3933
]
34+
},
35+
"fantomas-tool": {
36+
"version": "4.5.4",
37+
"commands": [
38+
"fantomas"
39+
]
4040
}
4141
}
42-
}
42+
}

.devcontainer/Dockerfile

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,40 @@
1-
FROM fsharp:netcore
1+
FROM debian:buster-slim
2+
3+
4+
RUN apt-get update \
5+
&& apt-get install -y --no-install-recommends \
6+
ca-certificates \
7+
\
8+
# .NET Core dependencies
9+
libc6 \
10+
libgcc1 \
11+
libgssapi-krb5-2 \
12+
libicu63 \
13+
libssl1.1 \
14+
libstdc++6 \
15+
zlib1g \
16+
curl \
17+
git \
18+
procps \
19+
wget \
20+
&& rm -rf /var/lib/apt/lists/*
21+
22+
23+
ENV \
24+
# Enable detection of running in a container
25+
DOTNET_RUNNING_IN_CONTAINER=true \
26+
DOTNET_INSTALL_DIR=/usr/share/dotnet/ \
27+
DOTNET_ROOT=/usr/share/dotnet/
28+
29+
COPY ./.devcontainer/install-dotnets.sh global.json* .
30+
31+
RUN /bin/bash install-dotnets.sh
32+
33+
ENV PATH="$DOTNET_ROOT:${PATH}"
34+
RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
35+
36+
RUN dotnet --info
237

338
# Copy endpoint specific user settings into container to specify
439
# .NET Core should be used as the runtime.
5-
COPY settings.vscode.json /root/.vscode-remote/data/Machine/settings.json
6-
7-
# Install git, process tools
8-
RUN apt-get update && apt-get -y install git procps
40+
COPY ./.devcontainer/settings.vscode.json /root/.vscode-remote/data/Machine/settings.json

.devcontainer/devcontainer.json

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
{
2-
"name": "MiniScaffold",
2+
"name": "dotnet",
3+
// Set the build context one level higher so we can grab metadata like global.json
4+
"context": "..",
35
"dockerFile": "Dockerfile",
4-
"appPort": [8080],
6+
"forwardPorts": [
7+
0
8+
],
59
"extensions": [
610
"ionide.ionide-fsharp",
7-
"ms-dotnettools.csharp",
8-
"editorconfig.editorconfig",
9-
"ionide.ionide-paket",
10-
"ionide.ionide-fake"
11+
"ms-dotnettools.csharp",
12+
"editorconfig.editorconfig",
13+
"ionide.ionide-paket",
14+
"ionide.ionide-fake"
1115
]
12-
}
16+
}

.devcontainer/install-dotnets.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
# downloads installer script https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script
4+
curl -SL --output dotnet-install.sh https://dot.net/v1/dotnet-install.sh
5+
6+
7+
# Attempt to install via global.json first
8+
FILE=global.json
9+
if test -f "$FILE"; then
10+
echo "installing dotnet via $FILE"
11+
/bin/bash dotnet-install.sh --verbose --jsonfile $FILE
12+
fi
13+
14+
15+
# Add additional versions if required
16+
DOTNET_VERSIONS=(
17+
# 'latest'
18+
'5.0.100'
19+
)
20+
for version in ${DOTNET_VERSIONS[@]}; do
21+
echo "installing dotnet $version"
22+
/bin/bash dotnet-install.sh --verbose --version $version
23+
done

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,3 +271,7 @@ BenchmarkDotNet.Artifacts/
271271

272272
# Folder for datasets
273273
benchmarks/GraphBLAS-sharp.Benchmarks/Datasets
274+
275+
dmp_tmp/GraphBLAS-sharp/
276+
277+
dmp_tmp/

.paket/Paket.Restore.targets

Lines changed: 71 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
This value should match the version in the props generated by paket
160160
If they differ, this means we need to do a restore in order to ensure correct dependencies
161161
-->
162-
<PropertyGroup Condition="'$(PaketPropsVersion)' != '5.185.3' ">
162+
<PropertyGroup Condition="'$(PaketPropsVersion)' != '6.0.0' ">
163163
<PaketRestoreRequired>true</PaketRestoreRequired>
164164
</PropertyGroup>
165165

@@ -236,13 +236,16 @@
236236
<PackageName>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])</PackageName>
237237
<PackageVersion>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])</PackageVersion>
238238
<AllPrivateAssets>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])</AllPrivateAssets>
239-
<CopyLocal Condition="'%(PaketReferencesFileLinesInfo.Splits)' == '6'">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])</CopyLocal>
239+
<CopyLocal Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 6">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])</CopyLocal>
240+
<OmitContent Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 7">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[6])</OmitContent>
241+
<ImportTargets Condition="%(PaketReferencesFileLinesInfo.Splits) &gt;= 8">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[7])</ImportTargets>
240242
</PaketReferencesFileLinesInfo>
241243
<PackageReference Include="%(PaketReferencesFileLinesInfo.PackageName)">
242244
<Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
243245
<PrivateAssets Condition=" ('%(PaketReferencesFileLinesInfo.AllPrivateAssets)' == 'true') Or ('$(PackAsTool)' == 'true') ">All</PrivateAssets>
244-
<ExcludeAssets Condition=" '%(PaketReferencesFileLinesInfo.Splits)' == '6' And %(PaketReferencesFileLinesInfo.CopyLocal) == 'false'">runtime</ExcludeAssets>
245-
<ExcludeAssets Condition=" '%(PaketReferencesFileLinesInfo.Splits)' != '6' And %(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'exclude'">runtime</ExcludeAssets>
246+
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.CopyLocal) == 'false' or %(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'exclude'">runtime</ExcludeAssets>
247+
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.OmitContent) == 'true'">$(ExcludeAssets);contentFiles</ExcludeAssets>
248+
<ExcludeAssets Condition=" %(PaketReferencesFileLinesInfo.ImportTargets) == 'false'">$(ExcludeAssets);build;buildMultitargeting;buildTransitive</ExcludeAssets>
246249
<Publish Condition=" '$(PackAsTool)' == 'true' ">true</Publish>
247250
<AllowExplicitVersion>true</AllowExplicitVersion>
248251
</PackageReference>
@@ -289,14 +292,16 @@
289292
<PropertyGroup>
290293
<PaketProjectFile>$(MSBuildProjectDirectory)/$(MSBuildProjectFile)</PaketProjectFile>
291294
<ContinuePackingAfterGeneratingNuspec>true</ContinuePackingAfterGeneratingNuspec>
295+
<UseMSBuild16_10_Pack>false</UseMSBuild16_10_Pack>
296+
<UseMSBuild16_10_Pack Condition=" '@(MSBuildMajorVersion)' >= '16' AND '@(MSBuildMinorVersion)' > '10' ">true</UseMSBuild16_10_Pack>
292297
<UseMSBuild16_0_Pack>false</UseMSBuild16_0_Pack>
293-
<UseMSBuild16_0_Pack Condition=" '@(MSBuildMajorVersion)' >= '16' ">true</UseMSBuild16_0_Pack>
298+
<UseMSBuild16_0_Pack Condition=" '@(MSBuildMajorVersion)' >= '16' AND (! $(UseMSBuild16_10_Pack)) ">true</UseMSBuild16_0_Pack>
294299
<UseMSBuild15_9_Pack>false</UseMSBuild15_9_Pack>
295300
<UseMSBuild15_9_Pack Condition=" '@(MSBuildMajorVersion)' == '15' AND '@(MSBuildMinorVersion)' > '8' ">true</UseMSBuild15_9_Pack>
296301
<UseMSBuild15_8_Pack>false</UseMSBuild15_8_Pack>
297-
<UseMSBuild15_8_Pack Condition=" '$(NuGetToolVersion)' != '4.0.0' AND (! $(UseMSBuild15_9_Pack)) AND (! $(UseMSBuild16_0_Pack)) ">true</UseMSBuild15_8_Pack>
302+
<UseMSBuild15_8_Pack Condition=" '$(NuGetToolVersion)' != '4.0.0' AND (! $(UseMSBuild15_9_Pack)) AND (! $(UseMSBuild16_0_Pack)) AND (! $(UseMSBuild16_10_Pack)) ">true</UseMSBuild15_8_Pack>
298303
<UseNuGet4_Pack>false</UseNuGet4_Pack>
299-
<UseNuGet4_Pack Condition=" (! $(UseMSBuild15_8_Pack)) AND (! $(UseMSBuild15_9_Pack)) AND (! $(UseMSBuild16_0_Pack)) ">true</UseNuGet4_Pack>
304+
<UseNuGet4_Pack Condition=" (! $(UseMSBuild15_8_Pack)) AND (! $(UseMSBuild15_9_Pack)) AND (! $(UseMSBuild16_0_Pack)) AND (! $(UseMSBuild16_10_Pack)) ">true</UseNuGet4_Pack>
300305
<AdjustedNuspecOutputPath>$(PaketIntermediateOutputPath)\$(Configuration)</AdjustedNuspecOutputPath>
301306
<AdjustedNuspecOutputPath Condition="@(_NuspecFilesNewLocation) == ''">$(PaketIntermediateOutputPath)</AdjustedNuspecOutputPath>
302307
</PropertyGroup>
@@ -314,6 +319,55 @@
314319
</ConvertToAbsolutePath>
315320

316321
<!-- Call Pack -->
322+
<PackTask Condition="$(UseMSBuild16_10_Pack)"
323+
PackItem="$(PackProjectInputFile)"
324+
PackageFiles="@(_PackageFiles)"
325+
PackageFilesToExclude="@(_PackageFilesToExclude)"
326+
PackageVersion="$(PackageVersion)"
327+
PackageId="$(PackageId)"
328+
Title="$(Title)"
329+
Authors="$(Authors)"
330+
Description="$(Description)"
331+
Copyright="$(Copyright)"
332+
RequireLicenseAcceptance="$(PackageRequireLicenseAcceptance)"
333+
LicenseUrl="$(PackageLicenseUrl)"
334+
ProjectUrl="$(PackageProjectUrl)"
335+
IconUrl="$(PackageIconUrl)"
336+
ReleaseNotes="$(PackageReleaseNotes)"
337+
Tags="$(PackageTags)"
338+
DevelopmentDependency="$(DevelopmentDependency)"
339+
BuildOutputInPackage="@(_BuildOutputInPackage)"
340+
TargetPathsToSymbols="@(_TargetPathsToSymbols)"
341+
SymbolPackageFormat="$(SymbolPackageFormat)"
342+
TargetFrameworks="@(_TargetFrameworks)"
343+
AssemblyName="$(AssemblyName)"
344+
PackageOutputPath="$(PackageOutputAbsolutePath)"
345+
IncludeSymbols="$(IncludeSymbols)"
346+
IncludeSource="$(IncludeSource)"
347+
PackageTypes="$(PackageType)"
348+
IsTool="$(IsTool)"
349+
RepositoryUrl="$(RepositoryUrl)"
350+
RepositoryType="$(RepositoryType)"
351+
SourceFiles="@(_SourceFiles->Distinct())"
352+
NoPackageAnalysis="$(NoPackageAnalysis)"
353+
MinClientVersion="$(MinClientVersion)"
354+
Serviceable="$(Serviceable)"
355+
FrameworkAssemblyReferences="@(_FrameworkAssemblyReferences)"
356+
ContinuePackingAfterGeneratingNuspec="$(ContinuePackingAfterGeneratingNuspec)"
357+
NuspecOutputPath="$(AdjustedNuspecOutputPath)"
358+
IncludeBuildOutput="$(IncludeBuildOutput)"
359+
BuildOutputFolders="$(BuildOutputTargetFolder)"
360+
ContentTargetFolders="$(ContentTargetFolders)"
361+
RestoreOutputPath="$(RestoreOutputAbsolutePath)"
362+
NuspecFile="$(NuspecFileAbsolutePath)"
363+
NuspecBasePath="$(NuspecBasePath)"
364+
NuspecProperties="$(NuspecProperties)"
365+
PackageLicenseFile="$(PackageLicenseFile)"
366+
PackageLicenseExpression="$(PackageLicenseExpression)"
367+
PackageLicenseExpressionVersion="$(PackageLicenseExpressionVersion)"
368+
Readme="$(PackageReadmeFile)"
369+
NoDefaultExcludes="$(NoDefaultExcludes)"/>
370+
317371
<PackTask Condition="$(UseMSBuild16_0_Pack)"
318372
PackItem="$(PackProjectInputFile)"
319373
PackageFiles="@(_PackageFiles)"
@@ -343,6 +397,8 @@
343397
IsTool="$(IsTool)"
344398
RepositoryUrl="$(RepositoryUrl)"
345399
RepositoryType="$(RepositoryType)"
400+
RepositoryBranch="$(RepositoryBranch)"
401+
RepositoryCommit="$(RepositoryCommit)"
346402
SourceFiles="@(_SourceFiles->Distinct())"
347403
NoPackageAnalysis="$(NoPackageAnalysis)"
348404
MinClientVersion="$(MinClientVersion)"
@@ -359,7 +415,8 @@
359415
NuspecProperties="$(NuspecProperties)"
360416
PackageLicenseFile="$(PackageLicenseFile)"
361417
PackageLicenseExpression="$(PackageLicenseExpression)"
362-
PackageLicenseExpressionVersion="$(PackageLicenseExpressionVersion)" />
418+
PackageLicenseExpressionVersion="$(PackageLicenseExpressionVersion)"
419+
NoDefaultExcludes="$(NoDefaultExcludes)" />
363420

364421
<PackTask Condition="$(UseMSBuild15_9_Pack)"
365422
PackItem="$(PackProjectInputFile)"
@@ -390,6 +447,8 @@
390447
IsTool="$(IsTool)"
391448
RepositoryUrl="$(RepositoryUrl)"
392449
RepositoryType="$(RepositoryType)"
450+
RepositoryBranch="$(RepositoryBranch)"
451+
RepositoryCommit="$(RepositoryCommit)"
393452
SourceFiles="@(_SourceFiles->Distinct())"
394453
NoPackageAnalysis="$(NoPackageAnalysis)"
395454
MinClientVersion="$(MinClientVersion)"
@@ -433,6 +492,8 @@
433492
IsTool="$(IsTool)"
434493
RepositoryUrl="$(RepositoryUrl)"
435494
RepositoryType="$(RepositoryType)"
495+
RepositoryBranch="$(RepositoryBranch)"
496+
RepositoryCommit="$(RepositoryCommit)"
436497
SourceFiles="@(_SourceFiles->Distinct())"
437498
NoPackageAnalysis="$(NoPackageAnalysis)"
438499
MinClientVersion="$(MinClientVersion)"
@@ -475,6 +536,8 @@
475536
IsTool="$(IsTool)"
476537
RepositoryUrl="$(RepositoryUrl)"
477538
RepositoryType="$(RepositoryType)"
539+
RepositoryBranch="$(RepositoryBranch)"
540+
RepositoryCommit="$(RepositoryCommit)"
478541
SourceFiles="@(_SourceFiles->Distinct())"
479542
NoPackageAnalysis="$(NoPackageAnalysis)"
480543
MinClientVersion="$(MinClientVersion)"

GraphBLAS-sharp.sln

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "GraphBLAS-sharp.Benchmarks"
1717
EndProject
1818
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "docsTool", "docsTool\docsTool.fsproj", "{8855EC73-F6A1-43D3-AFBC-04A3E09F9BD9}"
1919
EndProject
20+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "GraphBLAS-sharp.Backend", "src\GraphBLAS-sharp.Backend\GraphBLAS-sharp.Backend.fsproj", "{1E68C381-1E5F-4038-96B9-5BE79D381562}"
21+
EndProject
2022
Global
2123
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2224
Debug|Any CPU = Debug|Any CPU
@@ -78,10 +80,23 @@ Global
7880
{4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x64.Build.0 = Release|Any CPU
7981
{4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x86.ActiveCfg = Release|Any CPU
8082
{4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x86.Build.0 = Release|Any CPU
83+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
84+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Debug|Any CPU.Build.0 = Debug|Any CPU
85+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Debug|x64.ActiveCfg = Debug|Any CPU
86+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Debug|x64.Build.0 = Debug|Any CPU
87+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Debug|x86.ActiveCfg = Debug|Any CPU
88+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Debug|x86.Build.0 = Debug|Any CPU
89+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Release|Any CPU.ActiveCfg = Release|Any CPU
90+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Release|Any CPU.Build.0 = Release|Any CPU
91+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Release|x64.ActiveCfg = Release|Any CPU
92+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Release|x64.Build.0 = Release|Any CPU
93+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Release|x86.ActiveCfg = Release|Any CPU
94+
{1E68C381-1E5F-4038-96B9-5BE79D381562}.Release|x86.Build.0 = Release|Any CPU
8195
EndGlobalSection
8296
GlobalSection(NestedProjects) = preSolution
8397
{5D30E174-2538-47AC-8443-318C8C5DC2C9} = {C397A34C-84F1-49E7-AEBC-2F9F2B196216}
8498
{1CA2E092-2320-451D-A4F0-9ED7C7C528CA} = {ACBEE43C-7A88-4FB1-9B06-DB064D22B29F}
8599
{4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6} = {DEF656DE-BCED-4C49-B5ED-950D4A29B78B}
100+
{1E68C381-1E5F-4038-96B9-5BE79D381562} = {C397A34C-84F1-49E7-AEBC-2F9F2B196216}
86101
EndGlobalSection
87102
EndGlobal

benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarksBFS.fs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ open BenchmarkDotNet.Columns
88
open System.IO
99
open System
1010
open System.Text.RegularExpressions
11-
open Brahma.FSharp.OpenCL.WorkflowBuilder.Evaluation
11+
open Brahma.FSharp.OpenCL
1212
open OpenCL.Net
1313
open GraphBLAS.FSharp.IO
1414
open QuickGraph
@@ -29,8 +29,9 @@ type BFSBenchmarks() =
2929
[<ParamsSource("AvaliableContextsProvider")>]
3030
member val OclContext = Unchecked.defaultof<ClContext> with get, set
3131
member this.Context =
32-
let (ClContext context) = this.OclContext
33-
context
32+
failwith "fix me"
33+
//let (ClContext context) = this.OclContext
34+
//context
3435

3536
[<ParamsSource("InputMatricesProvider")>]
3637
member val InputMatrixReader = Unchecked.defaultof<MtxReader> with get, set
@@ -39,14 +40,16 @@ type BFSBenchmarks() =
3940
member this.BuildGraph() =
4041
let inputMatrix = this.InputMatrixReader.ReadMatrix(fun _ -> 1)
4142

42-
matrix <-
43+
failwith "fix me"
44+
(*matrix <-
4345
graphblas {
44-
return! Matrix.switch CSR inputMatrix
45-
>>= Matrix.synchronizeAndReturn
46+
failwith "fix me"
47+
//return! Matrix.switch CSR inputMatrix
48+
//>>= Matrix.synchronizeAndReturn
4649
}
4750
|> EvalGB.withClContext this.Context
4851
|> EvalGB.runSync
49-
52+
*)
5053
match inputMatrix with
5154
| MatrixCSR csr -> failwith "Not implemented"
5255
| MatrixCOO coo ->
@@ -69,7 +72,8 @@ type BFSBenchmarks() =
6972
member this.QuickGraphBFS() =
7073
bfs.Compute(source)
7174

72-
[<IterationCleanup>]
75+
//TODO fix me
76+
(*[<IterationCleanup>]
7377
member this.ClearBuffers() =
7478
this.Context.Provider.CloseAllBuffers()
7579
@@ -78,6 +82,8 @@ type BFSBenchmarks() =
7882
let (ClContext context) = this.OclContext
7983
context.Provider.Dispose()
8084
85+
*)
86+
8187
static member AvaliableContextsProvider = Utils.avaliableContexts
8288

8389
static member InputMatricesProvider =

0 commit comments

Comments
 (0)