Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SWIFT
SWIFTsim
Commits
871123b8
Commit
871123b8
authored
Nov 27, 2018
by
Loic Hausammann
Browse files
Logger: make filename more specific
parent
e7ede3af
Changes
12
Hide whitespace changes
Inline
Side-by-side
logger/Makefile.am
View file @
871123b8
...
...
@@ -34,36 +34,36 @@ EXTRA_LIBS = $(PROFILER_LIBS) $(TCMALLOC_LIBS) $(JEMALLOC_LIBS) $(TBBMALLOC_LIBS
# MPI_LIBS = $(MPI_THREAD_LIBS)
# MPI_FLAGS = -DWITH_MPI
# Build the lib
swiftsim
library
lib_LTLIBRARIES
=
lib
swift
logger.la
# Build the lib
logger
library
lib_LTLIBRARIES
=
liblogger.la
# Build a MPI-enabled version too?
# if HAVEMPI
# lib_LTLIBRARIES += lib
swift
logger_mpi.la
# lib_LTLIBRARIES += liblogger_mpi.la
# endif
# List required headers
include_HEADERS
=
header.h
io.h
particle.h
timelin
e.h logger_tools.h
include_HEADERS
=
logger_
header.h
logger_io.h logger_
particle.h
logger_tim
e.h logger_tools.h
logger_reader.h
# Common source files
AM_SOURCES
=
header.c
io.c
particle.c
timelin
e.c logger_tools.c
AM_SOURCES
=
logger_
header.c
logger_io.c logger_
particle.c
logger_tim
e.c logger_tools.c
logger_reader.c
if
HAVEPYTHON
AM_SOURCES
+=
logger_
load
er.c
AM_SOURCES
+=
logger_
python_wrapp
er.c
endif
# Include files for distribution, not installation.
nobase_noinst_HEADERS
=
# Sources and flags for regular library
lib
swift
logger_la_SOURCES
=
$(AM_SOURCES)
lib
swift
logger_la_CFLAGS
=
$(AM_CFLAGS)
lib
swift
logger_la_LDFLAGS
=
$(AM_LDFLAGS)
$(EXTRA_LIBS)
$(BIN_LDFLAGS)
liblogger_la_SOURCES
=
$(AM_SOURCES)
liblogger_la_CFLAGS
=
$(AM_CFLAGS)
liblogger_la_LDFLAGS
=
$(AM_LDFLAGS)
$(EXTRA_LIBS)
$(BIN_LDFLAGS)
# Sources and flags for MPI library
# lib
swift
logger_mpi_la_SOURCES = $(AM_SOURCES)
# lib
swift
logger_mpi_la_CFLAGS = $(AM_CFLAGS) $(MPI_FLAGS)
# lib
swift
logger_mpi_la_LDFLAGS = $(AM_LDFLAGS) $(MPI_LIBS) $(EXTRA_LIBS)
# lib
swift
logger_mpi_la_SHORTNAME = mpi
# lib
swift
logger_mpi_la_LIBADD =
# liblogger_mpi_la_SOURCES = $(AM_SOURCES)
# liblogger_mpi_la_CFLAGS = $(AM_CFLAGS) $(MPI_FLAGS)
# liblogger_mpi_la_LDFLAGS = $(AM_LDFLAGS) $(MPI_LIBS) $(EXTRA_LIBS)
# liblogger_mpi_la_SHORTNAME = mpi
# liblogger_mpi_la_LIBADD =
# Versioning. If any sources change then update the version_string.h file with
# the current git revision and package version.
...
...
logger/header.c
→
logger/
logger_
header.c
View file @
871123b8
#include
"header.h"
#include
"
logger_
header.h"
#include
"io.h"
#include
"
logger_
io.h"
#include
"logger_tools.h"
#include
<stdio.h>
...
...
logger/header.h
→
logger/
logger_
header.h
View file @
871123b8
File moved
logger/io.c
→
logger/
logger_
io.c
View file @
871123b8
...
...
@@ -3,8 +3,8 @@
#include
<sys/stat.h>
#include
<unistd.h>
#include
"header.h"
#include
"io.h"
#include
"
logger_
header.h"
#include
"
logger_
io.h"
#include
"logger_tools.h"
/**
...
...
logger/io.h
→
logger/
logger_
io.h
View file @
871123b8
#ifndef __SWIFT_LOGGER_IO_H__
#define __SWIFT_LOGGER_IO_H__
#include
"header.h"
#include
"
logger_
header.h"
#include
"logger_tools.h"
#include
<stdio.h>
...
...
logger/particle.c
→
logger/
logger_
particle.c
View file @
871123b8
#include
"particle.h"
#include
"header.h"
#include
"io.h"
#include
"
logger_
particle.h"
#include
"
logger_
header.h"
#include
"
logger_
io.h"
#include
"logger_tools.h"
#include
"
timelin
e.h"
#include
"
logger_tim
e.h"
#include
<stdint.h>
#include
<stdio.h>
...
...
logger/particle.h
→
logger/
logger_
particle.h
View file @
871123b8
#ifndef __PARTICLE_H__
#define __PARTICLE_H__
#include
"header.h"
#include
"
logger_
header.h"
#include
"logger_tools.h"
#include
"
timelin
e.h"
#include
"
logger_tim
e.h"
#include
<stdio.h>
#include
<stdlib.h>
...
...
logger/logger_
load
er.c
→
logger/logger_
python_wrapp
er.c
View file @
871123b8
#include
"header.h"
#include
"io.h"
#include
"particle.h"
#include
"timeline.h"
#include
"logger_header.h"
#include
"logger_io.h"
#include
"logger_particle.h"
#include
"logger_time.h"
#include
"logger_reader.h"
#include
<Python.h>
#include
<errno.h>
...
...
@@ -9,82 +10,6 @@
#include
<stdio.h>
#include
<stdlib.h>
/**
* @brief Reverse offset in dump file
*
* @param filename string filename of the dump file
*/
int
reverseOffset
(
char
*
filename
)
{
struct
header
h
;
/* open file */
int
fd
;
void
*
map
;
if
(
io_open_file
(
filename
,
&
fd
,
&
map
)
!=
0
)
return
1
;
/* read header */
if
(
header_read
(
&
h
,
map
)
!=
0
)
return
1
;
header_print
(
&
h
);
/* check offset direction */
if
(
h
.
forward_offset
)
{
error_no_return
(
EIO
,
"Offset are already reversed"
);
return
1
;
}
/* compute file size */
size_t
sz
;
int
status
=
io_get_file_size
(
fd
,
&
sz
);
if
(
status
!=
0
)
return
1
;
size_t
offset
;
int
error_code
;
#ifdef SWIFT_DEBUG_CHECKS
/* check offset */
printf
(
"Check offsets...
\n
"
);
offset
=
h
.
offset_first
;
while
(
offset
<
sz
)
{
error_code
=
tools_check_offset
(
&
h
,
map
,
&
offset
);
if
(
error_code
!=
0
)
return
1
;
}
printf
(
"Check done
\n
"
);
#endif
/* reverse header offset */
header_change_offset_direction
(
&
h
,
map
);
offset
=
h
.
offset_first
;
/* reverse chunks */
printf
(
"Reversing offsets...
\n
"
);
while
(
offset
<
sz
)
{
error_code
=
tools_reverse_offset
(
&
h
,
map
,
&
offset
);
if
(
error_code
!=
0
)
return
1
;
}
printf
(
"Reversing done
\n
"
);
#ifdef SWIFT_DEBUG_CHECKS
/* check offset */
printf
(
"Check offsets...
\n
"
);
offset
=
h
.
offset_first
;
while
(
offset
<
sz
)
{
error_code
=
tools_check_offset
(
&
h
,
map
,
&
offset
);
if
(
error_code
!=
0
)
return
1
;
}
printf
(
"Check done
\n
"
);
#endif
/* free internal variables */
header_free
(
&
h
);
if
(
io_close_file
(
&
fd
,
&
map
)
!=
0
)
return
1
;
return
0
;
}
/**
* @brief load data from the offset without any interpolation
*
...
...
@@ -143,7 +68,7 @@ static PyObject *loadFromIndex(__attribute__((unused)) PyObject *self,
if
(
!
h
.
forward_offset
)
{
if
(
io_close_file
(
&
fd
,
&
map
)
!=
0
)
return
NULL
;
if
(
reverse
O
ffset
(
filename
)
!=
0
)
return
NULL
;
if
(
reverse
_o
ffset
(
filename
)
!=
0
)
return
NULL
;
if
(
io_open_file
(
filename
,
&
fd
,
&
map
)
!=
0
)
return
NULL
;
...
...
@@ -328,14 +253,14 @@ static PyObject *pyReverseOffset(__attribute__((unused)) PyObject *self,
if
(
!
PyArg_ParseTuple
(
args
,
"s"
,
&
filename
))
return
NULL
;
if
(
reverse
O
ffset
(
filename
)
!=
0
)
return
NULL
;
if
(
reverse
_o
ffset
(
filename
)
!=
0
)
return
NULL
;
return
Py_BuildValue
(
""
);
}
/* definition of the method table */
static
PyMethodDef
lib
swift
loggerMethods
[]
=
{
static
PyMethodDef
libloggerMethods
[]
=
{
{
"loadFromIndex"
,
loadFromIndex
,
METH_VARARGS
,
"Load snapshot directly from the offset in an index file."
},
{
"reverseOffset"
,
pyReverseOffset
,
METH_VARARGS
,
...
...
@@ -344,21 +269,21 @@ static PyMethodDef libswiftloggerMethods[] = {
{
NULL
,
NULL
,
0
,
NULL
}
/* Sentinel */
};
static
struct
PyModuleDef
lib
swift
loggermodule
=
{
static
struct
PyModuleDef
libloggermodule
=
{
PyModuleDef_HEAD_INIT
,
"lib
swift
logger"
,
"liblogger"
,
"Module reading a SWIFTsim logger snapshot"
,
-
1
,
lib
swift
loggerMethods
,
libloggerMethods
,
NULL
,
/* m_slots */
NULL
,
/* m_traverse */
NULL
,
/* m_clear */
NULL
/* m_free */
};
PyMODINIT_FUNC
PyInit_lib
swift
logger
(
void
)
{
PyMODINIT_FUNC
PyInit_liblogger
(
void
)
{
PyObject
*
m
;
m
=
PyModule_Create
(
&
lib
swift
loggermodule
);
m
=
PyModule_Create
(
&
libloggermodule
);
if
(
m
==
NULL
)
return
NULL
;
import_array
();
...
...
logger/
timelin
e.c
→
logger/
logger_tim
e.c
View file @
871123b8
#include
"
timelin
e.h"
#include
"io.h"
#include
"
logger_tim
e.h"
#include
"
logger_
io.h"
/**
* @brief convert an integer time to a real time
...
...
logger/
timelin
e.h
→
logger/
logger_tim
e.h
View file @
871123b8
#ifndef __TIMELINE_H__
#define __TIMELINE_H__
#include
"header.h"
#include
"
logger_
header.h"
#include
"logger_tools.h"
typedef
char
timebin_t
;
...
...
logger/logger_tools.c
View file @
871123b8
#include
"logger_tools.h"
#include
"header.h"
#include
"io.h"
#include
"
logger_
header.h"
#include
"
logger_
io.h"
#include
"particle.h"
#include
"
logger_
particle.h"
#include
<stdio.h>
...
...
logger/python/reader_example.py
View file @
871123b8
...
...
@@ -9,7 +9,7 @@ import numpy as np
import
matplotlib.pyplot
as
plt
sys
.
path
.
append
(
"../.libs/"
)
import
lib
swift
logger
as
logger
import
liblogger
as
logger
# Get filenames
if
len
(
sys
.
argv
)
!=
3
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment