github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:17
fake_space_whale joined
00:18
p6bannerbot sets mode: +v fake_space_whale
03:33
ZofBot joined
03:34
p6bannerbot sets mode: +v ZofBot
03:45
SourceBaby joined
03:46
p6bannerbot sets mode: +v SourceBaby
05:21
fake_space_whale left
05:45
AlexDaniel left
06:35
domidumont joined
06:36
p6bannerbot sets mode: +v domidumont
06:39
patrickb joined,
p6bannerbot sets mode: +v patrickb
06:55
brrt joined
06:56
p6bannerbot sets mode: +v brrt
07:15
domidumont left
07:16
domidumont joined
07:17
p6bannerbot sets mode: +v domidumont
07:31
domidumont left,
brrt` joined
07:32
brrt` left,
domidumont joined
07:33
p6bannerbot sets mode: +v domidumont
07:34
brrt left
08:15
domidumont left
08:16
domidumont joined,
p6bannerbot sets mode: +v domidumont
08:34
zakharyas joined
08:35
p6bannerbot sets mode: +v zakharyas
08:54
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
09:13
robertle joined
09:14
p6bannerbot sets mode: +v robertle
09:52
zakharyas left
10:00
MasterDuke left
11:06
brrt joined
11:07
p6bannerbot sets mode: +v brrt
|
|||
brrt | \o | 11:07 | |
timotimo | o/ | 11:08 | |
12:02
zakharyas joined
12:03
p6bannerbot sets mode: +v zakharyas
12:12
AlexDaniel left
12:23
brrt left
12:25
brrt joined
12:26
p6bannerbot sets mode: +v brrt
|
|||
brrt | ugh, too much to do | 12:54 | |
I suppose you'd like to have shift and truncate instructions in the JIT? | |||
I want to split signed and unsigned cast into separate operators | |||
timotimo | somewhat importantly, these shift ops would be for big ints, but i can probably just steal how jnthn already implemented add and such. | 13:02 | |
we probably already have shift ops for regular native ints | 13:05 | ||
but yeah, truncate (do we also have extend ops?) would be good to have in the jit | |||
13:11
patrickb left
|
|||
brrt | we have cast (up) | 13:12 | |
truncate would be implemented essentially the same, with movzx, except that we'd assign a different size | 13:13 | ||
I think I'm going to merge MasterDuke++ and jstuder++'s PRs | |||
timotimo | mhh. since registers are 64bit either way, even when using int8, it's probably actually better performance either way to use "int" instead of "int8" here | 13:14 | |
since i grab the value out of an int8 @foo anyway | |||
brrt | depends on how you read them, yes | ||
timotimo | BTW SIMD when? ;) ;) | ||
perhaps we'll actually keep a bit of .c code in rakudo so we can implement SIMD-improved fast paths for some operations there | 13:15 | ||
like "oh, [+] on a int16 @foo? i have a native call for that!" | |||
since we're pretty sure we don't want to try autovectorization, right? | 13:17 | ||
i wonder if it's a terrible idea to implement some "heavy" ops in the interp.c thing by having the labels for multiple ops point at the same body and then differentiate inside | 13:23 | ||
like sp_add_I and sp_sub_I are pretty big, and only differ in one single little spot | |||
well, two little spots | 13:24 | ||
one is the fallback, which is extra expensive anyway, because it's a call | |||
brrt | no, no C code in rakudo | ||
timotimo | OK, OK :) | ||
brrt | :-P | ||
timotimo | but how about ... writing the assembly into a Buf using nqp code! | 13:25 | |
brrt | question is... and I'm going to slightly lean on jnthn's design chops here | ||
how can we design an interface that allows us to use SIMD internally, that is useable by a (high-level) rakudo compiler | |||
and if we have that, can we scale it to GPU if there are platforms that support it | 13:26 | ||
counterquestion is, how much perl code *isn't* reading and writing from files/sockets | |||
timotimo: actually, if we had done that, we'd have had graal | 13:27 | ||
timotimo | well, graal is well received ;) | ||
but yeah, at some point we'll reach the limit of opcodes if we just build opcodes for loads of simd things | 13:29 | ||
brrt | I think their bucks-for-bang ratio slightly exceeds our | 13:30 | |
timotimo | then we can have an argument that differentiates between the different things we could want | ||
brrt | ever heard of liborc? | ||
timotimo | yep | ||
optimized ... something | |||
brrt | started as liboil, optimized inner loops | ||
timotimo | yes, exactly that one | 13:31 | |
brrt | then became a JIT compiler for the same | ||
timotimo | and orc is the oil compiler | ||
brrt | maybe we can expose a sort of interface to that | ||
timotimo | well, obviously we could nativecall into it ;) | 13:32 | |
brrt | or that. but I think we can do better | ||
14:31
brrt left
14:55
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
15:16
fake_space_whale joined,
p6bannerbot sets mode: +v fake_space_whale
15:49
domidumont left
15:57
zakharyas left
16:14
robertle left
16:22
brrt joined,
p6bannerbot sets mode: +v brrt
16:25
diakopter joined,
p6bannerbot sets mode: +v diakopter
16:29
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||
brrt | ugh, how do I convince whitespace-mode that no, I really do want spaces rather than tabs | 16:41 | |
16:41
lizmat left
17:08
hoelzro_ left
|
|||
Geth | MoarVM: 17365037b6 | (Daniel Green)++ | 2 files Add a macro for decoder_ensure_decoder and ... templates for decoder<addbytes takebytes takeline empty>. |
17:29 | |
MoarVM: df121f9d29 | (Bart Wiegmans)++ | 2 files Merge remote-tracking branch 'Masterduke17/jit_macro_and_template_for_decoder_ops' |
|||
MoarVM: f1e83f6f60 | (Bart Wiegmans)++ | 5 files [JIT] A few more macros - repr_id, is_repr_id and not_repr_id - throw_adhoc - what it says - &CAT3 for string concatentation |
|||
17:37
fake_space_whale left
17:43
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||
travis-ci | MoarVM build failed. Bart Wiegmans '[JIT] A few more macros | 17:43 | |
travis-ci.org/MoarVM/MoarVM/builds/425842859 github.com/MoarVM/MoarVM/compare/2...e83f6f60b6 | |||
17:43
travis-ci left
17:44
hoelzro joined,
p6bannerbot sets mode: +v hoelzro
|
|||
brrt | ugh, i'm an idiot | 17:45 | |
diakopter | we are all idiots, sometimes more often than other times :D | 17:46 | |
AlexDaniel | but typically very often, which is why we delegate our tasks to machines as much as we canā¦ | 17:52 | |
AlexDaniel is speaking for himself obviously | |||
š¤¤ | 17:53 | ||
Geth | MoarVM: 22c98176a1 | (Bart Wiegmans)++ | tools/tiler-table-generator.pl [JIT] Tiler table generator changes - sexpr::encode -> sexpr_encode (oops) - package rule -> package tiler - renames |
17:54 | |
MoarVM/master: 5 commits pushed by (Jeremy Studer)++, (Bart Wiegmans)++ | 18:02 | ||
brrt | ok, /me afk | 18:03 | |
18:03
brrt left
18:14
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||
travis-ci | MoarVM build passed. Bart Wiegmans '[JIT] Tiler table generator changes | 18:14 | |
travis-ci.org/MoarVM/MoarVM/builds/425852245 github.com/MoarVM/MoarVM/compare/f...c98176a154 | |||
18:14
travis-ci left
18:17
domidumont joined
18:18
p6bannerbot sets mode: +v domidumont
18:30
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||
travis-ci | MoarVM build passed. Bart Wiegmans 'Merge remote-tracking branch 'jstuder/exprjit_cast_load_addr'' | 18:30 | |
travis-ci.org/MoarVM/MoarVM/builds/425855309 github.com/MoarVM/MoarVM/compare/2...c718411abe | |||
18:30
travis-ci left
18:31
domidumont left
20:01
AlexDaniel left
20:37
lizmat joined
20:38
p6bannerbot sets mode: +v lizmat
|
|||
Geth | MoarVM: 477ec445f8 | (Bart Wiegmans)++ | 7 files [JIT] Split signed and unsigned cast operators Have different semantics, are different operators. |
20:56 | |
jnthn | For SIMD at the op level, we can probably have a small number of ops that take an operand indicating the operation to distribute (add, sub, mul, etc) and maybe the width of the operands or some such | 21:01 | |
Rather than an op explosion over all the pairings of those | |||
masak | I love it when a force multiplier comes together | 21:05 | |
diakopter | force left-shifter | 21:06 | |
masak | hey didn't Knuth warn you to not prematurely optimize | ||
diakopter | arbitrary-precision left-shift a trillion | 21:07 | |
masak boggles | |||
I think I... need to sit down | 21:08 | ||
diakopter | on that note, decommute & | ||
masak .oO( you're commute consists of a trillion-step left shift!?! ) | |||
your* | 21:09 | ||
23:59
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke,
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
|