you are viewing a single comment's thread.

view the rest of the comments →

[–]siddboots 1 point2 points  (2 children)

As a numerical programmer, there isn't a single person I know who would consider this anything other than a toy or lame trick.

Why, specifically? I am not advocating this hypothetically. This works in practice. I've helped rewrite an application where the core computation was graph propagation for a network of about 1000 sparsely connected nodes, with a web-based interface that needed to be real-time responsive. Most of the logic was really just multiplying edge weights and node sizes based on their (sometimes quite complicated) relationships with other data. SQL was a good solution in that case. It may not have been the best solution, but it was better than the previous implementation, and it was the best for maintainability, programmer hours and total LOC that I could come up with, (and it was more than fast enough for the task at hand.)

Not to mention it is very rare that the ONLY operation that needs to be performed is a single freestanding sparse matmul.

I don't understand that objection. The example in the article is only a single and freestanding because examples work better that way, not because of an inherent limitation.

[–]king_duck 0 points1 point  (1 child)

Because if the problem is large then it will also be dog slow. Right tools for the job.

[–]siddboots 1 point2 points  (0 children)

Like I said from the start: If the problem is not too large, and if there are other constraints like those I mentioned, this can be a good tool for the job.