Page MenuHomePhabricator

jhen (Jason Henline)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 15 2015, 11:31 AM (205 w, 1 d)

Recent Activity

Dec 19 2016

jhen committed rL290137: [Axccel] Remove -Wno-missing-braces in build.
[Axccel] Remove -Wno-missing-braces in build
Dec 19 2016, 1:44 PM
jhen closed D27941: [Axccel] Remove -Wno-missing-braces in build by committing rL290137: [Axccel] Remove -Wno-missing-braces in build.
Dec 19 2016, 1:44 PM
jhen retitled D27941: [Axccel] Remove -Wno-missing-braces in build from to [Axccel] Remove -Wno-missing-braces in build.
Dec 19 2016, 1:40 PM

Dec 2 2016

jhen closed D27328: [CUDA] Fix faulty test from rL288448.
Dec 2 2016, 9:49 AM
jhen closed D27316: [CUDA] "Support" ASAN arguments in CudaToolChain.
Dec 2 2016, 9:48 AM
jhen committed rL288512: [CUDA] Forward sanitizer support to host toolchain.
[CUDA] Forward sanitizer support to host toolchain
Dec 2 2016, 9:42 AM
jhen closed D27351: [CUDA] Forward sanitizer support to host toolchain by committing rL288512: [CUDA] Forward sanitizer support to host toolchain.
Dec 2 2016, 9:42 AM
jhen retitled D27351: [CUDA] Forward sanitizer support to host toolchain from to [CUDA] Forward sanitizer support to host toolchain.
Dec 2 2016, 9:32 AM

Dec 1 2016

jhen committed rL288453: [CUDA] Fix faulty test from rL288448.
[CUDA] Fix faulty test from rL288448
Dec 1 2016, 6:14 PM
jhen retitled D27328: [CUDA] Fix faulty test from rL288448 from Remove faulty test from rL288448 to [CUDA] Fix faulty test from rL288448.
Dec 1 2016, 6:10 PM
jhen updated the diff for D27328: [CUDA] Fix faulty test from rL288448.
  • Switch to more specific error
Dec 1 2016, 6:09 PM
jhen retitled D27328: [CUDA] Fix faulty test from rL288448 from to Remove faulty test from rL288448.
Dec 1 2016, 6:05 PM
jhen committed rL288448: [CUDA] "Support" ASAN arguments in CudaToolChain.
[CUDA] "Support" ASAN arguments in CudaToolChain
Dec 1 2016, 5:53 PM
jhen retitled D27316: [CUDA] "Support" ASAN arguments in CudaToolChain from [CUDA] Filter out dirver sanitizer args for NVPTX to [CUDA] "Support" ASAN arguments in CudaToolChain.
Dec 1 2016, 5:47 PM
jhen updated the diff for D27316: [CUDA] "Support" ASAN arguments in CudaToolChain.
  • "Support" ASAN in CudaToolChain
Dec 1 2016, 5:38 PM
jhen added a comment to D27316: [CUDA] "Support" ASAN arguments in CudaToolChain.
In D27316#611162, @kcc wrote:

I am not sure this is going to work.
You essentially break on the first iteration in the beginning of the loop.
Why not exit the function before the loop?
Also, the loop "claims" the args and by breaking early you leave the args unclaimed.

I don't remember this code well enough to argue about it w/o tests. :(

Dec 1 2016, 3:29 PM
jhen added a reviewer for D27316: [CUDA] "Support" ASAN arguments in CudaToolChain: kcc.

Before this patch, the following command would fail:

Dec 1 2016, 1:04 PM
jhen retitled D27316: [CUDA] "Support" ASAN arguments in CudaToolChain from to [CUDA] Filter out dirver sanitizer args for NVPTX.
Dec 1 2016, 11:57 AM

Oct 31 2016

jhen added a comment to rL285111: Initial check-in of Acxxel (StreamExecutor renamed).

