Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 26 18:38

    phlptp on translators

    start work on prototype for tra… add Translator federate add translator files and 12 more (compare)

  • Jan 26 00:24

    phlptp on v3.1.2

    (compare)

  • Jan 25 22:54
    trevorhardy commented #2259
  • Jan 25 22:43
    phlptp closed #2274
  • Jan 25 22:11
    phlptp closed #2108
  • Jan 25 22:11
    phlptp commented #2108
  • Jan 25 22:04
    phlptp commented #2259
  • Jan 25 21:52
    trevorhardy closed #2263
  • Jan 25 21:52
    trevorhardy commented #2263
  • Jan 25 20:09
    kdheepak commented #2274
  • Jan 25 19:52
    phlptp commented #2263
  • Jan 25 15:13
    phlptp review_requested #2274
  • Jan 25 15:13
    phlptp review_requested #2274
  • Jan 25 15:13
    phlptp opened #2274
  • Jan 25 13:52

    phlptp on update-develop-e3b0c44298fc

    (compare)

  • Jan 25 13:52

    phlptp on develop

    Automated update to generated i… (compare)

  • Jan 25 13:52
    phlptp closed #2273
  • Jan 25 03:39

    phlptp on release_pr_3_1_2

    (compare)

  • Jan 25 03:39

    phlptp on develop

    Update version and release docs… (compare)

  • Jan 25 03:39
    phlptp closed #2271
Philip Top
@phlptp
app.allow_extras();
Philip Top
@phlptp
comboFed --startbroker "-f1" --name=fed1 --target=fed1
then works as a standalone
Trevor Hardy
@trevorhardy
The following worked from the build directory:
./bin/comboFed --startbroker "-f2" --name=fed1 --target=fed2 > fed1.log
./bin/comboFed --name=fed2 --target=fed1 > fed2.log
Thanks!
Since I’m using this for documentation purposes, I’ll include the updated source code and launcher script in my hotpatch.
Philip Top
@phlptp
Ok, the code change will also end up in processComms since that is what I am working on right now
but that should be an easy merge
Trevor Hardy
@trevorhardy
OK. Double-patch!
manoj1195
@manoj1195
Hi. I get this error when I try to build Helics 2.x from source using cmake. Any suggestions on how to resolve this?
-- JsonCpp Version: 1.9.2
CMake Error at config/cmake/addJsoncpp.cmake:42 (set_target_properties):
  set_target_properties Can not find target to add properties to: jsoncpp_lib
Call Stack (most recent call first):
  CMakeLists.txt:675 (include)


CMake Error at CMakeLists.txt:676 (add_library):
  add_library cannot create ALIAS target "HELICS::jsoncpp_lib" because target
  "jsoncpp_lib" does not already exist.
Philip Top
@phlptp
try git submodule update
manoj1195
@manoj1195
It gives me the same error. I'm trying to install helics 2.7.1 using this command cmake ../ -DCMAKE_INSTALL_PREFIX=/home/cebom/Desktop/test -DHELICS_BUILD_CXX_SHARED_LIB=ON -DJSONCPP_OBJLIB=ON.
Philip Top
@phlptp
-DJSONCPP_OBJLIB=ON get rid of this
manoj1195
@manoj1195
still the same thing. -DJSONCPP_OBJLIB=ON was given in helics-ns3 installation instructions.
Philip Top
@phlptp
can you post the entire build log?
manoj1195
@manoj1195
I think its working now. I had to delete the CMakeCache.txt file. when I reran it it worked. Not having the -DJSONCPP_OBJLIB=ON will it cause any issue for the ns3 module.
Philip Top
@phlptp
not sure why that was on maybe @nightlark knows the origin of that instruction
Ryan Mast
@nightlark
It was there for some older version of HELICS, probably some issue with finding and linking to the right set of static libraries in ns-3 when the HELICS static library was used
I think it may have been to ensure there was no separate jsoncpp static library file (just a single helics static library file to link with) since the waf build system ns3 uses has no way of knowing whether or not the helics static library it got pointed to requires linking with a separate jsoncpp static library or not.
Dheepak Krishnamurthy
@kdheepak
@nightlark is your wasm helics compilation script available somewhere that I can play with?
Ryan Mast
@nightlark
I think I just installed emscripten, and made sure cmake picked that up as the compiler to use
Actually, I remember there were some small changes to the CMake build system (change a library type to static?) that was also needed; though one of those changes might have already made its way into the main HELICS repo.
Dheepak Krishnamurthy
@kdheepak
@phlptp we might need a way for users to easily set up custom serialization (for e.g. in Python using numpy). I can imagine sending sparse matrices being a immediate next requirement for some projects.
Philip Top
@phlptp
I would imagine you could do that entirely in python without too much trouble right? Just use the binary value in HELICS CAPI
Philip Top
@phlptp
a generalized matrix support in HELICS would likely be more complicated than it is worth
Dheepak Krishnamurthy
@kdheepak

