Skip to content

Commit b76a0d0

Browse files
authored
Merge branch 'main' into OpenAI_Whisper
2 parents f12e903 + 300e016 commit b76a0d0

File tree

135 files changed

+4510
-402
lines changed

Some content is hidden

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

135 files changed

+4510
-402
lines changed

.github/workflows/deploy.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ on:
2121
required: true
2222
HUGO_AUDIO_API:
2323
required: true
24+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID:
25+
required: true
26+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP:
27+
required: true
2428

2529
env:
2630
HUGO_VERSION: 0.130.0
@@ -69,6 +73,8 @@ jobs:
6973
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
7074
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}
7175
HUGO_AUDIO_API: ${{ secrets.HUGO_AUDIO_API }}
76+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID: ${{ secrets.HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID }}
77+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP: ${{ secrets.HUGO_FORM_ID_FOR_PROGRAM_SIGNUP }}
7278

7379
# Deploys website to AWS S3 and invalidate CloudFront Cache
7480
- name: Deploy to S3

.github/workflows/main.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@ jobs:
2424
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
2525
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}
2626
HUGO_AUDIO_API: ${{ secrets.HUGO_AUDIO_API }}
27+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID: ${{ secrets.HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID }}
28+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP: ${{ secrets.HUGO_FORM_ID_FOR_PROGRAM_SIGNUP }}

.github/workflows/production.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@ jobs:
2424
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
2525
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}
2626
HUGO_AUDIO_API: ${{ secrets.HUGO_AUDIO_API }}
27+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID: ${{ secrets.HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID }}
28+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP: ${{ secrets.HUGO_FORM_ID_FOR_PROGRAM_SIGNUP }}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ node_modules/
66
package-lock.json
77
.hugo_build.lock
88
.vscode
9+
.env
10+
startup.sh
911

1012
# macOS files
1113
*.DS_Store

.wordlist.txt

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3688,4 +3688,84 @@ ver
36883688
vit
36893689
wav
36903690
za
3691-
zh
3691+
zh
3692+
ACM
3693+
APs
3694+
ASG
3695+
AutoModelForSpeechSeq
3696+
AutoProcessor
3697+
Avin
3698+
Bioinformatics
3699+
CDK
3700+
Dropbear
3701+
DxeCore
3702+
EFI
3703+
FFTW
3704+
HMMER
3705+
ILP
3706+
IoC
3707+
Jython
3708+
Khrustalev
3709+
LCP
3710+
Maranget
3711+
Minimap
3712+
NFS
3713+
NVPL
3714+
OMP
3715+
OSR
3716+
OneAPI
3717+
OpenRNG
3718+
OpenSSH
3719+
Phttps
3720+
RNG
3721+
Runbook
3722+
SSM
3723+
Shrinkwrap
3724+
Shrinkwrap's
3725+
TSO
3726+
TSan
3727+
TSan's
3728+
ThreadSanitizer
3729+
Toolkits
3730+
ULP
3731+
ULPs
3732+
VSL
3733+
Yury
3734+
Zarlez
3735+
ada
3736+
armtest
3737+
atomicity
3738+
autoscaling
3739+
cmath
3740+
cuBLAS
3741+
cuDNN
3742+
distro's
3743+
dtype
3744+
dxecore
3745+
foir
3746+
fourier
3747+
getter
3748+
libm
3749+
miniconda
3750+
msg
3751+
nInferencing
3752+
oneAPI
3753+
oneapi
3754+
openai
3755+
pseudorandom
3756+
quasirandom
3757+
reorderings
3758+
rootfs
3759+
runbook
3760+
safetensors
3761+
superset
3762+
sysroot
3763+
testroot
3764+
threadsanitizercppmanual
3765+
toolchain's
3766+
transpiles
3767+
vectorstore
3768+
vlen
3769+
vv
3770+
webhook
3771+
xE

assets/css/feedback.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
#feedback-container {
33
min-height: 200px;
4-
54
}
65

76
/****************************************************/
578 KB
Loading

