HNHacker News
TopNewBestAskShowJobs

lightcatcher

1,252 karma · joined January 10, 2011

http://ericmart.in (not much here)

https://github.com/lightcatcher

http://www.linkedin.com/pub/eric-martin/34/636/628/

My email is protected behind this captcha: https://www.google.com/recaptcha/mailhide/d?k=01d1UiHRvpkZRXt99xIP9iGw==&c=Klp_6m19BlnmignxY1w00mYErHe263koplO9E_NWDbo=

Interested in startups, machine learning, and high performance computing.

submissionscomments
lightcatcher··on Why do we use the Linux kernel's TCP stack?
Do you have any experience using POSIX async IO (aio_read, ...) or Linux kernel async IO (io_submit, ...)?

I'm curious in how throughput performance and CPU usage compares with these to SPDK. My (relatively confident) guess is that performance will be better with SPDK, but if it's not that much better programming against a more general interface (a filesystem) is appealing.

lightcatcher··on CS 179: GPU Programming
The lecture slides from 2016 are on the course website (which this HN post links to).
lightcatcher··on CS 179: GPU Programming
I took this class as a junior and then later co-taught this class as a senior undergrad in 2015.

The motivation behind the student taught class is that it allows for more classes to be taught than could happen otherwise.

As a student: Like any other class, the quality greatly depends on the work put in by the instructors. I think a student instructor is more likely to care about the quality of teaching, but also more likely to be overworked and not have enough time to dedicate to the course. I didn't think the course was particularly good when I took it due to lack of time from the instructors, but I'm glad the course was offered and that I took it as it got my feet wet with GPU programming.

After taking the course, I did an internship doing GPU programming. Doing this internship, I learned a ton and had a lot of ideas about how to improve the course. This put the idea of teaching the course in my head.

As an instructor: Myself and one other student designed the curriculum, gave the lectures, made the problem sets, did everything. We had a 3rd student who helped with grading. Teaching the course was hugely valuable to me, and also a ton of work. The course was hugely valuable because I learned a ton about GPU programming by teaching it and answering questions. As part of my motivation for teaching was to make the course more how I thought it should be, I didn't reuse many materials from the year before and spent many hours making lecture slides and problem sets. Towards the end of the course, I fell short on time and the lectures and problem sets weren't as good as they could have been. We made the class have a large final project of the student's choosing, and a few awesome things were made. Overall, I'm glad I taught the class, and I think I mostly accomplished what I wanted with improving the learning outcome for students.

lightcatcher··on Blue. No, Yellow
I also think his upfront time estimates were off. He estimated Ruby to be ~15% more productive than C. I don't write Ruby, but I do write a lot of C and Python. I'd estimate that it takes 5x less time for me to write a program in Python than C. Even if the 5x number is off, it's still a way larger reduction factor than 15%!
lightcatcher··on Google supercharges machine learning tasks with TPU custom chip
> They say it accelerates TensorFlow by 10x

They say 10x performance / watt, nothing about performance per unit time.

lightcatcher··on Why I don't spend time with Modern C++ anymore
> Regarding the flat memory model, for large scale programming the only sane model is a flat, cache coherent one; those architectures that don't provide that, either evolve to provide it or die (cf. CELL) supplanted by those that do (yes, that doesn't mean that all memory is the same, but that is true with your standard CPU anyway).

CUDA on Nvidia GPUs gives a non-coherent last level cache. Most programs distributed over multiple nodes have no shared address space abstraction, but instead do explicit message passing. I agree that coherent caches make programming easier to think about, but I don't think I would go as far to say they are the "only sane model" for "large scale programming" given that MPI and CUDA both are popular.

lightcatcher··on Ask HN: What are some rite-of-passage style projects for programmers?
Write an IRC bot with sockets. The program needs to listen to multiple networks inputs (the connections to different IRC servers) as well as respond to user input (or at least signaling). This is a great playground to try out different models such as thread per connection, your own busy waiting or sleeping event loop, and OS event loops such as poll.

If you want to do more parallelism rather than just concurrency, you could have some inputs make the bot start doing some work (like computing the billionth digit of pi) and queue the work up into a threadpool. If you really want to get into parallel programming, you could write a multiproducer-multiconsumer queue to allow the IO threads to communicate with the pi computing worker pool.

Hope this is a good concrete project! I did the first part (multiple connection IRC bot) a few years and it definitely helped me understand concurrency and network programming.

lightcatcher··on NVIDIA Announces the GeForce GTX 1000 Series
I'm unsure about the floating point performance differences, but 2 other reasons for potential differences are (1) number of floating point units and (2) different clock speeds.
lightcatcher··on I'm a good engineer but I suck at building stuff
Are you located in Chicago? If so, sounds like your project would fit in perfectly at ChiHackNight: http://chihacknight.org/ I'm guessing that you are already familiar with ChiHackNight, but if not I recommend checking it out.
lightcatcher··on NVIDIA Announces the GeForce GTX 1000 Series
Nvidia's main advantage over AMD for deep learning is software, not the hardware itself. Nvidia's software advantage has lead to network effects where almost all GPU supporting deep learning libraries build on top of Nvidia. There's no Tensorflow/Theano/Torch/Keras/etc for AMD/OpenCL for the most part. Nvidia also releases high performance kernels for common neural net operations (such as matrix multiply and convolution).

