K-ballo changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
surbhi has quit [Ping timeout: 246 seconds]
hkaiser has quit [Quit: bye]
k-ballo[m] has quit [Quit: Idle for 30+ days]
<gonidelis[m]>
What version of clang-format do we use? 9 or 10?
surbhi has joined #ste||ar
surbhi has left #ste||ar [#ste||ar]
<pedro_barbosa[m]>
Hey guys, I’ve recently started programming with HPX and at the moment I’m having some trouble compiling code to run on the GPU (CUDA). I’m using cmake, which I don’t have a lot of experience with, but the Makefile it generates doesn’t seem to work. Here’s a link to the example I’m using: https://github.com/STEllAR-GROUP/hpx/tree/master/libs/full/compute_cuda/examples
<gonidelis[m]>
How did you install HPX? What is your error log? What's the generated Makefile?
<gonidelis[m]>
freenode_pedro_barbosa[m]: :)
<pedro_barbosa[m]>
I installed it following the instructions under the "Building HPX" subtitle using cmake
<pedro_barbosa[m]>
It doesn't generate an error log, the Makefile has no output at all, want me to upload the Makefile?
<gonidelis[m]>
Creat a git gist if possible with your error log when you run the Makefile
<gonidelis[m]>
freenode_pedro_barbosa[m]: can't really upload files in IRC ;/
<pedro_barbosa[m]>
There is no error log, the Makefile generated doesn't seem to be doing anything after I run it
<pedro_barbosa[m]>
I think that my mistake is probably on the cmake command that I'm running
<ms[m]>
pedro_barbosa: have you already built hpx? that looks like you're trying to configure the cuda examples separately from the hpx build, which is not supported
<ms[m]>
if you've configured hpx normally cuda examples can be built with the target examples.modules.compute_cuda and examples.module.async_cuda
<ms[m]>
(tests.unit.modules.x_cuda for tests)
<ms[m]>
if you haven't built hpx yet, try that same command but instead of pointing cmake to that examples subdirectory point it to the root of the hpx repo (while in a separate build directory)
weilewei has joined #ste||ar
<ms[m]>
gonidelis[m]: btw, did you already get an answer to your question on the transform pr about the return type for the deprecated overloads? I think we (i.e. hkaiser) has had to deal with it some other algorithm as well, but I don't remember which
<ms[m]>
it should be possible to transform the return types appropriately, but I haven't looked at how much they differ
<gonidelis[m]>
i talked with hkaiser before christmas vacation
<gonidelis[m]>
but just last weekend I found out that in other sequence modifying algos
<gonidelis[m]>
you just changes the result type of the deprecated warning
<gonidelis[m]>
changed*
<gonidelis[m]>
depcecated overload *****
<pedro_barbosa[m]>
ms: I built HPX again on a separate build folder and attempted to use it to generate the Makefile for the examples but it still doesn't work
<ms[m]>
pedro_barbosa: did you point it to the examples directory or the root of the hpx repo?
<ms[m]>
pedro_barbosa: and what happens then? what's the output?
<ms[m]>
gonidelis[m]: ok, fair enough, I suppose noone will mind the return type changing...
<gonidelis[m]>
ms[m]: yeah... that are some differences in the way that you can access the result. like: result.in vs hpx::get<0>(result) but as you suggested in 1.6.0 these may stop being supported, right?
<ms[m]>
gonidelis[m]: they'll be deprecated and then removed, yes
<gonidelis[m]>
great
<ms[m]>
not sure if we'll do it in 1.6 already, or wait until they're all in place though
<pedro_barbosa[m]>
ms: After building the HPX again with the CUDA flag the folders related to CUDA seem to have more files, the examples folder on the compute_cuda folder had a makefile and it seems to be working
<ms[m]>
pedro_barbosa: have you used cmake before? in general you wouldn't manually be using any of the makefiles in subfolders, but just the one in the top-level build directory (you can even ignore that it's using make under the hood, and use cmake; cmake will call whatever build system was used when configuring)
<pedro_barbosa[m]>
Not really, this is the first time that I'm using it
<ms[m]>
all right, then it might take some getting used to compared to plain makefiles :)
<ms[m]>
you can now in the build directory do make help and it'll list all the targets that can be built
<ms[m]>
it should include the cuda examples and tests
<ms[m]>
and you can then build those from that directory
<ms[m]>
note that there might be many targets with similar names, most targets have aliases
<pedro_barbosa[m]>
Yeah there are several cuda files listed
<pedro_barbosa[m]>
Now from the build folder I can build all the examples?
<gonidelis[m]>
So there may be errors from my calng-format using then, I guess...
<gonidelis[m]>
clang-format 10 using *
<gonidelis[m]>
ms[m]: sorry just one last: do we have any config files i should specify like the clang-format? e.g. when i use clang-format I am giving the -i -style=file parameters
<ms[m]>
yep, that'll be the reason
<ms[m]>
which system are you on? at least ubuntu (and debian I suppose; most likely many others) provide a few versions of clang-format so that you can stick with a specific version for a bit longer
<ms[m]>
you don't need to explicitly specify the style file, it'll be picked up from the repo (based on your pwd I think, not based on the files you want to format)
<ms[m]>
even better is git-clang-format (comes with clang-format)
<ms[m]>
if you stage your changes and run that it'll format the files or hunks that you've changed
<gonidelis[m]>
i am working on rostam
<gonidelis[m]>
which is linux i thinkg
<gonidelis[m]>
think*
<gonidelis[m]>
don't know which distro
<ms[m]>
module load clang/9 or if you want to use another compiler just call clang-format directly from its path: /opt/apps/clang/9.0.1/bin/clang-format
<gonidelis[m]>
ms[m]: ahh... why is git-clang-format better?
<ms[m]>
it's just a bit more convenient, but the formatting results are the same
<gonidelis[m]>
the only way to have both clang/10 and clang-format-9 at the same time is by using clang-format from the path directly?
<ms[m]>
yeah, I think so unfortunately (at least without redoing the module files)
<gonidelis[m]>
shit
weilewei has quit [Remote host closed the connection]