2021 Week 10 Research Journal
Goals
My goals from last week were:
- Blog-ify LATTE thoughts
- Make project proposal for UCSB people
- Draft eval section for Arxiv
- Get as far as I can in getting Chien Yu’s code working
- Make Python notebook end-to-end
A bunch of these are still not done; I’ve been sprinting on Arxiv, wanting to get it done by the end of the week. I should work on some of these things, though, but my focus is definitely on Arxiv. Also, we have a DARPA deadline that was sprung on us, so realistically, most of my time will be spent on that.
- Get stuff done for DARPA milestone.
- Get Glenside web demo up. I started it; I should finish it. This is useful for the Arxiv.
- Message UCSB people back.
- Start LATTE blog post draft.
- If I want to look far ahead, I should at least put in a little time on the Glenside talk I want to give for PLSE lunch in May.
God, using software in general is such a nightmare. I’m convinced software engineers are only paid so much because using software is so painful. I’m doing one of the things I have come to fear the most over the past three years: trying to import deep learning models into TVM. It’s not all TVM’s fault…in fact, most of the effort is spent in actually getting the model in the first place. I’d say I spend the most time banging my head against Tensorflow. In this case, it’s MLPerf Inference that I’m banging my head against. I need to get their GNMT model in Tensorflow. They have piles and piles of abstractions, but no clear way to get the model definition itself.
I’m spending
a LOT of time
trying to build
an ergonomic
VSCode setup.
Specifically,
for the repo I’m working on,
I want to have an easy way
to work on it
in a container
on my local machine
and also on the rtml
machine.
VSCode
really does not
make this easy,
but I can’t figure out
if it’s something
I’m doing wrong.
I eventually came up with a good scheme for doing the above. This method foregoes some of the niceties of VSCode, but honestly, it still works surprisingly well. Here’s what I did:
- Set up
and switch to
a Docker context
for your remote server.
This is a nice built-in feature of Docker,
seemingly,
and there are good instructions online.
I forget
the command
for setting up
the context,
but the command to enable it
is
docker context use <your context>
. - There
is some
ssh-agent
stuff that needs to be running on either your local machine or on the host or both…maybe. Startingssh-agent
and runningssh-add
should be enough. This may just be needed in my situation because I’m dealing with private repositories. -
On your remote, build your image and start a container, manually mounting the working directory of the repo of interest. In my case:
docker run -t -d --mount source=/home/gus/rtml-notebooks,target=/workspace,type=bind,consistency=cached rtml-notebooks /bin/bash
-t -d
keep it running in the background (or something). I think you’re expected to bind your working directory to/workspace
inside the container; it seems like this is what VSCode wants. - Open VSCode, navigate to the Remote Explorer, and select Containers from the dropdown. You should see the container you started, probably under “Other”. Click it to open. VSCode may complain about it not being started; try starting it/reopening it a few times from VSCode’s interface. Eventually VSCode will install itself inside the container and you’ll be good to go!
Most of my goals
this week
were put aside
for the RTML deadline.
I did, however,
make a minimal working example
of the Glenside web demo:
see here.
Type (access-shape (shape 1 2) (shape 2 3))
into the box
and hit run.
This is a small
Glenside expression;
you can see its result
in the text box.
The main web demo development happens in my GitHub repository.