On the hardware end, Nvidia has slightly superior floating point performance (which is the only thing that matters for neural nets). Pascal also contains 16 bit floating point instructions, which will also be a big boost to neural net training performance.

lightcatcher··on GoBGP: BGP Implemented in Go
Seconded on the dpdk point. I've been working with kernel bypass networking in C but it seems to me that the asynchronous queue based APIs would be perfect for Golang or even Javascript. The only project I've seen so far to make kernel bypass networking nicer to program is http://www.seastar-project.org/ (which has DPDK support)
lightcatcher··on GitHub doesn't show search field unless you sign in
I noticed this a few days ago at work. I don't want to sign in to my personal Github account at work, but I'd still like to be able to search within a repo. I've been searching for code snippets with Google recently with lower (but non-zero) success rate.
lightcatcher··on Nanex Gets $700k Whistleblower Award from SEC
> What new information?

Trades occurring at other locations. Even if the other location are operating in discretized time, there's going to be variability in how fast different market participants can transmit information from one location to another. From Wolfram Alpha, Tokyo to NYC is 36ms at speed of light in vacuum and 51ms at speed of light in fiber, so someone with a faster network could be multiple discretized ticks ahead.

lightcatcher··on Sort Faster with FPGAs
I initially thought this as well, but reading the code showed me it's actually O(1) to add each item to the set.

Each cell computes in parallel (new_data < cell_data) & (cell_state == OCCUPIED). If this is true, then the cell will be pushed down, either be the new data or by the data from the cell above. Each cell can also grab this value from the cell above. If the cell above's value is true, then the cell grabs the value from the cell above. If the value in the cell above is false, then the cell grabs the data being inserted. This is O(1) because there's no cascading value shift. I personally found this pretty clever, and I'm looking forward to implementing some of these bounded size hardware sorts on GPU.

lightcatcher··on The Unreasonable Reputation of Neural Networks
> We'll need a new paradigm, beyond statistical learning, to create AGI

What makes you say that? Can you suggest a problem that you think is not addressable by statistical learning?

lightcatcher··on The Refragmentation
> If physicists (and other Ivey grads) all only chose wealth-creation, we'd see far less inequality (at least outside the Bay Area).

Choosing wealth-creation rather than rent-seeking has nothing to do with distribution of wealth as far as I see it. The hugely wealth-creating SF bay area is one of the most unequal places in the world.

I think redistribution of wealth is absolutely necessary to reduce poverty and increase average quality of life. Sadly, I don't have much faith in this happening due to the argument that selfishly motivated wealth-creators or rent-seekers will flock to wherever taxes them the least.

lightcatcher··on The Refragmentation
You are only mentioning the tech industry in Silicon Valley, which I admit is pretty utopian. This description excludes everyone else in Silicon Valley. You can't talk about income inequality while only looking at those with high income (everyone in the tech industry), and forgetting about those with lower income is a huge reason why income inequality is problematic.
lightcatcher··on Introducing OpenAI
The fact that we don't understand how neural nets work despite the excellent results makes an AI apocalypse more likely, not less. This means that if we ever create strong AI, we will likely not understand it initially.

Note: I'm personally not too worried about the AI apocalypse, but I think "we don't even understand neural nets" should cause more concern, not less.

lightcatcher··on Recurrent Neural Networks Hardware Implementation on FPGA
One of my favorite named startups ever is working on something likely related to video upscaling: http://www.magicpony.technology/
lightcatcher··on Study Finds That Asians Take Fewest Vacation Days, Europeans Take Most
If you can generalize on similar problems and be correct more often than random chance, then you have a useful model regardless of the data backing that model.
lightcatcher··on A Visual Introduction to DSP for SDR
Thanks, I found this to be very useful! I've been trying to learn about physical layer networking and been reading a communication systems textbook (the one by Haykin), and being able to visualize the different transformations on signals was super useful.

The section on FIR, IIR, and how to make high-pass and low-pass filters was also useful to me. I have a decent math background, so I'm finding one of the hardest parts of working through an intro communications textbook is figuring out the EE jargon (in-phase and quadrature, narrowband and wideband, etc).

lightcatcher··on Accelerating Hyperscale Datacenter Applications with Tesla GPUs
I don't know much about video encoding (I have more familiarity with GPU computing from the neural net side).

I would figure out if you are looking for bang for the buck with respect to hardware cost or energy cost. The options for video encoding seem to be pure software on CPU or GPU, dedicated hardware on CPU or GPU (such as nvenc or QuickSync), FPGA, or maybe an ASIC if it exists.

If using CPU or GPU hardware encoding, I believe you could get better utilization by also running CPU or GPU software encoding at the same time (for GPU, this would involve writing an encoder using CUDA). For FPGA, you might be able license blocks that do encoding, and then fill up the FPGA with these blocks.

