freenode/#sicl - IRC Chatlog
Search
3:02:25
beach
YAY! The paper on call-site optimization was accepted. 1 strong accept, 1 accept, 1 reject.
3:04:54
beach
I seem to have established a new terminology item, namely "snippet". I kind of like it myself.
3:07:12
beach
Corrections are to be expected. The less experienced as a technical writer you are, the more corrections will likely be required.
3:09:56
beach
Referee number 1 clearly understood the idea and suggested another paper to read and cite. That's the kind of referee report I like.
3:13:22
beach
It can happen that some referees on some conferences are not that great. Some of them are not qualified to read and understand the papers they referee, and their reports can be infuriating. But the list of members of the program committee for ELS2021 seemed pretty good. No doubt because Marco knows how to choose them.
3:17:13
beach
Even the "reject" is not bad. The main reason for the reject is that the technique has not been tested. That's fair, I guess.
3:22:52
beach
ELS is not a very prestigious forum, and it may not be as tough about the quality of the articles as some of the more prestigious ones, but it's a serious academic conference, so your accepted article counts.
4:22:01
no-defun-allowed
The feedback from the reviewers was very insightful. One thing though: is "abstraction inversion" a well-established term? The term has a Wikipedia page, so I was hoping it would be understood without a definition.
4:24:20
beach
It might not be something that is fresh in memory of every referee. You might as well explain it briefly.
4:49:05
splittist
This discussion of abstraction inversion leads me to wonder whether it has any meaning at all https://wiki.c2.com/?AbstractionInversion
4:51:44
no-defun-allowed
The definition I know is loosely "building a low-level abstraction on top of a high-level abstraction", which can appear if one wants to use features which are not provided by the high-level abstraction.
4:54:49
no-defun-allowed
(For example, phoe's implementation of Common Lisp control flow forms using Java's exception system. And in the paper, I argue that the "room" protocol provided by Matrix [the communication platform] forces too many design decisions, limiting reuse.)
5:18:51
beach
heisig: And, congratulations to you for finishing another important step in the ELS process.
5:22:09
beach
Not only heavy duty. It requires a lot of diplomacy, and some non-trivial knowledge about the subject.
5:23:29
beach
I have seen program chairs (not for ELS) in the past who just denied all responsibility and took the average of the referee reports. One such program chair was my colleague, and I was absolutely furious.
5:25:57
heisig
Yes, it is a bit involved. But I've been an author myself often enough to know how valuable it is to get decent feedback, and what difference a good letter of acceptance or rejection can make.
5:31:32
beach
Now the question in my mind is, do I need to take into account the remarks of the referee that rejected my paper? :) That referee has the most remarks, so I could save a lot of work by ignoring those remarks. :)
5:34:49
beach
Heh, I actually didn't read the remarks yet. It was more like a philosophical question.
5:46:20
no-defun-allowed
RAM firmware? From what I remember, it didn't seem like any DDR memory commands needed complex control logic, but that may not be the case.
5:48:19
beach
ebrasca: There are no good existing RISC-V computers (yet). It doesn't hurt to know several different architectures.
5:53:28
beach
OK, this is Monday and Monday mornings are chaotic around here. I will be mostly off for the next hour or so.
5:54:09
no-defun-allowed
Sometimes NOP is a macro for something like MOV, r0, r0 (as it is on ARM), but it can be used as a little delay, or for instruction alignment, or the processor may require it due to pipelining (such as old MIPS).
5:58:14
no-defun-allowed
According to <https://en.wikipedia.org/wiki/NOP_(code)#Machine_language_instructions> NOP is a macro for r0 ← r0 OR 0
6:02:02
no-defun-allowed
I don't think anyone does learn them all. I'd even bet that no one knows all the x86-64 instructions.
6:03:12
beach
ebrasca: My experience is that you learn instructions as you need them. You typically don't set out to learn them all.
6:09:11
fiddlerwoaroof
The time difference still makes it difficult for me: last year I attempted to attend, but it was pretty late
6:11:58
moon-child
heh, it's not about reverse-engineering the architecture. (That is a ... completely different kind of undertaking.) Really, it's just an assembly book, with a slight focus on reverse-engineering extant programs
6:16:03
no-defun-allowed
heisig: Just to check, how do I communicate with the shepherd? Do I just reply to your notification with the adjusted paper?
6:31:51
heisig
no-defun-allowed: You should be able to upload new revisions on Easychair. If you want to contact your shepherd, you can send the message to me an I pass it on.
7:17:17
beach
fiddlerwoaroof: Yes, it would have been better with a physical location. Then all the people from far away could take a few days to adjust to the time zone.
8:15:40
beach
I was willing to take a performance hit when I replaced my desktop tower with this small OCTO computer. But the SICL boot procedure runs faster with the OCTO: 33 seconds on the OCTO compared to 38 seconds on the desktop.
8:17:35
beach
I still have to buy myself a "USB C splitter", and verify that I can drive my three screens with it, but they claim it is the way to do it, and I hope they are right.
8:26:52
pjb
And foremost, the execution model was simplier, you could know what instruction sequence was fastest just counting cycles. With pipelines, predictions, and re-ordering, nowadays it's impossible to do it by hand, and it would depend on the target processor anyways.
8:27:59
pjb
IIRC, gcc performs dynamic explorations to find the best instruction sequences, this cannot be determined easily anymore.
8:28:58
moon-child
I saw a talk last year at pldi about applying neural networks to autovectorizers, because it's just too computationally complex to be done optimally otherwise
8:29:40
moon-child
(still not 'optimal' in all cases, but it got very favourable results compared with the brute-force solution)
8:31:23
heisig
Yes, you need something like https://llvm.org/docs/CommandGuide/llvm-mca.html to estimate the performance of some machine code.
8:33:12
heisig
On the other hand, programs that are limited by instruction throughput or the number of arithmetic units are very much the exception.
8:34:25
moon-child
I think that's an oversimplification. Certainly, if there's a single scarce resource, it's memory bandwidth. But that doesn't mean reducing alu usage won't improve overall performance at least somewhat in 99% of cases