Hi grosser. Sorry for not including the motivation in the commit message. During the review (https://reviews.llvm.org/D25701) I added a comment at the beginning about the motivation for the change in response to the same question from hfinkel. I won't repeat the details here. Instead, I'll just provide the previous link and summarize by saying that the old kernel launch model didn't work with templated CUDA kernels, so I decided not to keep it, but it could return later (hopefully in a more general form).

Oct 31 2016, 9:51 AM

Oct 27 2016

jhen committed rL285372: [Acxxel] Remove setActiveDeviceForThread.
[Acxxel] Remove setActiveDeviceForThread
Oct 27 2016, 6:03 PM
jhen closed D26050: [Acxxel] Remove setActiveDeviceForThread by committing rL285372: [Acxxel] Remove setActiveDeviceForThread.
Oct 27 2016, 6:03 PM
jhen added inline comments to D26050: [Acxxel] Remove setActiveDeviceForThread.
Oct 27 2016, 5:25 PM
jhen updated the diff for D26050: [Acxxel] Remove setActiveDeviceForThread.
  • Default DeviceIndex for getSymbolMemory
Oct 27 2016, 5:25 PM
jhen retitled D26050: [Acxxel] Remove setActiveDeviceForThread from to [Acxxel] Remove setActiveDeviceForThread.
Oct 27 2016, 4:51 PM

Oct 25 2016

jhen added a comment to D25968: [Acxxel] Generate documentation for website.

I'm contacting Tanya Lattner to make sure I have set the hooks up correctly for this documentation to be generated and published automatically by the standard LLVM doc scripts. I will wait to check this in until I hear back.

Oct 25 2016, 2:56 PM
jhen retitled D25968: [Acxxel] Generate documentation for website from to [Acxxel] Generate documentation for website.
Oct 25 2016, 2:48 PM
jhen committed rL285115: [SE] Remove StreamExecutor.
[SE] Remove StreamExecutor
Oct 25 2016, 1:48 PM
jhen closed D25964: [SE] Remove StreamExecutor by committing rL285115: [SE] Remove StreamExecutor.
Oct 25 2016, 1:47 PM
jhen retitled D25964: [SE] Remove StreamExecutor from to [SE] Remove StreamExecutor.
Oct 25 2016, 1:33 PM
jhen committed rL285111: Initial check-in of Acxxel (StreamExecutor renamed).
Initial check-in of Acxxel (StreamExecutor renamed)
Oct 25 2016, 1:28 PM
jhen closed D25701: Initial check-in of Acxxel (StreamExecutor renamed) by committing rL285111: Initial check-in of Acxxel (StreamExecutor renamed).
Oct 25 2016, 1:28 PM
jhen added inline comments to D25701: Initial check-in of Acxxel (StreamExecutor renamed).
Oct 25 2016, 1:05 PM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Add ctors for Expected(Expected<U>)
Oct 25 2016, 1:02 PM
jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

Would it be worth updating (some of?) the examples to the fluent interface?

Oct 25 2016, 11:04 AM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Respond to jlebar's comments 2016-10-24
Oct 25 2016, 11:04 AM

Oct 24 2016

jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

In addition to responding to jlebar's posted comments, I also removed the acxxel::getPlatform function and replaced it with the two functions acxxel::getCUDAPlatform and acxxel::getOpenCLPlatform. I also added a comment to explain that the CUDA and OpenCL platforms are available out of the box with Acxxel, but that other platforms can be created as well. The old acxxel::getPlatform function made it confusing to think about how to add a new platform because it seemed like the new platform should also be registered somehow to put in on equal footing with CUDA and OpenCL. I hope this new design will be clearer in this aspect.

Oct 24 2016, 4:47 PM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Remove asserts in OpenCL example
  • Respond to jlebar's OpenCL, util comments
Oct 24 2016, 4:47 PM
jhen added a comment to D25450: [clang-tidy] Fix identifier naming in macro args..

Thanks for the review!

Oct 24 2016, 10:30 AM
jhen committed rL284992: [clang-tidy] Fix identifier naming in macro args..
[clang-tidy] Fix identifier naming in macro args.
Oct 24 2016, 10:30 AM
jhen closed D25450: [clang-tidy] Fix identifier naming in macro args. by committing rL284992: [clang-tidy] Fix identifier naming in macro args..
Oct 24 2016, 10:30 AM

Oct 21 2016

jhen added inline comments to D25450: [clang-tidy] Fix identifier naming in macro args..
Oct 21 2016, 8:03 AM
jhen updated the diff for D25450: [clang-tidy] Fix identifier naming in macro args..
  • Early exit if not Failure.ShouldFix
Oct 21 2016, 8:01 AM

Oct 19 2016

jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Fix deleted Span container constructor
Oct 19 2016, 10:19 AM
jhen added inline comments to D25701: Initial check-in of Acxxel (StreamExecutor renamed).
Oct 19 2016, 10:00 AM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Respond to jlebar's comments on cuda_acxxel.cpp
Oct 19 2016, 9:56 AM

Oct 18 2016

jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Remove fixed_vector.h
Oct 18 2016, 6:20 PM
jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

Latest patch responds to jlebar's comments on acxxel.cpp and does a couple of other things.

  • Removes old Platform::getContext function. It used to be used for launching OpenCL kernels, but is not needed now.
  • Cleans up a bunch of minor documentation stuff.
Oct 18 2016, 6:07 PM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Remove unused Platform::getContext function
  • Documentation fixes
  • Respond to jlebar's comments on acxxel.cpp
Oct 18 2016, 6:05 PM
jhen updated D25701: Initial check-in of Acxxel (StreamExecutor renamed).
Oct 18 2016, 4:25 PM
jhen updated D25701: Initial check-in of Acxxel (StreamExecutor renamed).
Oct 18 2016, 4:09 PM
jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

In my latest patch I responded to jlebar's comments about error handling. The new model in this patch is to have each Stream own its own error state, as was done in StreamExecutor. There is now a function to query the state of the Stream, and all the enqueuing functions that used to return Status now return Stream& instead. This means the fluent Stream launching interface is back as it was in StreamExecutor. Maybe we'll keep the name StreamExecutor for this new thing instead of calling it Acxxel in the end, but we'll keep it as Acxxel for now, at least to distinguish it from the old StreamExecutor code.

Oct 18 2016, 4:04 PM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • New error handling in stream
  • Reorganize kernel launch code
  • Move enqueueEvent to Stream
Oct 18 2016, 3:59 PM
jhen updated subscribers of D25701: Initial check-in of Acxxel (StreamExecutor renamed).
Oct 18 2016, 1:33 PM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Respond to jlebar's comments 2
Oct 18 2016, 12:45 PM
jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

You were right that it did require checking the error at every line. To address this, I've added in a thread_local variable to keep track of the first error status. With this, users can make as many calls as they want without checking the error, then they can do a final check that nothing went wrong.

Should it be thread_local, or local to the stream itself? (Are streams even thread-safe? I would have assumed not, but if they are, we should comment that.)

Oct 18 2016, 12:45 PM
jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

The one thing I really miss from the old SE is not checking the error at every line. I wonder if we could say that errors carry forward just like they used to? Or maybe they do actually carry forward and I don't need to have an error check on every line -- I haven't gotten to the implementation yet. :)

