Skip to content

Commit 6d45197

Browse files
committed
improve documentation and update changelog
1 parent da61748 commit 6d45197

File tree

4 files changed

+39
-25
lines changed

4 files changed

+39
-25
lines changed

Changelog-mfakto.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ new features:
1414
- additional code contributions and bug fixes by Danny Chia
1515

1616
enhancements:
17-
- added RDNA 3 support
17+
- added support for RDNA 3 devices
18+
- also covers RDNA 3.5 and 4
19+
- improved detection of GPU type
20+
- added provisional support for CDNA
21+
- implemented pattern-matching code by Rich Felker
22+
- additional code contributions by Mingye Wang
1823
- added code to handle situations where the device's clock speed could not be
1924
determined
2025
- improved some warning messages

src/mfakto.ini

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,26 @@
2424
# GPUType=AUTO tries to automatically detect the device
2525
# GPUType=VLIW4 "Northern Islands" GPUs, such as the Radeon HD 6900 series
2626
# GPUType=VLIW5 "Evergreen" GPUs, such as the Radeon HD 5000 series. Can
27-
# also improve performance on low-end APUs
28-
# GPUType=GCN all GPUs based on the GCN architecture. Assumed for unknown
29-
# devices. 1:16 DP
30-
# GPUType=GCN2 2nd generation GCN architecture (actually, any GCN2/3 with 1:4 or better DP)
31-
# GPUType=GCN3 3rd generation GCN architecture (actually, any GCN2/3 with improved int32 and 1:8 or better DP)
32-
# GPUType=GCN4 Polaris GPUs, such as the Radeon RX 460 (actually, GCN 3/4 with bad DP)
33-
# GPUType=GCN5 14 nm Vega GPUs, such as the Radeon RX Vega 56 (actually, any GCN5 with bad DP)
34-
# GPUType=GCNF 7 nm Vega GPUs, namely the Vega 20 series (actually, any GCN5 with 1:4 or better DP)
35-
# CDNA is provisionally included
36-
# GPUType=RDNA devices using the RDNA 1 and 2 microarchitectures, such as
37-
# the Radeon RX 5000 and 6000 series
38-
# GPUType=RDNA3 devices using the RDNA 3/4 microarchitecture
39-
# GPUType=APU VLIW APUs. For old low-end devices, using GPUType=VLIW5 may
40-
# result in better performance.
41-
# GPUType=CPU all CPUs. Used when no GPUs are available; also used when
42-
# the '-d c' option is specified
27+
# also improve performance on older APUs
28+
# GPUType=GCN the GCN architecture as a whole. Used for unknown devices
29+
# and optimized for 1:16 DP
30+
# GPUType=GCN2 2nd generation GCN architecture. Can be used for any GCN 2
31+
# or 3 device with 1:4 or higher DP
32+
# GPUType=GCN3 3rd generation GCN architecture. Can be used for any GCN 2
33+
# or 3 device with fast 32-bit integer multiplication and 1:8
34+
# or higher DP
35+
# GPUType=GCN4 "Polaris" GPUs, such as the Radeon 400 series. Can be used
36+
# for any GCN 3 or 4 device with low DP
37+
# GPUType=GCN5 GCN 5 devices with low DP, such as the Vega 10 series
38+
# GPUType=GCNF GCN 5 devices with 1:4 or higher DP, such as the Vega 20
39+
# series. Provisionally supports CDNA
40+
# GPUType=RDNA RDNA 1 and 2 devices, such as the Radeon RX 5000 and 6000
41+
# series
42+
# GPUType=RDNA3 RDNA 3 or 4 devices
43+
# GPUType=APU APUs with a VLIW-based processor. Older devices may benefit
44+
# more with GPUType=VLIW5
45+
# GPUType=CPU all supported CPUs. Used when no GPUs are available, and
46+
# when the '-d c' option is specified
4347
# GPUType=NVIDIA most Nvidia devices
4448
# GPUType=INTEL Intel Graphics Technology
4549
#

src/myfnmatch.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
/*
44
* Lifted from musl commit efa9d396f9d3af6c6f85ec86302b48206c574a38,
55
* root/src/regex/fnmatch.c, under a GPLv3-compatible license.
6-
*
6+
*
77
* Mingye Wang 2025: delete a bunch of flags
8-
*
8+
*
99
* musl (www.musl-libc.org)
1010
* Copyright (C) 2012-2013 Rich Felker
1111
* SPDX-License-Identifier: MIT
12-
*
12+
*
1313
* An implementation of what I call the "Sea of Stars" algorithm for
1414
* POSIX fnmatch(). The basic idea is that we factor the pattern into
1515
* a head component (which we match first and can reject without ever
@@ -305,5 +305,4 @@ int fnmatch(const char *pat, const char *str, int flags)
305305
return fnmatch_internal(pat, -1, str, -1, flags);
306306
}
307307

308-
309-
#endif
308+
#endif

src/myfnmatch.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,14 @@
77
#ifdef __cplusplus
88
extern "C" {
99
#endif
10-
/* Define our own. It would be easier to just use ntdll RtlIsNameInExpression() on Windows, but ntdll.lib is Windows 10+ SDK only.
11-
* There are many license-compatible fnmatch implementations available anyways, so. */
10+
11+
/*
12+
Define our own. It would be easier to just use NTDLL's RtlIsNameInExpression()
13+
on Windows, but ntdll.lib is only available in the Native API for Windows 10
14+
and above.
15+
16+
However, there are many GPL-compatible fnmatch implementations available.
17+
*/
1218
#define FNM_CASEFOLD 1
1319
#define FNM_IGNORECASE FNM_CASEFOLD
1420
#define FNM_NOMATCH -1
@@ -26,4 +32,4 @@ inline static int patmatch(const char *pattern, const char *string, int flags)
2632
#endif
2733
#endif
2834

29-
#endif
35+
#endif

0 commit comments

Comments
 (0)