Justine Tunney
414667b1c9
Get TEST_LIBC_STR passing on AARCH64
...
It's now possible to run commands like:
make -j8 m=aarch64 o/aarch64/test/libc/str
Which will cross-compile and run the test suites in a qemu-aarch64
binary that's vendored in the third_party/qemu/ folder within your
x86_64 build environment.
2023-05-12 18:09:23 -07:00
Justine Tunney
45186c74ac
Introduce -q (quiet flag) and improve ctrl-c ux
2023-05-12 09:46:07 -07:00
Justine Tunney
e8de1e4766
Fix subtoken antiprompt scanning
2023-05-12 08:55:40 -07:00
Justine Tunney
80c174d494
Clean up llama.com anti/stop/reverse-prompt code
...
Example use case for JSON completion:
$ m=opt
$ make -j16 m=$m o/$m/third_party/ggml/llama.com
$ o/$m/third_party/ggml/llama.com -m llama.bin -p '{"key": "life", "val": ' -r '}'
42}
This provides better control. More sophisticated facilities for
controlling text generation will be provided soon enough.
2023-05-12 08:20:58 -07:00
Justine Tunney
bbfe4fbd11
Make llama.com n_predict be -1 by default
2023-05-12 08:20:34 -07:00
Justine Tunney
ca19ecf49c
Fine tune crash reports for llama.com
2023-05-12 06:24:26 -07:00
Justine Tunney
1f2a5a8fc1
Implement crash reporting for AARCH64
...
The ShowCrashReports() feature for aarch64 should work even better than
the x86 crash reports. Thanks to the benefit of hindsight these reports
should be rock solid reliable and beautiful to read.
This change also improves the syscall polyfills for aarch64. Some of the
sys_foo() functions have been removed, usually because they're legacy or
downright footguns not worth building.
2023-05-12 05:47:54 -07:00
Justine Tunney
285e8a2348
Get backtraces working on AARCH64
2023-05-11 22:12:41 -07:00
Justine Tunney
4edbc98811
Get MbedTLS and its unit tests passing AARCH64
2023-05-11 21:53:15 -07:00
Justine Tunney
5e2f7f7ced
Get LIBC_TESTLIB building on AARCH64
2023-05-11 19:57:09 -07:00
Justine Tunney
95fab334e4
Use yield on aarch in spin locks
2023-05-11 19:57:09 -07:00
Ariel Núñez
b3e3359d22
Import radpajama (a redpajama.cpp fork) ( #814 )
...
This is the relevant commit: bfa6466199
Model download links:
https://huggingface.co/ceonlabs/radpajama/tree/main
2023-05-11 07:12:08 -07:00
Justine Tunney
cba15bc77a
Fix regression in DNS client
...
Calling FreeResolvConf() would crash, due to a recent change from
yesterday where free_s() was removed.
2023-05-10 23:27:10 -07:00
Justine Tunney
8d24a18c62
Tune magic division for size
...
This helps it avoid generating a branch instruction.
2023-05-10 21:32:04 -07:00
Justine Tunney
1f6f9e6701
Remove division from matrix multiplication
...
This change reduces llama.com CPU cycles systemically by 2.5% according
to the Linux Kernel `perf stat -Bddd` utility.
2023-05-10 21:19:54 -07:00
Justine Tunney
a88290e595
Make sure llama.com terminal cleanup happens
2023-05-10 15:56:01 -07:00
Justine Tunney
5250feb7ad
There must only be one strerror()
2023-05-10 15:34:13 -07:00
Justine Tunney
c91de6a356
Avoid running clang-format on ggml.c
2023-05-10 14:59:33 -07:00
Justine Tunney
ea607781f8
Fix the build
2023-05-10 10:14:15 -07:00
Justine Tunney
bb3ebedfce
Fix load time measurement
2023-05-10 07:54:21 -07:00
Justine Tunney
290a49952e
Fix some more issues with aarch64 and llama.cpp
2023-05-10 07:34:26 -07:00
Justine Tunney
64aca4dc4f
Fix weird behavior issue w/ kprintf() on aarch64
2023-05-10 06:17:33 -07:00
Justine Tunney
4e81d3277c
Do some basic housekeeping in LIBC_STR
2023-05-10 06:17:20 -07:00
Justine Tunney
12a33858c9
There must be only one clock()
2023-05-10 06:16:01 -07:00
Justine Tunney
6cb9553706
Fix alignment bug in llama.com
2023-05-10 06:15:32 -07:00
Justine Tunney
ca990ef091
Make llama.com -h
print to stdout
2023-05-10 04:55:59 -07:00
Justine Tunney
f312f706f4
Bring MODE=tiny binary sizes down to 20kb minimum
...
aarch64 binaries start at 4kb.
2023-05-10 04:20:48 -07:00
Justine Tunney
5f57fc1f59
Upgrade llama.cpp to e6a46b0ed1884c77267dc70693183e3b7164e0e0
2023-05-10 04:20:48 -07:00
Justine Tunney
5a455eaa0b
Work on magic numbers for aarch64
2023-05-10 04:20:48 -07:00
Justine Tunney
59766efd3e
Do some more aarch64 fixups
2023-05-10 04:20:47 -07:00
Justine Tunney
86d9323a43
Remove sys_getrandom() on NetBSD
...
This fixes an apparent regression caused by
3f0bcdc3ef
where getrandom() on NetBSD 9.2
doesn't appear to work; ktrace oddly reports:
1446 1 .ape CALL #91 (unimplemented getdopt)
1446 1 .ape RET #91 (unimplemented getdopt) -1 errno 78
Function not implemented
1446 1 .ape PSIG SIGSYS SIG_DFL: code=SI_NOINFO
2023-05-10 04:20:47 -07:00
Justine Tunney
a0237a017c
Get llama.com working on aarch64
2023-05-10 04:20:47 -07:00
Justine Tunney
4c093155a3
Get llama.com building as an aarch64 native binary
2023-05-10 04:20:47 -07:00
Justine Tunney
d04430f4ef
Get LIBC_MEM and LIBC_STDIO building with aarch64
2023-05-10 04:20:47 -07:00
Justine Tunney
ae0ee59614
Get aarch64 hello world working
...
$ m=aarch64-tiny
$ make -j8 m=$m o/$m/tool/hello/hello.com o/third_party/qemu/qemu-aarch64
$ o/third_party/qemu/qemu-aarch64 o/$m/tool/hello/hello.com
hello world
$ ls -hal o/$m/tool/hello/hello.com
-rwxr-xr-x 1 jart jart 4.0K May 9 05:04 o/aarch64-tiny/tool/hello/hello.com
2023-05-10 04:20:47 -07:00
Justine Tunney
e5e3cdf447
Get LIBC_RUNTIME and LIBC_CALLS building on aarch64
2023-05-10 04:20:47 -07:00
Justine Tunney
7e46645193
Get LIBC_FMT to build for aarch64
2023-05-10 04:20:47 -07:00
Justine Tunney
036b9a0002
Make further progress on non-x86 support
2023-05-10 04:20:47 -07:00
Justine Tunney
aef9a69a60
Make more progress on aarch64
2023-05-10 04:20:47 -07:00
Justine Tunney
135080fd3e
Get libc/tinymath/ compiling on aarch64
2023-05-10 04:20:46 -07:00
Justine Tunney
2b73e72d59
Make more code aarch64 friendly
2023-05-10 04:20:46 -07:00
Justine Tunney
ca2860947f
Make progress towards aarch64 build
2023-05-10 04:20:46 -07:00
Justine Tunney
08ff26c817
Add qemu-aarch64
2023-05-10 04:20:46 -07:00
Justine Tunney
8303e23b3a
Do some basic build tuning
2023-05-10 04:20:46 -07:00
Justine Tunney
57cc257f58
Vendor musl-cross-make gcc 9.2.0 aarch64
2023-05-10 04:20:46 -07:00
Paul Kulchenko
a493b64233
Merge pull request #807 from jart/evalarg
...
Fix the behavior of `redbean -i -e CODE`
2023-05-02 07:48:43 -07:00
Justine Tunney
b008950d90
Add libcxx to make toolchain
2023-05-01 14:12:46 -07:00
Justine Tunney
12438cce16
Fix regression with Python linker eaxmples
...
We can once again create 2mb statically-linked Python binaries:
$ make -j8 m=tiny o/tiny/examples/pyapp/pyapp.com
$ ls -hal o/tiny/examples/pyapp/pyapp.com
-rwxr-xr-x 1 jart jart 2.1M May 1 14:04 o/tiny/examples/pyapp/pyapp.com
$ o/tiny/examples/pyapp/pyapp.com
cosmopolitan is cool!
The regression was caused by Python thread support in b15f9eb58
2023-05-01 14:12:15 -07:00
Justine Tunney
fc82f77a46
Fix bug in cosmocc / cosmoc++ scripts
...
The necessary flags weren't being passed when compiling programs as a
single step (i.e. not using `-c` to make intermediate objects).
2023-05-01 13:46:15 -07:00
Justine Tunney
3dac9f8999
Use Companion AI in llama.com by default
2023-04-30 23:08:15 -07:00