Oct 18 2016, 11:19 AM
jhen updated the diff for D25701: Initial check-in of Acxxel (StreamExecutor renamed).
  • Respond to jlebar's comments
  • Keep track of first error status per thread
Oct 18 2016, 11:18 AM

Oct 17 2016

jhen added a comment to D25701: Initial check-in of Acxxel (StreamExecutor renamed).

Due to the shift in emphasis away from supporting type-safe kernel launches and the movement of streams from being the central programming entities,

Can you please discuss the motivation for this?

Oct 17 2016, 3:10 PM
jhen retitled D25701: Initial check-in of Acxxel (StreamExecutor renamed) from to Initial check-in of Acxxel (StreamExecutor renamed).
Oct 17 2016, 2:38 PM
jhen abandoned D24619: [SE] Cache CUDA modules.

We've decided to come at this problem from a different angle, so I'm abandoning this revision.

Oct 17 2016, 12:46 PM
jhen added a comment to D25450: [clang-tidy] Fix identifier naming in macro args..

Adding arron.ballman as a reviewer as alexfh seems to be on leave for a few weeks.

Oct 17 2016, 10:30 AM
jhen added a reviewer for D25450: [clang-tidy] Fix identifier naming in macro args.: aaron.ballman.
Oct 17 2016, 10:29 AM

