diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2025-08-06 08:12:37 -0700 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2025-08-06 08:15:20 -0700 |
commit | 1ba137cca1d5a04166f7d2563a47a6d34202d374 (patch) | |
tree | fa82237950471d52c6f4da4f63c39292f7e43a97 | |
parent | graphics/ocrs: update 0.10.3 → 0.10.4 (diff) |
devel/lace14: New port: Implementation of work-stealing in C
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/lace14/Makefile | 29 | ||||
-rw-r--r-- | devel/lace14/distinfo | 3 | ||||
-rw-r--r-- | devel/lace14/files/patch-CMakeLists.txt | 34 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_cilksort_cilksort-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_dfs_dfs-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_fib_fib-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_fib_fib-lace.cpp | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_knapsack_knapsack-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_matmul_matmul-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_matmul_matmul-seq.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_pi_pi-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_queens_queens-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/files/patch-benchmarks_strassen_strassen-lace.c | 11 | ||||
-rw-r--r-- | devel/lace14/pkg-descr | 2 | ||||
-rw-r--r-- | devel/lace14/pkg-plist | 11 |
16 files changed, 190 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 3550e7a9c701..0bae517e60df 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1183,6 +1183,7 @@ SUBDIR += kyua SUBDIR += lab SUBDIR += lace + SUBDIR += lace14 SUBDIR += lager SUBDIR += laminar SUBDIR += lasi diff --git a/devel/lace14/Makefile b/devel/lace14/Makefile new file mode 100644 index 000000000000..d7e8ec60db70 --- /dev/null +++ b/devel/lace14/Makefile @@ -0,0 +1,29 @@ +PORTNAME= lace +DISTVERSIONPREFIX= v +DISTVERSION= 1.4.2 +CATEGORIES= devel +PKGNAMESUFFIX= 14-work-stealing + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Implementation of work-stealing in C +WWW= https://github.com/trolando/lace + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BROKEN_i386= compilation fails: static assertion failed due to requirement '(sizeof(struct _Task) % 64) == 0': Task size should be a multiple of LINE_SIZE + +USES= cmake:testing + +USE_GITHUB= yes +GH_ACCOUNT= trolando + +CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_OFF= LACE_BUILD_TESTS +CMAKE_TESTING_ON= LACE_BUILD_TESTS + +PORTSCOUT= limit:^.*[0-9]+\.[0-9]+\.[0-9]+$$ # prevent tags like mucocos_2014_ri + +# tests as of 1.4.2: 100% tests passed, 0 tests failed out of 2 + +.include <bsd.port.mk> diff --git a/devel/lace14/distinfo b/devel/lace14/distinfo new file mode 100644 index 000000000000..361c0a0ce844 --- /dev/null +++ b/devel/lace14/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1743134608 +SHA256 (trolando-lace-v1.4.2_GH0.tar.gz) = d9af1eb9d8ed2f46585085f78080e3a1b1f76fe1ef1f67794c1440a5e27bf07a +SIZE (trolando-lace-v1.4.2_GH0.tar.gz) = 102784 diff --git a/devel/lace14/files/patch-CMakeLists.txt b/devel/lace14/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..0df89b0ef40c --- /dev/null +++ b/devel/lace14/files/patch-CMakeLists.txt @@ -0,0 +1,34 @@ +--- CMakeLists.txt.orig 2023-11-18 14:52:47 UTC ++++ CMakeLists.txt +@@ -25,11 +25,11 @@ endif() + endif() + endif() + +-add_library(lace STATIC ++add_library(lace + ${CMAKE_CURRENT_SOURCE_DIR}/src/lace.c + ${CMAKE_CURRENT_SOURCE_DIR}/src/lace.h + ) +-add_library(lace14 STATIC ++add_library(lace14 + ${CMAKE_CURRENT_SOURCE_DIR}/src/lace14.c + ${CMAKE_CURRENT_SOURCE_DIR}/src/lace14.h + ) +@@ -56,7 +56,7 @@ target_compile_options(lace PRIVATE + + target_compile_options(lace PRIVATE + $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>: +- -pipe -march=native ++ -pipe + $<$<CONFIG:Debug>:-O0 -Wall -Wextra -Wpedantic>> + $<$<CXX_COMPILER_ID:MSVC>: + $<$<CONFIG:Debug>:/Od /Wall /Zi>> +@@ -64,7 +64,7 @@ target_compile_options(lace14 PRIVATE + + target_compile_options(lace14 PRIVATE + $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>: +- -pipe -march=native ++ -pipe + $<$<CONFIG:Debug>:-O0 -Wall -Wextra -Wpedantic>> + $<$<CXX_COMPILER_ID:MSVC>: + $<$<CONFIG:Debug>:/Od /Wall /Zi>> diff --git a/devel/lace14/files/patch-benchmarks_cilksort_cilksort-lace.c b/devel/lace14/files/patch-benchmarks_cilksort_cilksort-lace.c new file mode 100644 index 000000000000..5a47f1622ae4 --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_cilksort_cilksort-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/cilksort/cilksort-lace.c.orig 2025-05-23 10:54:43 UTC ++++ benchmarks/cilksort/cilksort-lace.c +@@ -438,7 +438,7 @@ int main(int argc, char *argv[]) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_dfs_dfs-lace.c b/devel/lace14/files/patch-benchmarks_dfs_dfs-lace.c new file mode 100644 index 000000000000..709bb4a901de --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_dfs_dfs-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/dfs/dfs-lace.c.orig 2025-05-23 10:54:05 UTC ++++ benchmarks/dfs/dfs-lace.c +@@ -50,7 +50,7 @@ int main(int argc, char **argv) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_fib_fib-lace.c b/devel/lace14/files/patch-benchmarks_fib_fib-lace.c new file mode 100644 index 000000000000..705fff75ccfa --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_fib_fib-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/fib/fib-lace.c.orig 2025-05-23 10:55:18 UTC ++++ benchmarks/fib/fib-lace.c +@@ -34,7 +34,7 @@ int main(int argc, char **argv) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_fib_fib-lace.cpp b/devel/lace14/files/patch-benchmarks_fib_fib-lace.cpp new file mode 100644 index 000000000000..b288f60b8ec9 --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_fib_fib-lace.cpp @@ -0,0 +1,11 @@ +--- benchmarks/fib/fib-lace.cpp.orig 2025-05-23 10:53:18 UTC ++++ benchmarks/fib/fib-lace.cpp +@@ -35,7 +35,7 @@ int main(int argc, char **argv) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_knapsack_knapsack-lace.c b/devel/lace14/files/patch-benchmarks_knapsack_knapsack-lace.c new file mode 100644 index 000000000000..26a2489b4bab --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_knapsack_knapsack-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/knapsack/knapsack-lace.c.orig 2025-05-23 10:56:00 UTC ++++ benchmarks/knapsack/knapsack-lace.c +@@ -119,7 +119,7 @@ int main(int argc, char *argv[]) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_matmul_matmul-lace.c b/devel/lace14/files/patch-benchmarks_matmul_matmul-lace.c new file mode 100644 index 000000000000..7036a56448ed --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_matmul_matmul-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/matmul/matmul-lace.c.orig 2025-05-23 10:56:19 UTC ++++ benchmarks/matmul/matmul-lace.c +@@ -121,7 +121,7 @@ int main(int argc, char *argv[]) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_matmul_matmul-seq.c b/devel/lace14/files/patch-benchmarks_matmul_matmul-seq.c new file mode 100644 index 000000000000..6159bc215087 --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_matmul_matmul-seq.c @@ -0,0 +1,11 @@ +--- benchmarks/matmul/matmul-seq.c.orig 2025-05-23 10:55:39 UTC ++++ benchmarks/matmul/matmul-seq.c +@@ -114,7 +114,7 @@ int main(int argc, char *argv[]) + + int main(int argc, char *argv[]) + { +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'h': diff --git a/devel/lace14/files/patch-benchmarks_pi_pi-lace.c b/devel/lace14/files/patch-benchmarks_pi_pi-lace.c new file mode 100644 index 000000000000..f1d66022fbfa --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_pi_pi-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/pi/pi-lace.c.orig 2025-05-23 10:54:23 UTC ++++ benchmarks/pi/pi-lace.c +@@ -55,7 +55,7 @@ int main(int argc, char **argv) + int workers = 0; + int dqsize = 1000000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_queens_queens-lace.c b/devel/lace14/files/patch-benchmarks_queens_queens-lace.c new file mode 100644 index 000000000000..f942da62abbf --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_queens_queens-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/queens/queens-lace.c.orig 2025-05-23 10:53:37 UTC ++++ benchmarks/queens/queens-lace.c +@@ -73,7 +73,7 @@ int main(int argc, char *argv[]) + int workers = 1; + int dqsize = 100000; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/files/patch-benchmarks_strassen_strassen-lace.c b/devel/lace14/files/patch-benchmarks_strassen_strassen-lace.c new file mode 100644 index 000000000000..eb4f69cb841a --- /dev/null +++ b/devel/lace14/files/patch-benchmarks_strassen_strassen-lace.c @@ -0,0 +1,11 @@ +--- benchmarks/strassen/strassen-lace.c.orig 2025-05-23 10:55:02 UTC ++++ benchmarks/strassen/strassen-lace.c +@@ -718,7 +718,7 @@ int main(int argc, char *argv[]) + int dqsize = 100000; + int verify = 0; + +- char c; ++ signed char c; + while ((c=getopt(argc, argv, "w:q:h:c")) != -1) { + switch (c) { + case 'w': diff --git a/devel/lace14/pkg-descr b/devel/lace14/pkg-descr new file mode 100644 index 000000000000..b0efdd64bc2b --- /dev/null +++ b/devel/lace14/pkg-descr @@ -0,0 +1,2 @@ +Lace is a C framework for fine-grained fork-join parallelism intended for +scientific computations on multi-core computers. diff --git a/devel/lace14/pkg-plist b/devel/lace14/pkg-plist new file mode 100644 index 000000000000..6b1ab64e5d57 --- /dev/null +++ b/devel/lace14/pkg-plist @@ -0,0 +1,11 @@ +include/lace.h +include/lace14.h +include/lace_config.h +lib/cmake/lace/lace-config-version.cmake +lib/cmake/lace/lace-config.cmake +lib/cmake/lace/lace-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/lace/lace-targets.cmake +lib/liblace.so +lib/liblace14.so +libdata/pkgconfig/lace.pc +libdata/pkgconfig/lace14.pc |