hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 252 seconds]
K-ballo1 is now known as K-ballo
<hkaiser_>
zao: can you give me your cmake command line you used?
tufei_ has quit [Remote host closed the connection]
tufei_ has joined #ste||ar
Yorlik_ has joined #ste||ar
Yorlik has quit [Ping timeout: 246 seconds]
Neeraj has joined #ste||ar
<Neeraj>
hi, I got an error when I open the hpx.sln file
<Neeraj>
there are 1295 project but in my system 1294 prepared showing an error
<Neeraj>
any mentor is there?
<hkaiser_>
Neeraj: reconfigure using -DHPX_WITH_TESTS=Off, then it will be much less
hkaiser_ has quit [Quit: Bye!]
<Neeraj>
Means less than 1294 , is it ok for HPx building process
<Neeraj>
now showing only 256
<Neeraj>
but in the source showing a picture in that shows 483
<Neeraj>
so tell me which variable tab to be on
Neeraj has quit [Quit: Client closed]
Neeraj has joined #ste||ar
Neeraj has quit [Quit: Client closed]
Neeraj has joined #ste||ar
<Neeraj>
hii anyone is there
<Neeraj>
zao are you there
HHN93 has joined #ste||ar
<HHN93>
[ 21%] Built target pkgconfig_install_dir_test.make_build_dir
<HHN93>
collect2: error: ld returned 1 exit status
<zao>
Neeraj: At 06:18, I was blissfully asleep :D
<Neeraj>
now help me
<zao>
On HHN93's error, some tests test aspects of the build like building against the install directory or doing "external builds" using tools like pkg-config and CMake. They can fail if you don't satisfy the preconditions for them.
<Neeraj>
C:\Users\Dell\Desktop\hpx\build\libs\full\async_distributed\tests\unit\actions\tests_unit_modules_async_distributed_fail_compile_non_const_pointer_argument.vcxproj : error : The expression "[MSBuild]::NormalizePath(C:\Users\Dell\Desktop\hpx\build\libs\full\async_distributed\tests\unit\actions,
<Neeraj>
tests_unit_modules_async_distributed_fail_compile_non_const_pointer_argument.dir\Debug\, tests_unit_modules_async_distributed_fail_compile_non_const_pointer_argument.vcxproj.CopyComplete)" cannot be evaluated. Path:
<Neeraj>
C:\Users\Dell\Desktop\hpx\build\libs\full\async_distributed\tests\unit\actions\tests_unit_modules_async_distributed_fail_compile_non_const_pointer_argument.dir\Debug\tests_unit_modules_async_distributed_fail_compile_non_const_pointer_argument.vcxproj.CopyComplete exceeds the OS max path limit. The fully qualified file name must be less than 260
<zao>
On your problem, it would probably help if you mentioned which project had an error or couldn't be loaded, I haven't seen something like that before.
<zao>
Ah, there we go.
<zao>
. I do have some build failures in around 18 tests but those are build failures and not IDE problems like that.
<zao>
Neeraj: Now, if you look closely at the output there, it hints towards a likely cause for your problem.
<zao>
"... exceeds the OS max path limit. The fully qualified file name must be less than 260 characters."
<zao>
Read the actual code there in the error and with that error message, what does it seem to be trying to do and why does it fail?
<zao>
And given that, what actions do you think you could take to resolve it?
<zao>
(I'm gonna go find breakfast in the meantime :D )
<Neeraj>
ok I'll try
<Neeraj>
but I also want to know about an project and how I proceed further , to get involve in hpx and in that project
<zao>
If you squint at the error message, it seems like it's trying to `NormalizePath(part1, part2, part3)` which if you look the function up it's combining the parts into one full path and does some other work to make sure it has the right separators and such.
<zao>
When doing so, it tells you that it couldn't because the full path would be longer than an operating system limit of 260 characters.
<zao>
There's two ways you could try to resolve that problem. One would be to try to increase the operating system limit somehow, if at all possible. That sounds open-ended and scary to me.
<zao>
The other one is to think about what you can do to make the paths that go in shorter so that the final result is shorter.
<Neeraj>
second one is easy
<zao>
You really only control the first part, "C:\Users\Dell\Desktop\hpx\build\libs\full\async_distributed\tests\unit\actions", the rest are inside the HPX project and predetermined.
<zao>
I and many others tend to have their build directories at a shallow level in the file system. I prefer places like "C:\stellar\hpx". This incidentally makes paths shorter and reduces the risk of things like this happening.
<Neeraj>
yes I placed with C:\gsoc\hpx like this
<zao>
It might suffice to just move the build directory out of the tree but I would play it safe and move the source tree as well.
<Neeraj>
so now further I build Install right
<zao>
As a tip, I recommend setting CMAKE_INSTALL_PREFIX with CMake to tell it where you want HPX installed, the default is into Program Files or something which isn't a great place.
<zao>
But yeah, building, maybe installing, see how to run the test suite, get a baseline environment going for actually working on and exploring HPX.
<zao>
Those are kind of universal aspects of it that you'd need for any SoC project that's code-adjacent.
<zao>
It might also get you a bit more insight into what the various projects actually entail and let you understand which ones may suit you to look deeper into.
<zao>
I've never done GSoC so I don't really know how that process goes :D
<hkaiser>
Neeraj: also, in order to work with HPX, in the first step you need only the core modules, perhaps the examples, so disabling tests is just fine and reduces the amount of projects generated to something around 200
<hkaiser>
hey zao
<Neeraj>
its around 112
<hkaiser>
fine
<Neeraj>
after disable document and tests
<hkaiser>
perfect, that's all you need
<Neeraj>
ok got it
<Neeraj>
now on github issue section , no issue is related with my project or with my skills like c++ or algo
<hkaiser>
Neeraj: what project would you like to work on?
<Neeraj>
Implement a Faster Associative Container for GIDs
<hkaiser>
ahh, that's tricky as it requires that you first understand AGAS itself (i.e. the implementation of the global address space) - unfortunately there is not much documentation available, just one or two papers
<Neeraj>
for this project I am searching for minimal run time "searching algo
<Neeraj>
this project says to find global object
<hkaiser>
well, we currently use a std::map<id, locality>, where id is the global identifier and locality a struct re[presenting the place where it is located
<Neeraj>
so hkaiser please tell me from where I start and learn about things
<zao>
I loaded a full tests+examples HPX VS solution into the "10x" editor. Surprisingly performant and only used around three gigabytes of RAM :D
hkaiser has quit [Quit: Bye!]
hkaiser has joined #ste||ar
<Yorlik_>
hkaiser: YT?
Yorlik_ is now known as Yorlik
<Yorlik>
We had some issues integrating shared_ptr into our messaging - how far does HPX serialization go with raw pointers? It's about sending strings locally as pointer only, but ofc, over the net we need to send the entire string.
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 252 seconds]
K-ballo1 is now known as K-ballo
<hkaiser>
Yorlik: what's the problem with serializing shared_ptr's?
<hkaiser>
serializing raw point - what would you expect to happen?
<hkaiser>
pointers*
HHN93 has joined #ste||ar
<HHN93>
I am trying to build tests and am facing this error
<HHN93>
hpx_wrap.cpp:(.text+0x22): undefined reference to `hpx::finalize(double, double, hpx::error_code&)'
<Yorlik>
It's kinda funny: I asked chatGPT why what I was doing was working and got an aswer that seems to make sense - I still do not fully understand it.
HHN93 has quit [Quit: Client closed]
HHN93 has joined #ste||ar
<hkaiser>
lol
<hkaiser>
that's the issue with chatGPT, you never know if it's correct
hkaiser has quit [Quit: Bye!]
<zao>
HHN93: Heh, good old C++ compilation. Not much you can do there apart from splitting your build up between targets and specify different -j to your build system, there's not really any that are resource-aware like that.
<HHN93>
had a similar issue while building LLVM, was suggested to limit the number of parallel linker jobs as they seem to be responsible for the large chunk of the RAM usage
<HHN93>
just wanted to know if HPX had any option like that
<zao>
That's interesting, implementing something like that would be neat.