Oct 10 2016

jhen added a comment to D25450: [clang-tidy] Fix identifier naming in macro args..

I just found and fixed another bug in this patch. Before, I wasn't using the spelling location for the fixit hint. This meant that a macro argument that was expanded to two locations, for example, would have the same fixit hint applied to it twice. My new test case verifies that this does not happen anymore.

Oct 10 2016, 4:30 PM
jhen updated the diff for D25450: [clang-tidy] Fix identifier naming in macro args..
  • Prevent multiple fixes for macro expansion
Oct 10 2016, 4:28 PM
jhen added a comment to D25450: [clang-tidy] Fix identifier naming in macro args..

I found a bug in my first patch that I have fixed now. I was trying to iterate over the source range by using SourceLocation::getLocWithOffset, but I realized that doesn't work, so I removed it and went back to the original method of checking SourceRange.getBegin().isMacroID() and SourceRange.getEnd().isMacroID().

Oct 10 2016, 3:28 PM
jhen updated the diff for D25450: [clang-tidy] Fix identifier naming in macro args..
  • Return to original checking for macro in range
Oct 10 2016, 3:25 PM
jhen added a comment to D25450: [clang-tidy] Fix identifier naming in macro args..

alexfh, sorry if you are not the right person to review this change. I based my choice on this history of this file.

Oct 10 2016, 1:45 PM
jhen retitled D25450: [clang-tidy] Fix identifier naming in macro args. from to [clang-tidy] Fix identifier naming in macro args..
Oct 10 2016, 1:44 PM

Sep 27 2016

jhen accepted D24971: [CUDA] [test-suite] Add tests for std::complex..

Looks great!

Sep 27 2016, 11:00 AM
jhen committed rL282491: [SE] Change CoreTests target name.
[SE] Change CoreTests target name
Sep 27 2016, 8:41 AM
jhen closed D24949: [SE] Change CoreTests target name by committing rL282491: [SE] Change CoreTests target name.
Sep 27 2016, 8:41 AM

Sep 26 2016

jhen retitled D24949: [SE] Change CoreTests target name from to [SE] Change CoreTests target name.
Sep 26 2016, 5:34 PM

Sep 15 2016

jhen added inline comments to D24619: [SE] Cache CUDA modules.
Sep 15 2016, 2:10 PM
jhen committed rL281654: [SE] Fix config bug with CUDA tests.
[SE] Fix config bug with CUDA tests
Sep 15 2016, 1:35 PM
jhen closed D24618: [SE] Fix config bug with CUDA tests by committing rL281654: [SE] Fix config bug with CUDA tests.
Sep 15 2016, 1:35 PM
jhen retitled D24619: [SE] Cache CUDA modules from to [SE] Cache CUDA modules.
Sep 15 2016, 12:42 PM
jhen retitled D24618: [SE] Fix config bug with CUDA tests from to [SE] Fix config bug with CUDA tests.
Sep 15 2016, 12:39 PM
jhen committed rL281635: [SE] Support CUDA dynamic shared memory.
[SE] Support CUDA dynamic shared memory
Sep 15 2016, 11:19 AM
jhen closed D24596: [SE] Support CUDA dynamic shared memory by committing rL281635: [SE] Support CUDA dynamic shared memory.
Sep 15 2016, 11:19 AM
jhen committed rL281626: [SE] Let users specify CUDA path.
[SE] Let users specify CUDA path
Sep 15 2016, 9:57 AM
jhen closed D24580: [SE] Let users specify CUDA path by committing rL281626: [SE] Let users specify CUDA path.
Sep 15 2016, 9:57 AM
jhen added inline comments to D24596: [SE] Support CUDA dynamic shared memory.
Sep 15 2016, 9:53 AM
jhen updated the diff for D24596: [SE] Support CUDA dynamic shared memory.
  • Comment on dyn-shared-memory arg efficiency
