←back to thread

218 points lapnect | 8 comments | | HN request time: 1.07s | source | bottom
Show context
romesmoke ◴[] No.42174962[source]
An interesting variation is Dynamic Storage Allocation, in which the rectangles can slide only alongside one axis.

AKA "static memory allocation", since the heights of the rectangles can be interpreted as buffer sizes, and their widths as lifetimes.

Most of my PhD's effort has been devoted to beating the SOTA in this. Problem's importance nowadays is owed to deep learning's memory wall.

replies(2): >>42175495 #>>42178981 #
1. auvi ◴[] No.42175495[source]
nice! you have your thesis or any related paper available online?
replies(3): >>42177050 #>>42179023 #>>42180210 #
2. ◴[] No.42177050[source]
3. almostgotcaught ◴[] No.42179023[source]
there are a bunch of papers on DSA from the OR people

http://adambuchsbaum.com/papers/dsa-stoc03.pdf

https://link.springer.com/chapter/10.1007/978-3-540-27798-9_...

https://users.cs.northwestern.edu/~pdinda/ics-s05/doc/dsa.pd...

there are also some from ML people trying to allocate memory optimally for DNNs:

https://arxiv.org/abs/1907.01989

https://arxiv.org/abs/1804.10001

https://arxiv.org/abs/2001.03288

they all boil down to a couple of greedy heuristics. the most recent "cool" paper was from a group at google

https://dl.acm.org/doi/10.1145/3567955.3567961

basic idea is to use both ILP and heurstics. i asked them to open source but no dice :(

replies(1): >>42179064 #
4. p0ckets ◴[] No.42179064[source]
An even more recent one from Google: https://github.com/google/minimalloc
replies(1): >>42179116 #
5. almostgotcaught ◴[] No.42179116{3}[source]
i gave up on the problem about 18 months ago so i didn't keep up with the research area. is this yours? the runtimes are of course very good but i don't see a comparison on how good the approximation is vs telamalloc (or just ILP). i'll say this though: it's miraculuos that the impl is so small.
replies(1): >>42186127 #
6. romesmoke ◴[] No.42180210[source]
Hopefully I'll defend next summer.

Papers-and-code-wise, I haven't published the "final" thing yet. Right now I'm looking into integrating it with IREE, to get some end-to-end figures.

replies(1): >>42184591 #
7. almostgotcaught ◴[] No.42184591[source]
> Right now I'm looking into integrating it with IREE

clever guy. IREE is just about the only serious/available runtime where you can do this because IREE codegens the runtime calls as well as the kernel code. But you're gonna have to either patch an existing HAL or write a new one to accomplish what you want to accomplish. If you want I can help you - if you go to the discord (https://discord.gg/J68usspH) and ask about this in #offtopic I'll DM you and can point you to the right places.

8. p0ckets ◴[] No.42186127{4}[source]
Not mine. I just happened to hear about it from a colleague recently.