HackerTrans
TopNewTrendsCommentsPastAskShowJobs

vpanyam

no profile record

Submissions

Wildcard Tables in BigQuery

smallthingssql.com
1 points·by vpanyam·2 yıl önce·0 comments

Spamming "Hi" at Every LLM

twitter.com
3 points·by vpanyam·2 yıl önce·0 comments

Photorealistic complex scenes with Midjourney V6

old.reddit.com
2 points·by vpanyam·3 yıl önce·0 comments

Parsing an Undocumented File Format

blog.vivekpanyam.com
143 points·by vpanyam·3 yıl önce·62 comments

Carton now supports running ML models from C and C++

blog.vivekpanyam.com
1 points·by vpanyam·3 yıl önce·0 comments

Show HN: Carton – Run any ML model from any programming language

carton.run
196 points·by vpanyam·3 yıl önce·53 comments

My first time using Rust “for real” (Rust vs C++)

blog.vivekpanyam.com
9 points·by vpanyam·4 yıl önce·0 comments

Show HN: Octet Video – Ultra fast video transcoding, 50% cheaper than AWS

octet.video
3 points·by vpanyam·4 yıl önce·0 comments

Twitch announces the end of exclusivity clauses in partner contracts

twitter.com
1 points·by vpanyam·4 yıl önce·1 comments

Having, a less understood SQL clause

smallthingssql.com
169 points·by vpanyam·4 yıl önce·81 comments

comments

vpanyam
·11 ay önce·discuss
Yeah having traits for this in the stdlib would be nice.

You might find Lunchbox [1] interesting. I needed an async virtual filesystem interface for a project a few years ago (and didn't find an existing library that fit my needs) so I built one:

> Lunchbox provides a common interface that can be used to interact with any filesystem (e.g. a local FS, in-memory FS, zip filesystem, etc). This interface closely matches `tokio::fs::` ...

It includes a few traits (`ReadableFileSystem`, `WritableFileSystem`) along with an implementation for local filesystems. I also used those traits to build libraries that enable things like read-only filesystems backed by zip files [2] and remote filesystems over a transport (e.g. TCP, UDS, etc) [3].

[1] https://crates.io/crates/lunchbox

[2] https://crates.io/crates/zipfs

[3] https://github.com/VivekPanyam/carton/tree/main/source/anywh...
vpanyam
·3 yıl önce·discuss
I'm definitely open to it if there's interest (or if someone wants to help), but I don't have plans to implement Windows support myself at the moment.

The currently supported platforms [1] were mostly driven by environments I've seen at various tech companies.

I do have active plans to support inference from WASM/WebGPU so maybe that could be a good entrypoint to Windows support.

--

[1] Currently, the supported platforms are:

* `x86_64` Linux and macOS

* `aarch64` Linux (e.g. Linux on AWS Graviton)

* `aarch64` macOS (e.g. M1 and M2 Apple Silicon chips)

* WebAssembly (metadata access only for now, but WebGPU runners are coming soon)
vpanyam
·3 yıl önce·discuss
That's a good question! There's an FAQ entry on the homepage that touches on this, but let me know if I can improve it:

> ONNX converts models while Carton wraps them. Carton uses the underlying framework (e.g. PyTorch) to actually execute a model under the hood. This is important because it makes it easy to use custom ops, TensorRT, etc without changes. For some sophisticated models, "conversion" steps (e.g. to ONNX) can be problematic and require additional validation. By removing these conversion steps, Carton enables faster experimentation, deployment, and iteration.

> With that said, we plan to support ONNX models within Carton. This lets you use ONNX if you choose and it enables some interesting use cases (like running models in-browser with WASM).

More broadly, Carton can compose with other interesting technologies in ways ONNX isn't able to because ONNX is an inference engine while Carton is an abstraction layer.
vpanyam
·3 yıl önce·discuss
In addition to the benefits mentioned in the sibling comment, zip files let you seek to and access individual files in the archive without extracting all files (vs tar files for example).

This lets us do things like fetch model metadata [1] for a large remote model, by only fetching a few tiny byte ranges instead of the whole model archive.

It also means you can include sample data (images, etc) with your model and they're only fetched when necessary (for example with stable diffusion: https://carton.pub/stabilityai/sdxl)

[1] https://carton.run/docs/metadata
vpanyam
·3 yıl önce·discuss
Thanks :)

It uses the NVIDIA drivers on your system, but it should be possible to make the rest of CUDA somewhat portable. I have a few thoughts on how to do this, but haven't gotten around to it yet.

The current GPU enabled torch runners use a version of libtorch that's statically linked against the CUDA runtime libraries. So in theory, they just depend on your GPU drivers and not your CUDA installation. I haven't yet tested on a machine that has just the GPU drivers installed (i.e without CUDA), but if it doesn't already work, it should be very possible to make it work.
vpanyam
·3 yıl önce·discuss
Yes, that's a use case Carton supports.

For exmaple, if your model contains arbitrary Python code, you'd pack it using [1] and then you could load it from another language using [2]. In this case, Carton transparently spins up an isolated Python interpreter under the hood to run your model (even if the rest of your application is in another language).

You can take it one step further if you're using certain DL frameworks. For example, you can create a TorchScript model in Python [3] and then use it from any programming language Carton supports without requiring python at runtime (i.e. your model runs completely in native code).

[1] https://carton.run/docs/packing/python

[2] https://carton.run/docs/loading

[3] https://carton.run/docs/packing/torchscript
vpanyam
·4 yıl önce·discuss
I'm working on the second part of my Nerf Dart Missile Defense system project [0].

Building a robot that can track nerf darts and shoot them out of the air has a lot of interesting technical challenges so it's a fun project :) I also get to learn a lot about the process of making videos.

The second part was almost ready a few months ago, but then I had to redo a lot of stuff and I lost steam for a bit.

Hopefully I'll have a second (more well-put-together) video out soon!

[0]: https://www.youtube.com/watch?v=wF-f_AdCxl0
vpanyam
·4 yıl önce·discuss
More details: https://help.twitch.tv/s/article/partner-exclusivity-faq