nvParse

Data

csv parsing

SHOW HN2015

123points
60comments
#190of 2,565 in 2015
Top 8%of 2015 by points

How HN took it

RoastedHalf or more of the comments are critical

2 positive, 11 neutral or asking, 0 mixed, 16 critical, out of 29 comments about the project. Thread score -0.43.

Performance: 0 for, 13 againstExecution: 1 for, 2 againstIdea: 1 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Creative application of GPU to a less typical task

    From 1 comment
    • I like your creativity in applying the GPU to a less typical task. Is it the case that the CPU version could be sped up dramatically by using multiple cores and a variation on…
      WhitneyLand on HN

Objections

  • Benchmark compares single-threaded CPU to top-tier GPU

    From 2 comments
    • I'm skeptical of the 8x speedup for several reasons, the main one being that this particular problem does not fit the paradigm of problems that work well on the GPU; the GPU…
      castratikron on HN
    • You hit the nail on the head. All of that on top of the fact that he is comparing a top of the line GPU against a mediocre i3 processor. GPU to CPU comparisons are always apples…
      stephen272 on HN
  • Parsing is memory-bound and poorly suited to GPU

    From 3 comments
    • I'm skeptical of the 8x speedup for several reasons, the main one being that this particular problem does not fit the paradigm of problems that work well on the GPU; the GPU…
      castratikron on HN
    • > Generally the only code that maps well to the GPU is that which contains large for loops and has good spacial locality (e.g. matrix multiplication). You also need high…
      pcwalton on HN
    • There's also just the sheer bandwidth factor. A GTX Titan has 288 GB/s of BW, a Haswell with DDR3 puts out about 35 GB/s. That's a factor of 8.22x more bandwidth, so there's your…
      paulmd on HN
  • Hard-coded to the test dataset and not a general CSV parser

    From 2 comments
    • This title is incredibly misleading. * This isn't parsing a CSV, this is a program written to split this exact dataset. (The code is filled with hard coded values) * You're…
      andrewguenther on HN
    • Though there is no standard definition of CSV, de facto processing it properly requires recognizing quotes, and also escapes of literal quotes using double quoting: ``` this,…
      kazinator on HN
  • Benchmark timing may measure kernel launch, not completion

    From 1 comment
    • I kinda suspect he might be measuring the time it takes to launch a kernel rather than the time it takes the kernel to complete. Thrust device calls, like those of the underlying…
      paulmd on HN

Requests

  • Run the GPU and CPU benchmarks in a fair comparison

    From 2 comments
    • You hit the nail on the head. All of that on top of the fact that he is comparing a top of the line GPU against a mediocre i3 processor. GPU to CPU comparisons are always apples…
      stephen272 on HN
    • I don't think CPU and GPU is going to make much difference here. You speed up in GPU run could be because of hot cache of file system. Try running GPU run first and non-GPU after…
      avarsheny on HN

Questions

  • How is a 750GB file read in 1.5 seconds?

    From 1 comment
    • I don't understand the benchmark. How can a 750GB file be read from disk in 1.5 seconds, let alone be parsed? He mentions it's a 2TB drive, so it's not even SSD presumably?
      roel_v on HN
  • How fast is parsing cell values like dates on the GPU?

    From 1 comment
    • Very interesting. From my experience, the hard part about parsing CSV isn't to identify the individual cells, but rather parsing those cells afterwards (as numbers, dates, etc).…
      victorNicollet on HN

Alternatives named

  • Thrust multicore OpenMP backend

    From 1 comment
    • You can compile Thrust using a device target of OpenMP, so no need to rewrite it in OpenCL.
      paulmd on HN
  • Lokad flatfiles

    From 1 comment
    • Very interesting. From my experience, the hard part about parsing CSV isn't to identify the individual cells, but rather parsing those cells afterwards (as numbers, dates, etc).…
      victorNicollet on HN
  • PapaParse

    From 1 comment
    • I gotta admit, having written a high-speed, multi-threaded streaming CSV parser for the browser[1], I'm quite impressed by your project. I've done CUDA programming before and…
      mholt on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/9485714)