lightcatcher··on Accelerating Hyperscale Datacenter Applications with Tesla GPUs
Despite the uninteresting title, this is a pretty large release from Nvidia.

Release summary:

* There are now Maxwell powered Tesla GPUs! The M40 is the K40/K80 upgrade, has 12GB of RAM and 24 SM's of compute capability 5.2. The new M4 GPU is a low power consumption Tesla that looks like it's targeted at video transcoding. The M4 has 4GB and 8 SM's (CC 5.2).

* Nvidia added GPU support to ffmpeg. This looks like it makes it significantly easier to encode videos on Nvidia's GPUs. I think this will work with any Kepler or Maxwell GPU.

* GPU REST Engine. This looks like a framework that maps REST requests into GPU tasks. I'm not exactly sure why these concepts aren't orthogonal, but the documentation suggests this is non-trivial because it balances work across multiple GPUs overlaps data fetching, data transfer, and compute.

* NVIDIA Image Compute Engine. An image resizing service built on top of GPU REST Engine framework.

* Nvidia is working with Mesosphere to add GPUs as a resource to Mesos. This will allow Mesos task proposals to request GPUs.

* There is some sort of better integration of CUDA with Docker now.

My thoughts on this:

* I'm interested to see the price point of the M4 since the "low power Tesla" is a new product for Nvidia. I'm interested in how it compares in price and power consumption to GeForce cards.

* GPU support for Mesos is exciting, because this + some non-trivial modifications to TensorFlow would be an awesome framework to train neural networks.

lightcatcher··on Why I Quit Ordering from Uber-For-Food Startups
I'm surprised HN is so against this article. I'm unhappy with the idea of "full Sprig" or "full Josephine". Furthermore, a "full Sprig" or "full Josephine" society is impossible with their current business models as I highly doubt their contractors have enough money to use their own services, especially if they get sick and have to deal with their uninsured medical costs. The lack of regulations around these services is just a way for the company to transfer more liabilities onto their contractors (cough employees) and reduce costs for themselves and their customers.

I think all of these startups are "solving all the problems of being twenty years old, with cash on hand"[0] and do so by taking advantage (and perpetuating) massive income inequality.

[0] http://www.newyorker.com/magazine/2013/05/27/change-the-worl...

lightcatcher··on Tesla Model S Autopilot Features
I think it's a mix of effects. Tesla is definitely pushing car engineering in some respects, but as far as I can tell the only thing new in this story is that the feature was added to the cars in a software update. Do you really think Audi would be #1 on Hacker News if they updated the 5 series over the air to stay in it's lane automatically while on the highway?

I've had a bit of cognitive dissonance recently while reading Elon Musk's comments on Apple's electric car project because I have to remind myself Tesla isn't owned by Apple. Tesla does do some great engineering, but I think they have also Apple levels of hype within technology circles.

lightcatcher··on Tesla Model S Autopilot Features
Any estimate of how much the sensors as well as compute infrastructure cost in something like the Model S? $100, $1000, $10k, more?

I'd love to learn more about the increasing "computerization" of cars. Do you know of any good publications, blogs, etc for someone to learn about the computer systems powering cars?

lightcatcher··on Tesla Model S Autopilot Features
What sensors does the Model S have? I'm surprised that Tesla sold a car with enough sensors for semi-autonomous operation without the actual software until now.

For those with more knowledge about cars, how does the sensor array in the Model S compare with similar models from companies such as BMW, Audi, Mercedes-Benz? I'm interested in knowing if it's software or the already installed hardware holding back recent luxury cars from similar capabilities.

Also, does anyone know anything about the (digital) security features of the Tesla? This announcement from Tesla makes it clear that the actual control of the vehicle can be modified by an over the air software update. With the recent Jeep hack[0] in mind, does any know if something similar is possible on a Tesla, or if there are some safeguards such as signed updates? As one of the most computerized cars on the market, I tend to think that the Tesla cars might also be some of the most (maliciously) hackable cars on the market.

[0] http://www.wired.com/2015/07/hackers-remotely-kill-jeep-high...

lightcatcher··on What Really Keeps Women Out of Tech
Beer seems more in-line with bro culture than nerd culture. This particular article seems more against corporate nerd culture than against corporate bro culture, but I've definitely seem articles speaking out against brogramming culture. Bros and nerds are quite different things (even though it seems like there are a lot of hybrids in Silicon Valley), but it seems to me that the only way to not alienate anyone is to have zero corporate culture.
lightcatcher··on What Really Keeps Women Out of Tech
Palantir is named after an item in Lord of the Rings. From what I've heard from friends working there, they have an internal conference called HobbitCon, meetings rooms named after LotR, and refer to their office as "the shire".
lightcatcher··on YC Research
Serious question: In what ways is CS theory high-impact?

I'm particularly interested in any arguments that complexity theory is high-impact (beyond the very useful insight that there are some problems for which no polynomial time algorithm is known). I have a pretty good idea of the impact of cryptography and randomized linear algebra (sometimes considered CS theory), but am also interested in hearing about other fields considered CS theory with useful applications.

← PreviousPage 3 of 9Next →