henjo / libpsf Goto Github PK
View Code? Open in Web Editor NEWPSF simulation data c++ library
License: GNU Lesser General Public License v3.0
PSF simulation data c++ library
License: GNU Lesser General Public License v3.0
The output node (Vo) in post AC simulation data can be displayed normally in VIVA, but it is 0 when read out with libpsf.
VIVA:
libpsf:
data:
result.zip
I'm trying to build the test program, up to now it compiles but unable to link it together:
drwxrwxr-x 2 ln icusers 4096 29. Nov 2014 data
-rw-rw-r-- 1 ln icusers 22480 29. Jun 12:10 Makefile
-rw-rw-r-- 1 ln icusers 234 29. Nov 2014 Makefile.am
-rw-rw-r-- 1 ln icusers 22583 29. Jun 12:10 Makefile.in
-rw-rw-r-- 1 ln icusers 5238 29. Nov 2014 test_psfdataset.cc
-rw-rw-r-- 1 ln icusers 1473504 29. Jun 12:17 test_psfdataset-test_psfdataset.o
local ln@entwnbln:~/Programme/PSF_Interface/libpsf-master/test> make
/bin/sh ../libtool --tag=CXX --mode=link g++ -I../include -I/usr/include -g -O2 -L../src -lpsf -lcppunit -ldl -o test_psfdataset test_psfdataset-test_psfdataset.o
libtool: link: g++ -I../include -I/usr/include -g -O2 -o .libs/test_psfdataset test_psfdataset-test_psfdataset.o -L../src /icpers/ln/home/Programme/PSF_Interface/libpsf-master/src/.libs/libpsf.so /usr/lib64/libcppunit.so -ldl -Wl,-rpath -Wl,/usr/lib64
/icpers/ln/home/Programme/PSF_Interface/libpsf-master/src/.libs/libpsf.so: undefined reference to PropertyBlock::deserialize(char const*)' /icpers/ln/home/Programme/PSF_Interface/libpsf-master/src/.libs/libpsf.so: undefined reference to
PropertyBlock::find(std::string) const'
/icpers/ln/home/Programme/PSF_Interface/libpsf-master/src/.libs/libpsf.so: undefined reference to vtable for PropertyBlock' /icpers/ln/home/Programme/PSF_Interface/libpsf-master/src/.libs/libpsf.so: undefined reference to
PropertyBlock::hasprop(std::string) const'
/icpers/ln/home/Programme/PSF_Interface/libpsf-master/src/.libs/libpsf.so: undefined reference to `PropertyBlock::append_prop(Property const&)'
collect2: error: ld returned 1 exit status
make: *** [test_psfdataset] Fehler 1
With files bigger than determined size, the lib returns "Invalid chunk 2147483647" when reading the psf. This number is exactly equal to 2^31−1, so maybe this has to do with using 32bit variables in referencing the file chunk pointer.
Using a unicode string throws the following error, converting the path to a string works.
Not sure if unicode file names are required
ArgumentError: Python argument types in
PSFDataSet.__init__(PSFDataSet, unicode)
did not match C++ signature:
__init__(_object* self, std::string filename)
Henrik, I'm trying to get in touch.
Some time back, I did a little bit of work porting the code to a contemporary version of Boost and packaged it for distribution on PyPi (https://gitlab.com/bjmuld/libpsf-python). I've had a few pings over the years from several folks in industry who make use of the tool, and recently was contacted by someone from Teledyne about the future prospects of the tool. I haven't really been maintaining it actively and see you haven't either, but thought step one might be to setup a mailing list for devs... are you interested?
tried to parse some dc analysis files but it returns whether null or some odd ascii character when for "M1:region"
here is a file example I tried to parse:
02.txt
I get errors when I try to compile libpsf:
...
libtool: link: g++ -I../include -g -O2 -o .libs/psftest psftest-psftest.o ./.libs/libpsf.so -Wl,-rpath -Wl,/usr/local/lib
./.libs/libpsf.so: undefined reference to `PropertyBlock::deserialize(char const*)'
./.libs/libpsf.so: undefined reference to `PropertyBlock::find(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const'
./.libs/libpsf.so: undefined reference to `vtable for PropertyBlock'
./.libs/libpsf.so: undefined reference to `PropertyBlock::hasprop(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const'
./.libs/libpsf.so: undefined reference to `PropertyBlock::append_prop(Property const&)'
collect2: ld returned 1 exit status
make[1]: *** [psftest] Fehler 1
make[1]: Leaving directory `/tmp/libpsf/src'
make: *** [all-recursive] Fehler 1
With git bisect
I figured out, that the error occurs only with the newest revision.
src/psftest.cc: std::string pnoisefile("/nfs/home/henrik/spectre/1/pnoise.raw/pnoise_pout3g.pnoise");
src/psftestraw.cc: PSFFile psf("/nfs/home/henrik/spectre/1/pnoise.raw/pnoise_pout3g.pnoise");
If libpsf is used in a program that re-creates psf files there should be a way to close the file descriptor pointing to the results file.
On NFS file systems it is difficult to delete file that are opened by a process.
Running autoconf on the latest released Ubuntu gives errors
indicating possibly undefined macros and the resulting and
running configure give error message
"configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../..""
Hi Henrik,
I made my own PSF reader - inspired by your own LibPSF. It is written in a MIT-seeded programming language called "Julia" (https://julialang.org/):
My version:
https://github.com/ma-laforge/LibPSF.jl
Note that I also developed a SPICE data reader inspired by Michael Perrott's CppSim-Data module:
https://github.com/ma-laforge/SpiceData.jl
Julia is a very nice language - inheriting alot of ease of use/mathematical expressivity from both Lisp & Matlab. It is also very fast... you can write your own Julia-native loops (for example) at a speed nearing C/C++.
I even have a relatively familiar "parametric analysis suite" that you might like:
https://github.com/ma-laforge/CData.jl
To stay on the safe side, my own LibPSF.jl library uses the LGPL-3 license at the moment so that I match your own LibPSF license. I would rather give it a MIT license to match the rest of Julia's ecosystem, though.
NOTE: I know the choice of license is a very personal thing - so I understand if you want to keep things as they are.
A error appears when running ./autogen
The solution is found in http://stackoverflow.com/questions/6113006/cant-find-boost-c-using-configure-ac
It is to add ACLOCAL_AMFLAGS = -I m4 in Makefile.am file
designParamVals.info seems to be in text format.
Trying to load it into a PSFDataSet and running get_header_properties segfaults.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.