content/install-guides/wperf.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,46 @@ WindowsPerf consists of a kernel-mode driver and a user-space command-line tool.
3939
You cannot use WindowsPerf on virtual machines, such as cloud instances.
4040
{{% /notice %}}
4141

42+
## Using winget (Recommended)
43+
44+
### Install
45+
46+
You can now install WindowsPerf directly from [winget](https://learn.microsoft.com/en-us/windows/package-manager/). Open an `Administrator` terminal on PowerShell and type
47+
48+
```console
49+
winget install WindowsPerf
50+
```
51+
52+
The output should look like:
53+
54+
```output
55+
Found WindowsPerf [Arm.WindowsPerf] Version 4.3.1.0
56+
This application is licensed to you by its owner.
57+
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
58+
Downloading https://developer.arm.com/-/cdn-downloads/permalink/WindowsPerf/Installer/windowsperf-4.3.1.msi
59+
3.07 MB
60+
Successfully verified installer hash
61+
Starting package install...
62+
Successfully installed
63+
```
64+
65+
![Winget installation video](/install-guides/_images/wperf-winget-installation.gif)
66+
67+
It will install the lastest available WindowsPerf along with the [WPA plugins](/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/). To check that the installation was done correctly open a new terminal tab or window and follow the instructions under the [verify installation section](/install-guides/wperf/#verify-install)
68+
69+
### Uninstall
70+
If you need to uninstall WindowsPerf, open an `Administrator` terminal on PowerShell and run:
71+
```console
72+
winget uninstall WindowsPerf
73+
```
74+
75+
The output from a successfull uninstallation will look like:
76+
```output
77+
Found WindowsPerf [Arm.WindowsPerf]
78+
Starting package uninstall...
79+
Successfully uninstalled
80+
```
81+
4282
## Visual Studio and the Windows Driver Kit (WDK)
4383

4484
WindowsPerf relies on `dll` files installed with Visual Studio, from the Community Edition or higher and, optionally, installers from the Windows Driver Kit extension.
@@ -86,7 +126,7 @@ Make sure you are in the `windowsperf-bin-<version>` directory:
86126
cd windowsperf-bin-4.0.0
87127
```
88128

89-
### Install with wperf-devgen {#devgen_install}
129+
### Install with wperf-devgen
90130

91131
Navigate to the `wperf-driver` folder and run the installer:
92132

@@ -103,7 +143,7 @@ Install requested.
103143
Device installed successfully
104144
```
105145

106-
## Verify install
146+
## Verify install
107147

108148
You can check everything is working by running the `wperf` executable.
109149

content/learning-paths/cross-platform/_example-learning-path/appendix-3-test.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ The framework allows you to parse Learning Path articles and generate instructio
1818
2. [Edit Learning Path pages](#edit-learning-path-pages)
1919
3. [Edit metadata](#edit-metadata)
2020
4. [Run the framework](#run-the-framework)
21-
5. [Result summary](#result-summary)
22-
6. [Visualize results](#visualize-results)
23-
21+
5. [Advanced usage for embedded development](#advanced-usage-for-embedded-development)
2422

2523
## Install dependencies
2624

@@ -279,7 +277,7 @@ In the example above, the summary indicates that for this Learning Path all test
279277
## Advanced usage for embedded development
280278
### Using the Corstone-300 FVP
281279

282-
By default, the framework runs instructions on the Docker images specified by the [metadata](#edit-metadata). For embedded development, it is possible to build software in a container instance and then check its behaviour on the Corstone-300 FVP.
280+
By default, the framework runs instructions on the Docker images specified by the [metadata](#edit-metadata). For embedded development, it is possible to build software in a container instance and then check its behavior on the Corstone-300 FVP.
283281

284282
For this, all container instances used by the test framework mount a volume in `/shared`. This is where software for the target FVP can be stored. To check the execution, the FVP commands just need to be identified as a `fvp` section for the framework.
285283

content/learning-paths/cross-platform/matrix/3-code-1.md

Lines changed: 52 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ In the Matrix processing library, you implement two types of checks:
2323

2424
The idea here is to make the program fail in a noticeable way. Of course, in a real world application, the error should be caught and dealt with by the application, if it can. Error handling, and especially recovering from errors, can be a complex topic.
2525

26-
At the top of file `include/Matrix/Matrix.h`, include `<cassert>` to get the C-style assertions declarations for checks in `Debug` mode only:
26+
At the top of file `include/Matrix/Matrix.h`, include `<cassert>` to get the C-style assertions declarations for checks in `Debug` mode only, as well as `<cstddef>` which provides standard C declaration like `size_t`:
2727

2828
```CPP
2929
#pragma once
3030

3131
#include <cassert>
32+
#include <cstddef>
3233

3334
namespace MatComp {
3435
```
@@ -44,7 +45,7 @@ const Version &getVersion();
4445
/// and the EXIT_FAILURE error code. It will also print the file name (\p
4546
/// fileName) and line number (\p lineNumber) that caused that application to
4647
/// exit.
47-
[[noreturn]] void die(const char *fileName, std::size_t lineNumber,
48+
[[noreturn]] void die(const char *fileName, size_t lineNumber,
4849
const char *reason);
4950
5051
```
@@ -109,10 +110,11 @@ The Matrix data structure has the following private data members:
109110
Modern C++ offers constructs in the language to deal safely with memory; you will use `std::unique_ptr` which guaranties that the Matrix class will be safe from a whole range of memory management errors.
110111

111112
Add the following includes at the top of `include/Matrix/Matrix.h`, right under
112-
the '<cassert>' include:
113+
the `<cstddef>` include:
113114

114115
```CPP
115116
#include <cassert>
117+
#include <cstddef>
116118
#include <cstring>
117119
#include <initializer_list>
118120
#include <iostream>
@@ -229,12 +231,6 @@ TEST(Matrix, defaultConstruct) {
229231
TEST(Matrix, booleanConversion) {
230232
EXPECT_FALSE(Matrix<int8_t>());
231233
EXPECT_FALSE(Matrix<double>());
232-
233-
EXPECT_TRUE(Matrix<int8_t>(1, 1));
234-
EXPECT_TRUE(Matrix<double>(1, 1));
235-
236-
EXPECT_TRUE(Matrix<int8_t>(1, 1, 1));
237-
EXPECT_TRUE(Matrix<double>(1, 1, 2.0));
238234
}
239235
```
240236

@@ -320,9 +316,9 @@ The tests should still pass, check for yourself.
320316
The next step is to be able to construct valid matrices, so add this constructor to the public section of class `Matrix` in `include/Matrix/Matrix.h`:
321317

322318
```CPP
323-
/// Construct a \p numRows x \p numColumns uninitialized Matrix
324-
Matrix(size_t numRows, size_t numColumns)
325-
: numRows(numRows), numColumns(numColumns), data() {
319+
/// Construct a \p numRows x \p numCols uninitialized Matrix
320+
Matrix(size_t numRows, size_t numCols)
321+
: numRows(numRows), numColumns(numCmns), data() {
326322
allocate(getNumElements());
327323
}
328324
```
@@ -348,6 +344,17 @@ TEST(Matrix, uninitializedConstruct) {
348344
```
349345

350346
This constructs a valid `Matrix` if it contains elements), and the `uninitializedConstruct` test checks that two valid matrices of different types and dimensions can be constructed.
347+
You should also update the `booleanConversion` test in this file to check for boolean conversion for valid matrices so it now looks like:
348+
349+
```CPP
350+
TEST(Matrix, booleanConversion) {
351+
EXPECT_FALSE(Matrix<int8_t>());
352+
EXPECT_FALSE(Matrix<double>());
353+
354+
EXPECT_TRUE(Matrix<int8_t>(1, 1));
355+
EXPECT_TRUE(Matrix<double>(1, 1));
356+
}
357+
```
351358
352359
Compile and test again, all should pass:
353360
@@ -374,6 +381,35 @@ ninja check
374381
[ PASSED ] 4 tests.
375382
```
376383

384+
Another constructor that is missing is one that will create and initialize matrices to a known value. Let's add it to `Matrix` in `include/Matrix/Matrix.h`:
385+
386+
```CPP
387+
/// Construct a \p numRows x \p numCols Matrix with all elements
388+
/// initialized to value \p val.
389+
Matrix(size_t numRows, size_t numCols, Ty val) : Matrix(numRows, numCols) {
390+
allocate(getNumElements());
391+
for (size_t i = 0; i < getNumElements(); i++)
392+
data[i] = val;
393+
}
394+
```
395+
396+
Add boolean conversion tests for this new constructor by modifying `booleanConversion` in `tests/Matrix.cpp` so it looks like:
397+
398+
```CPP
399+
TEST(Matrix, booleanConversion) {
400+
EXPECT_FALSE(Matrix<int8_t>());
401+
EXPECT_FALSE(Matrix<double>());
402+
403+
EXPECT_TRUE(Matrix<int8_t>(1, 1));
404+
EXPECT_TRUE(Matrix<double>(1, 1));
405+
406+
EXPECT_TRUE(Matrix<int8_t>(1, 1, 1));
407+
EXPECT_TRUE(Matrix<double>(1, 1, 2.0));
408+
}
409+
```
410+
411+
You should be getting the pattern now: each new feature or method comes with tests.
412+
377413
The `Matrix` class is missing two important methods:
378414
- A *getter*, to read the matrix element at (row, col).
379415
- A *setter*, to modify the matrix element at (row, col).
@@ -397,20 +433,6 @@ Add them now in the public section of `Matrix` in `include/Matrix/Matrix.h`:
397433
}
398434
```
399435
400-
Another constructor that is missing is one that will create and initialize matrices to a known value. Let's add it to `Matrix` in `include/Matrix/Matrix.h`:
401-
402-
```CPP
403-
/// Construct a \p numRows x \p numColumns Matrix with all elements
404-
/// initialized to value \p val.
405-
Matrix(size_t numRows, size_t numCols, Ty val) : Matrix(numRows, numCols) {
406-
allocate(getNumElements());
407-
for (size_t i = 0; i < getNumElements(); i++)
408-
data[i] = val;
409-
}
410-
```
411-
412-
You should be getting the pattern now.
413-
414436
Add tests for those 3 methods in `tests/Matrix.cpp`:
415437
416438
```CPP
@@ -503,7 +525,7 @@ The C++ `std::initializer_list` enables users to provide a list of literal
503525
values (in row major order) to use to initialize the matrix with:
504526

505527
```CPP
506-
/// Construct a \p numRows x \p numColumns Matrix with elements
528+
/// Construct a \p numRows x \p numCols Matrix with elements
507529
/// initialized from the values from \p il in row-major order.
508530
Matrix(size_t numRows, size_t numCols, std::initializer_list<Ty> il)
509531
: Matrix(numRows, numCols) {
@@ -862,7 +884,7 @@ ninja check
862884
[----------] 16 tests from Matrix (0 ms total)
863885
864886
[----------] Global test environment tear-down
865-
[==========] 16 tests from 3 test suites ran. (0 ms total)
887+
[==========] 16 tests from 1 test suite ran. (0 ms total)
866888
[ PASSED ] 16 tests.
867889
```
868890

@@ -941,6 +963,7 @@ Add these to the public section of `Matrix` in `include/Matrix/Matrix.h`:
941963
return false;
942964
return true;
943965
}
966+
944967
/// Returns true iff matrices do not compare equal.
945968
bool operator!=(const Matrix &rhs) const { return !(*this == rhs); }
946969
```
@@ -1069,4 +1092,4 @@ The compiler also catch a large number of type or misuse errors. With this core
10691092

10701093
You can refer to this chapter source code in
10711094
`code-examples/learning-paths/cross-platform/matrix/chapter-3` in the archive that
1072-
you have downloaded earlier.
1095+
you have downloaded earlier.

0 commit comments

Comments
 (0)