Just use the binary value in HELICS CAPI

I see. That could work. But I think at the very least we'd need an example of how to encode a NumPy matrix to a binary value and decode it back.

Philip Top
@phlptp
Python has routines that can do seriealization of python types right? pickle if I remember correctly
Dheepak Krishnamurthy
@kdheepak
Yeah but that won't work with numpy types
Philip Top
@phlptp
Is that a python limitation?
And then use an in-memory file instead of one on disk.
Ryan Mast
@nightlark
configure command for building to wasm: emcmake ~/cmake-3.21.3-linux-x86_64/bin/cmake .. -DHELICS_BUILD_TESTS=OFF -DHELICS_ENABLE_ZMQ_CORE=OFF -DBoost_INCLUDE_DIR=$HOME/boost_1_74_0 -DHELICS_ENABLE_IPC_CORE=OFF -DHELICS_BUILD_APP_EXECUTABLES=ON -DHELICS_BUILD_APP_LIBRARY=ON -DCMAKE_CXX_FLAGS="-fexceptions -pthread -matomics -mbulk-memory" -DCMAKE_C_FLAGS="-fexceptions -pthread -matomics -mbulk-memory" -DCMAKE_EXE_LINKER_FLAGS="-fexceptions -pthread -s PROXY_TO_PTHREAD"
compiling an example: emcc -fexceptions -pthread -s PROXY_TO_PTHREAD -s ALLOW_MEMORY_GROWTH=1 -Ihelics_generated_includes/helics/ -Llib/ -lhelics -lhelics_core -lhelics_common -lhelics_network -lhelics_application_api -lgmlc_utilities -lspdlog -lunits-static -ljsoncpp -lfmt ../wasm-nonlings-example/nonlings_example.c -o nonlings_example.html
Dheepak Krishnamurthy
@kdheepak
Thanks!
Also, about the numpy.save, that would work for PyHELICS <-> PyHELICS but if someone wants to use PyHELICS <-> MATLAB they'll have to implement the binary format decoder.
But it's still a good option. I will share it with those that have asked me about it. I didn't realize numpy had a .save that lets you save in a binary format.
Ryan Mast
@nightlark
For interoperability between languages, I don't think there is any way to avoid having to write a decoder that tells e.g. MATLAB what a custom data structure getting sent over from Python looks like. Something like https://msgpack.org/ could be used for serialization, though I think MATLAB will still to know how to properly interpret the deserialized numpy data structures. https://charlesguan.medium.com/python-matlab-serialization-with-messagepack-6b2c81b09ce2 might be a starting point for deserializing simpler message formats sent between Python and MATLAB.
Philip Top
@phlptp
just got a full conversion from a value to a json message through a translator. progress, now all the other details
Philip Top
@phlptp
@trevorhardy would you need a python interface for translators to do much with them?
Trevor Hardy
@trevorhardy
Yes, please.
Philip Top
@phlptp
HELICS v3.1.2 released
@kdheepak how much work would it be to add in a translator interface. Assume it is generally similar to the way filters are now with a similar amount of methods and interfaces.
I am trying to get a minimal interface running so @trevorhardy can start playing with it and breaking it.
Trevor Hardy
@trevorhardy
I will be very gentle with it UNLESS it talks back to me. I don’t take no sass from no HELICS code.
Philip Top
@phlptp
you want me to make the warning message have a bit more "sass"?
Dheepak Krishnamurthy
@kdheepak
I don't follow what you mean by a translator interface?
Philip Top
@phlptp
We are developing a new interface into HELICS called translators that will act as a bridge between value interfaces and messageInterfaces.
So it adds a number of new methods in the API that are of a similar nature to Filters
Philip Top
@phlptp
just pushed the translators branch if you want to look at it @kdheepak
Philip Top
@phlptp
@kdheepak if you are looking at the translator branch for python, don't do anything with the helicsXXXXtoBytes methods yet. I am changing those so a lot will change in the next few pushes.