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
b3ab1487
Commit
b3ab1487
authored
Sep 08, 2016
by
Matthieu Schaller
Browse files
Add a macro to set the default alignment of all structures.
parent
26ac2b6a
Changes
10
Hide whitespace changes
Inline
Side-by-side
src/Makefile.am
View file @
b3ab1487
...
...
@@ -55,7 +55,7 @@ AM_SOURCES = space.c runner.c queue.c task.c cell.c engine.c \
runner_doiact_fft.c threadpool.c cooling.c
# Include files for distribution, not installation.
nobase_noinst_HEADERS
=
approx_math.h atomic.h cycle.h error.h inline.h kernel_hydro.h kernel_gravity.h
\
nobase_noinst_HEADERS
=
align.h
approx_math.h atomic.h cycle.h error.h inline.h kernel_hydro.h kernel_gravity.h
\
kernel_long_gravity.h vector.h runner_doiact.h runner_doiact_grav.h runner_doiact_fft.h
\
units.h intrinsics.h minmax.h kick.h timestep.h drift.h adiabatic_index.h io_properties.h
\
dimension.h equation_of_state.h
\
...
...
src/align.h
0 → 100644
View file @
b3ab1487
/*******************************************************************************
* This file is part of SWIFT.
* Copyright (c) 2016 Matthieu Schaller (matthieu.schaller@durham.ac.uk).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
******************************************************************************/
#ifndef SWIFT_ALIGN_H
#define SWIFT_ALIGN_H
/**
* @brief Defines alignment of structures
*/
#define SWIFT_STRUCT_ALIGN __attribute__((aligned(32)))
#endif
/* SWIFT_ALIGN_H */
src/cell.h
View file @
b3ab1487
...
...
@@ -30,6 +30,7 @@
#include
<stddef.h>
/* Local includes. */
#include
"align.h"
#include
"lock.h"
#include
"multipole.h"
#include
"part.h"
...
...
@@ -74,7 +75,8 @@ struct pcell {
/* Relative indices of the cell's progeny. */
int
progeny
[
8
];
};
}
SWIFT_STRUCT_ALIGN
;
/* Structure to store the data of a single cell. */
struct
cell
{
...
...
@@ -208,7 +210,7 @@ struct cell {
#endif
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
/* Convert cell location to ID. */
#define cell_getid(cdim, i, j, k) \
...
...
src/gravity/Default/gravity_part.h
View file @
b3ab1487
...
...
@@ -53,6 +53,6 @@ struct gpart {
which this gpart is linked. */
long
long
id_or_neg_offset
;
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
#endif
/* SWIFT_DEFAULT_GRAVITY_PART_H */
src/hydro/Default/hydro_part.h
View file @
b3ab1487
...
...
@@ -33,7 +33,7 @@ struct xpart {
/* Old density. */
float
omega
;
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
/* Data of a single particle. */
struct
part
{
...
...
@@ -120,6 +120,6 @@ struct part {
/* Pointer to corresponding gravity part. */
struct
gpart
*
gpart
;
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
#endif
/* SWIFT_DEFAULT_HYDRO_PART_H */
src/hydro/Gadget2/hydro_part.h
View file @
b3ab1487
...
...
@@ -28,7 +28,7 @@ struct xpart {
/* Velocity at the last full step. */
float
v_full
[
3
];
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
/* Data of a single particle. */
struct
part
{
...
...
@@ -110,6 +110,6 @@ struct part {
/* Pointer to corresponding gravity part. */
struct
gpart
*
gpart
;
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
#endif
/* SWIFT_GADGET2_HYDRO_PART_H */
src/hydro/Gizmo/hydro_part.h
View file @
b3ab1487
...
...
@@ -26,7 +26,7 @@ struct xpart {
/* Velocity at the last full step. */
float
v_full
[
3
];
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
/* Data of a single particle. */
struct
part
{
...
...
@@ -196,4 +196,4 @@ struct part {
/* Associated gravitas. */
struct
gpart
*
gpart
;
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
src/hydro/Minimal/hydro_part.h
View file @
b3ab1487
...
...
@@ -47,7 +47,7 @@ struct xpart {
float
v_full
[
3
];
/*!< Velocity at the last full step. */
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
/**
* @brief Particle fields for the SPH particles
...
...
@@ -120,6 +120,6 @@ struct part {
struct
gpart
*
gpart
;
/*!< Pointer to corresponding gravity part. */
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
#endif
/* SWIFT_MINIMAL_HYDRO_PART_H */
src/part.h
View file @
b3ab1487
...
...
@@ -31,6 +31,7 @@
#endif
/* Local headers. */
#include
"align.h"
#include
"const.h"
/* Some constants. */
...
...
src/task.h
View file @
b3ab1487
...
...
@@ -26,6 +26,7 @@
#include
"../config.h"
/* Includes. */
#include
"align.h"
#include
"cell.h"
#include
"cycle.h"
...
...
@@ -149,7 +150,7 @@ struct task {
/*! Is this task implicit (i.e. does not do anything) ? */
char
implicit
;
}
__attribute__
((
aligned
(
32
)))
;
}
SWIFT_STRUCT_ALIGN
;
/* Function prototypes. */
void
task_unlock
(
struct
task
*
t
);
...
...
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