CPM: A software tool for Communication Performance Modelling
LinInterp-based collective operations
Functions | |
int | LinInterp_initialize (MPI_Comm comm, LinInterp_model *model) |
int | LinInterp_finalize (MPI_Comm comm) |
int | LinInterp_Scatterv_sorted_flat_asc (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_sorted_flat_asc (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_sorted_flat_dsc (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_sorted_flat_dsc (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Bcast_dfs_binomial_min (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | LinInterp_Reduce_dfs_binomial_min (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | LinInterp_Bcast_dfs_binomial_max (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | LinInterp_Reduce_bfs_binomial_min (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | LinInterp_Reduce_bfs_binomial_max (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | LinInterp_Bcast_bfs_binomial_min (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | LinInterp_Bcast_bfs_binomial_max (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | LinInterp_Reduce_dfs_binomial_max (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | LinInterp_Bcast_ucs_binomial_min (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | LinInterp_Reduce_ucs_binomial_min (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | LinInterp_Bcast_ucs_binomial_max (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | LinInterp_Reduce_ucs_binomial_max (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | LinInterp_Scatter_dfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gather_dfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatter_dfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gather_dfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatter_ucs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gather_ucs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatter_ucs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gather_ucs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatter_bfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gather_bfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatter_bfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gather_bfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_dfs_binomial_min (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_dfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_dfs_binomial_max (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_dfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_bfs_binomial_min (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_bfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_bfs_binomial_max (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_bfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_ucs_binomial_min (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_ucs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_ucs_binomial_max (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_ucs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Scatterv_Traff (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | LinInterp_Gatherv_Traff (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) |
Detailed Description
The implementations of tree-based algorithms are similar to .
Function Documentation
int LinInterp_initialize | ( | MPI_Comm | comm, | |
LinInterp_model * | model | |||
) |
Initializes the instances of the LinInterp model at all processes in the communicatior.
- Parameters:
-
comm MPI communicator model LinInterp model (significant only at root)
int LinInterp_finalize | ( | MPI_Comm | comm | ) |
Destroys the instances of the LinInterp model at all processes in the communicatior.
int LinInterp_Scatterv_sorted_flat_asc | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
Sorted flat-tree scatterv based on the LinInterp model.
int LinInterp_Gatherv_sorted_flat_asc | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
Sorted flat-tree gatherv based on the LinInterp model.
int LinInterp_Scatterv_sorted_flat_dsc | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
Sorted flat-tree scatterv based on the LinInterp model.
int LinInterp_Gatherv_sorted_flat_dsc | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
Sorted flat-tree gatherv based on the LinInterp model.
int LinInterp_Bcast_dfs_binomial_min | ( | void * | buffer, | |
int | count, | |||
MPI_Datatype | datatype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial bcast based on the LinInterp model.
int LinInterp_Reduce_dfs_binomial_min | ( | void * | sendbuf, | |
void * | recvbuf, | |||
int | count, | |||
MPI_Datatype | datatype, | |||
MPI_Op | op, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial reduce based on the LinInterp model.
int LinInterp_Bcast_dfs_binomial_max | ( | void * | buffer, | |
int | count, | |||
MPI_Datatype | datatype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial bcast based on the LinInterp model.
int LinInterp_Reduce_bfs_binomial_min | ( | void * | sendbuf, | |
void * | recvbuf, | |||
int | count, | |||
MPI_Datatype | datatype, | |||
MPI_Op | op, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial reduce based on the LinInterp model.
int LinInterp_Reduce_bfs_binomial_max | ( | void * | sendbuf, | |
void * | recvbuf, | |||
int | count, | |||
MPI_Datatype | datatype, | |||
MPI_Op | op, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial reduce based on the LinInterp model.
int LinInterp_Bcast_bfs_binomial_min | ( | void * | buffer, | |
int | count, | |||
MPI_Datatype | datatype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial bcast based on the LinInterp model.
int LinInterp_Bcast_bfs_binomial_max | ( | void * | buffer, | |
int | count, | |||
MPI_Datatype | datatype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial bcast based on the LinInterp model.
int LinInterp_Reduce_dfs_binomial_max | ( | void * | sendbuf, | |
void * | recvbuf, | |||
int | count, | |||
MPI_Datatype | datatype, | |||
MPI_Op | op, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial reduce based on the LinInterp model.
int LinInterp_Bcast_ucs_binomial_min | ( | void * | buffer, | |
int | count, | |||
MPI_Datatype | datatype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial bcast based on the LinInterp model.
int LinInterp_Reduce_ucs_binomial_min | ( | void * | sendbuf, | |
void * | recvbuf, | |||
int | count, | |||
MPI_Datatype | datatype, | |||
MPI_Op | op, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial reduce based on the LinInterp model.
int LinInterp_Bcast_ucs_binomial_max | ( | void * | buffer, | |
int | count, | |||
MPI_Datatype | datatype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial bcast based on the LinInterp model.
int LinInterp_Reduce_ucs_binomial_max | ( | void * | sendbuf, | |
void * | recvbuf, | |||
int | count, | |||
MPI_Datatype | datatype, | |||
MPI_Op | op, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial reduce based on the LinInterp model.
int LinInterp_Scatter_dfs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial scatter based on the LinInterp model.
int LinInterp_Gather_dfs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial gather based on the LinInterp model.
int LinInterp_Scatter_dfs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial scatter based on the LinInterp model.
int LinInterp_Gather_dfs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial gather based on the LinInterp model.
int LinInterp_Scatter_ucs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial scatter based on the LinInterp model.
int LinInterp_Gather_ucs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial gather based on the LinInterp model.
int LinInterp_Scatter_ucs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial scatter based on the LinInterp model.
int LinInterp_Gather_ucs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial gather based on the LinInterp model.
int LinInterp_Scatter_bfs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial scatter based on the LinInterp model.
int LinInterp_Gather_bfs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial gather based on the LinInterp model.
int LinInterp_Scatter_bfs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial scatter based on the LinInterp model.
int LinInterp_Gather_bfs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial gather based on the LinInterp model.
int LinInterp_Scatterv_dfs_binomial_min | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial scatterv based on the LinInterp model.
int LinInterp_Gatherv_dfs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial gatherv based on the LinInterp model.
int LinInterp_Scatterv_dfs_binomial_max | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial scatterv based on the LinInterp model.
int LinInterp_Gatherv_dfs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
DFS binomial gatherv based on the LinInterp model.
int LinInterp_Scatterv_bfs_binomial_min | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial scatterv based on the LinInterp model.
int LinInterp_Gatherv_bfs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial gatherv based on the LinInterp model.
int LinInterp_Scatterv_bfs_binomial_max | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial scatterv based on the LinInterp model.
int LinInterp_Gatherv_bfs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
BFS binomial gatherv based on the LinInterp model.
int LinInterp_Scatterv_ucs_binomial_min | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial scatterv based on the LinInterp model.
int LinInterp_Gatherv_ucs_binomial_min | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial gatherv based on the LinInterp model.
int LinInterp_Scatterv_ucs_binomial_max | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial scatterv based on the LinInterp model.
int LinInterp_Gatherv_ucs_binomial_max | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
UCS binomial gatherv based on the LinInterp model.
int LinInterp_Scatterv_Traff | ( | void * | sendbuf, | |
int * | sendcounts, | |||
int * | displs, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int | recvcount, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
Scatterv based on modified Traff using the LinInterp model.
int LinInterp_Gatherv_Traff | ( | void * | sendbuf, | |
int | sendcount, | |||
MPI_Datatype | sendtype, | |||
void * | recvbuf, | |||
int * | recvcounts, | |||
int * | displs, | |||
MPI_Datatype | recvtype, | |||
int | root, | |||
MPI_Comm | comm | |||
) |
Gatherv based on modified Traff using the LinInterp model.