Sep 15 2016, 9:53 AM
jhen added a comment to D24580: [SE] Let users specify CUDA path.

I've just looked at the CMake source code for this and that's almost exactly what they do :-)

Sep 15 2016, 9:29 AM
jhen updated the diff for D24580: [SE] Let users specify CUDA path.
  • Convert framework library names
Sep 15 2016, 9:27 AM

Sep 14 2016

jhen retitled D24596: [SE] Support CUDA dynamic shared memory from to [SE] Support CUDA dynamic shared memory.
Sep 14 2016, 5:28 PM
jhen added a comment to D24580: [SE] Let users specify CUDA path.

Alas, this still doesn't work for OS X. It seems that CUDA_DRIVER_LIBRARY is set to the full path to the framework (e.g. /Library/Frameworks/cuda.framework) whereas the flag that needs to be passed is -framework cuda. CMake automagically sorts this out when passing the framework path to target_link_libraries, but I'm not sure there's a simple way of getting it to spit out the correct flag for streamexecutor-config in a platform independent manner.

Sep 14 2016, 5:26 PM
jhen added a comment to D24580: [SE] Let users specify CUDA path.

Does this also need the CUDA library to be added to streamexecutor-config output for --libs?

At the moment (with this patch), if I try and link against SE using streamexecutor-config, I get undefined references to all of the CUDA driver functions. If I manually add -framework cuda (OS X), it all works. The CUDA SAXPY example works for me, but I can see from the verbose ninja output that the example is building with -framework cuda already.

Sep 14 2016, 3:32 PM
jhen updated the diff for D24580: [SE] Let users specify CUDA path.
  • streamexecutor-config report CUDA lib
Sep 14 2016, 3:32 PM
jhen added a comment to D24580: [SE] Let users specify CUDA path.

Seems simple enough when someone else writes it. :)

Sep 14 2016, 2:09 PM
jhen updated the diff for D24580: [SE] Let users specify CUDA path.
  • Use CMake's standard FindCUDA
Sep 14 2016, 2:07 PM
jhen retitled D24580: [SE] Let users specify CUDA path from to [SE] Let users specify CUDA path.
Sep 14 2016, 1:28 PM
jhen committed rL281524: [SE] Add CUDA platform.
[SE] Add CUDA platform
Sep 14 2016, 1:07 PM
jhen closed D24538: [SE] Add CUDA platform by committing rL281524: [SE] Add CUDA platform.
Sep 14 2016, 1:07 PM
jhen added inline comments to D24538: [SE] Add CUDA platform.
Sep 14 2016, 10:35 AM
jhen updated the diff for D24538: [SE] Add CUDA platform.
  • Cache device name
Sep 14 2016, 10:34 AM
jhen added inline comments to D24538: [SE] Add CUDA platform.
Sep 14 2016, 10:13 AM
jhen updated the diff for D24538: [SE] Add CUDA platform.
  • Respond to review comments
Sep 14 2016, 10:13 AM

Sep 13 2016

jhen retitled D24538: [SE] Add CUDA platform from to [SE] Add CUDA platform.
Sep 13 2016, 5:41 PM
jhen committed rL281424: [SE] Pack global dev handle addresses.
[SE] Pack global dev handle addresses
Sep 13 2016, 5:07 PM