Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lagoon jets for IEEE 754 floats. #638

Merged
merged 43 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e569048
WIP bazel
sigilante Feb 28, 2024
3cf0ad6
WIP bazel builds but `qgemm.c` needs `#include <stdio.h>`
matthew-levan Feb 28, 2024
1beb9c3
Include new commit hash.
sigilante Feb 28, 2024
89dc3de
Merge
sigilante Feb 28, 2024
e91829d
Post jet fundamentals.
sigilante Feb 29, 2024
4be17fc
Hints for Lagoon work.
sigilante Feb 29, 2024
81718e2
++add for Lagoon working.
sigilante Feb 29, 2024
1268c90
Works with SoftBLAS.
sigilante Mar 5, 2024
171fa5c
Post ++sub jet.
sigilante Mar 5, 2024
315b4f5
Post fixed scalar jets using ?scal.
sigilante Mar 27, 2024
0a42728
Add trace/diag/dot
sigilante Mar 27, 2024
ebe6dd3
WIP shape+diag error
sigilante Mar 28, 2024
b59f33f
Bump SoftBLAS to fix memory error and add progress on jets.
sigilante Apr 12, 2024
ee9d1e1
Posting some jets.
sigilante Apr 13, 2024
a5c79a5
Post mod/mods jets.
sigilante Apr 13, 2024
1105803
Add transpose and fixed other jets.
sigilante Apr 15, 2024
7eab0d7
Add +abs etc.
sigilante Apr 16, 2024
118b281
Add min/max jets.
sigilante Apr 17, 2024
c617a82
Add min/max arg jets.
sigilante Apr 17, 2024
44f1013
Add cumsum jet.
sigilante Apr 17, 2024
c1f651d
Add ravel jet.
sigilante Apr 17, 2024
692b58d
Post "final" jet roster.
sigilante Apr 17, 2024
338154c
Post all jets.
sigilante Apr 17, 2024
6f2fc23
Fix cumsum.
sigilante Apr 18, 2024
9001496
Post working version of all jets for reals to date.
sigilante Apr 18, 2024
e43d210
Post with things moved and support for ARM.
sigilante Apr 24, 2024
fe485ea
Attempt ARM build with same files as x86_64.
sigilante Apr 24, 2024
bf13e28
Attempt ARM build with same files as x86_64.
sigilante Apr 24, 2024
4832fbe
Swap out SoftFloat fns.
sigilante Apr 24, 2024
04a33f7
Swap out SoftFloat fns.
sigilante Apr 24, 2024
8b76ac5
Swap out SoftFloat fns.
sigilante Apr 24, 2024
fdd6951
Swap out SoftFloat fns.
sigilante Apr 24, 2024
d078a31
ci: install pkg-config in linux-aarch64
pkova Apr 25, 2024
8b3122b
Update for SoftBLAS version.
sigilante May 24, 2024
0795edf
Merge remote-tracking branch 'origin/master' into lagoon-jets
sigilante May 24, 2024
529f399
Post with i754 mote.
sigilante Jul 22, 2024
b80e99a
WIP jet hint call stack correct
sigilante Jul 23, 2024
439fdf3
WIP debugging u3_none path
sigilante Jul 23, 2024
ab03d62
Turn off Nock verification.
sigilante Jul 26, 2024
a3e7b42
Post working jets.
sigilante Jul 27, 2024
13e08db
Post corrected traversal order.
sigilante Jul 31, 2024
840760d
Post second review tweaks.
sigilante Aug 1, 2024
3d462d3
Add corrected range jets.
sigilante Aug 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ jobs:
run: |
case "${{ matrix.target }}" in
"linux-aarch64")
sudo apt-get -y install autoconf-archive
sudo apt-get -y install autoconf-archive pkg-config
bazel run //bazel/toolchain:aarch64-linux-musl-gcc
;;
"linux-x86_64")
Expand Down
6 changes: 6 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
###############################################################################
# Bazel now uses Bzlmod by default to manage external dependencies.
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
#
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
###############################################################################
9 changes: 9 additions & 0 deletions WORKSPACE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,15 @@ versioned_http_archive(
version = "2.14",
)

