I've spent a few hours trying to get up and running with harlan, and wanted to provide some feedback.
The documentation is good as far as installing goes, and the different compiler options are well laid out. One thing that I haven't been able to find however is a nice "hello world" walk-through for actually writing harlan code.
Digging through the test cases has given me some idea of how things work, but I think a quick example that illustrates the following things would be helpful:
1. Which code executes on the host, and which executes on the device
2. How arguments are passed to the kernel, how are work-groups and work-items are mapped (if at all).
3. Transferring data to the device and then accessing it there (and copying data back).
I'm coming from a CUDA/OpenCL background, so I may be asking questions at the wrong level of abstraction, but that's where I feel like the biggest gap in the docs is.
Otherwise, awesome project, thanks!
Matt
Hi harlan-dev,I've spent a few hours trying to get up and running with harlan, and wanted to provide some feedback.
The documentation is good as far as installing goes, and the different compiler options are well laid out. One thing that I haven't been able to find however is a nice "hello world" walk-through for actually writing harlan code.
Digging through the test cases has given me some idea of how things work, but I think a quick example that illustrates the following things would be helpful:
1. Which code executes on the host, and which executes on the device
2. How arguments are passed to the kernel, how are work-groups and work-items are mapped (if at all).
3. Transferring data to the device and then accessing it there (and copying data back).
I'm coming from a CUDA/OpenCL background, so I may be asking questions at the wrong level of abstraction, but that's where I feel like the biggest gap in the docs is.
Otherwise, awesome project, thanks!
Matt