versioned_http_archive(
name = "softblas",
build_file = "//bazel/third_party/softblas:softblas.BUILD",
strip_prefix = "SoftBLAS-{version}",
# sha256 = "",
url = "https://github.com/urbit/SoftBLAS/archive/{version}.tar.gz",
version = "cbffb33f19ea02f9ffbd184d445123c57929ec53",
)

versioned_http_archive(
name = "softfloat",
build_file = "//bazel/third_party/softfloat:softfloat.BUILD",
Expand Down
Empty file.
117 changes: 117 additions & 0 deletions bazel/third_party/softblas/softblas.BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# FILEPATH: /home/neal/lagoon/vere/bazel/third_party/softblas/softblas.BUILD

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

cc_library(
name = "softblas",
visibility = ["//visibility:public"],
deps = select({
"@platforms//cpu:aarch64": [":softblas_aarch64"],
"@platforms//cpu:x86_64": [":softblas_x86_64"],
"//conditions:default": [],
}),
)

cc_library(
name = "softblas_aarch64",
visibility = ["//visibility:public"],
hdrs = ["include/softblas.h"],
includes = ["include"],
srcs = [
"include/softblas.h",
"src/softblas_state.c",
"src/blas/level1/sasum.c",
"src/blas/level1/dasum.c",
"src/blas/level1/hasum.c",
"src/blas/level1/qasum.c",
"src/blas/level1/saxpy.c",
"src/blas/level1/daxpy.c",
"src/blas/level1/haxpy.c",
"src/blas/level1/qaxpy.c",
"src/blas/level1/scopy.c",
"src/blas/level1/dcopy.c",
"src/blas/level1/hcopy.c",
"src/blas/level1/qcopy.c",
"src/blas/level1/sdot.c",
"src/blas/level1/ddot.c",
"src/blas/level1/hdot.c",
"src/blas/level1/qdot.c",
"src/blas/level1/snrm2.c",
"src/blas/level1/dnrm2.c",
"src/blas/level1/hnrm2.c",
"src/blas/level1/qnrm2.c",
"src/blas/level1/sscal.c",
"src/blas/level1/dscal.c",
"src/blas/level1/hscal.c",
"src/blas/level1/qscal.c",
"src/blas/level1/sswap.c",
"src/blas/level1/dswap.c",
"src/blas/level1/hswap.c",
"src/blas/level1/qswap.c",
"src/blas/level1/isamax.c",
"src/blas/level1/idamax.c",
"src/blas/level1/ihamax.c",
"src/blas/level1/iqamax.c",
"src/blas/level2/sgemv.c",
"src/blas/level2/dgemv.c",
"src/blas/level2/hgemv.c",
"src/blas/level2/qgemv.c",
"src/blas/level3/sgemm.c",
"src/blas/level3/dgemm.c",
"src/blas/level3/hgemm.c",
"src/blas/level3/qgemm.c"
],
deps = ["@softfloat"],
)

cc_library(
name = "softblas_x86_64",
visibility = ["//visibility:public"],
hdrs = ["include/softblas.h"],
includes = ["include"],
srcs = [
"include/softblas.h",
"src/softblas_state.c",
"src/blas/level1/sasum.c",
"src/blas/level1/dasum.c",
"src/blas/level1/hasum.c",
"src/blas/level1/qasum.c",
"src/blas/level1/saxpy.c",
"src/blas/level1/daxpy.c",
"src/blas/level1/haxpy.c",
"src/blas/level1/qaxpy.c",
"src/blas/level1/scopy.c",
"src/blas/level1/dcopy.c",
"src/blas/level1/hcopy.c",
"src/blas/level1/qcopy.c",
"src/blas/level1/sdot.c",
"src/blas/level1/ddot.c",
"src/blas/level1/hdot.c",
"src/blas/level1/qdot.c",
"src/blas/level1/snrm2.c",
"src/blas/level1/dnrm2.c",
"src/blas/level1/hnrm2.c",
"src/blas/level1/qnrm2.c",
"src/blas/level1/sscal.c",
"src/blas/level1/dscal.c",
"src/blas/level1/hscal.c",
"src/blas/level1/qscal.c",
"src/blas/level1/sswap.c",
"src/blas/level1/dswap.c",
"src/blas/level1/hswap.c",
"src/blas/level1/qswap.c",
"src/blas/level1/isamax.c",
"src/blas/level1/idamax.c",
"src/blas/level1/ihamax.c",
"src/blas/level1/iqamax.c",
"src/blas/level2/sgemv.c",
"src/blas/level2/dgemv.c",
"src/blas/level2/hgemv.c",
"src/blas/level2/qgemv.c",
"src/blas/level3/sgemm.c",
"src/blas/level3/dgemm.c",
"src/blas/level3/hgemm.c",
"src/blas/level3/qgemm.c"
],
deps = ["@softfloat"],
)
7 changes: 7 additions & 0 deletions pkg/c3/motes.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@
# define c3__corp c3_s4('c','o','r','p')
# define c3__corp c3_s4('c','o','r','p')
# define c3__cow c3_s3('c','o','w')
# define c3__cplx c3_s3('c','p','l','x')
# define c3__cpu c3_s3('c','p','u')
# define c3__crad c3_s4('c','r','a','d')
# define c3__cram c3_s4('c','r','a','m')
Expand Down Expand Up @@ -430,6 +431,7 @@
# define c3__fit c3_s3('f','i','t')
# define c3__fits c3_s4('f','i','t','s')
# define c3__fix c3_s3('f','i','x')
# define c3__fixp c3_s3('f','i','x','p')
# define c3__fl c3_s2('f','l')
# define c3__flac c3_s4('f','l','a','c')
# define c3__flag c3_s4('f','l','a','g')
Expand Down Expand Up @@ -602,6 +604,7 @@
# define c3__info c3_s4('i','n','f','o')
# define c3__init c3_s4('i','n','i','t')
# define c3__ins c3_s3('i','n','s')
# define c3__int2 c3_s4('i','n','t','2')
# define c3__into c3_s4('i','n','t','o')
# define c3__intr c3_s4('i','n','t','r')
# define c3__inuk c3_s4('i','n','u','k')
Expand All @@ -610,6 +613,7 @@
# define c3__is c3_s2('i','s')
# define c3__item c3_s4('i','t','e','m')
# define c3__ix c3_s2('i','x')
# define c3__i754 c3_s4('i','7','5','4')
# define c3__j c3_s1('j')
# define c3__jack c3_s4('j','a','c','k')
# define c3__jam c3_s3('j','a','m')
Expand Down Expand Up @@ -970,6 +974,7 @@
# define c3__rasp c3_s4('r','a','s','p')
# define c3__raw c3_s3('r','a','w')
# define c3__read c3_s4('r','e','a','d')
# define c3__real c3_s4('r','e','a','l')
# define c3__reck c3_s4('r','e','c','k')
# define c3__reef c3_s4('r','e','e','f')
# define c3__resd c3_s4('r','e','s','d')
Expand Down Expand Up @@ -1231,11 +1236,13 @@
# define c3__ubin c3_s4('u','b','i','n')
# define c3__ubit c3_s4('u','b','i','t')
# define c3__ud c3_s2('u','d')
# define c3__uint c3_s4('u','i','n','t')
# define c3__ulib c3_s4('u','l','i','b')
# define c3__un c3_s2('u','n')
# define c3__uniq c3_s4('u','n','i','q')
# define c3__unix c3_s4('u','n','i','x')
# define c3__unt c3_s3('u','n','t')
# define c3__unum c3_s3('u','n','u','m')
# define c3__up c3_s2('u','p')
# define c3__url c3_s3('u','r','l')
# define c3__urth c3_s4('u','r','t','h')
Expand Down
1 change: 1 addition & 0 deletions pkg/noun/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ vere_library(
"@openssl",
"@pdjson",
"@sigsegv",
"@softblas",
"@softfloat",
"@urcrypt",
] + select({
Expand Down
Loading
Loading