Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F60952459
dls_core.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, May 3, 14:10
Size
2 KB
Mime Type
text/x-c
Expires
Sun, May 5, 14:10 (2 d)
Engine
blob
Format
Raw Data
Handle
17444645
Attached To
R8042 Dynamic loop scheduling using MPI passive-target remote memory access
dls_core.h
View Options
/*********************************************************************************
* Copyright (c) 2018 *
* Ahmed Eleliemy <ahmed.eleliemy@unibas.ch> *
* University of Basel, Switzerland *
* All rights reserved. *
* This code 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. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the license (GNU LGPL) which comes with this package. *
*********************************************************************************/
#ifndef DLS_CORE
#define DLS_CORE
struct
Scheduling_params
{
int
scheduled_tasks
;
int
total_tasks
;
int
total_workers
;
int
step
;
int
method
;
int
constant
;
int
last_chunk
;
int
minimum_chunk
;
int
SWR
;
int
r1
;
int
count1
;
int
r2
;
int
count2
;
double
my_weight
;
int
knl_count
;
};
void
calculate_next_chunk_stateless
(
struct
Scheduling_params
params
,
int
*
start
,
int
*
end
);
void
STATIC_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
*
start
,
int
*
end
,
int
world_size
);
void
SS_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
*
start
,
int
*
end
,
int
world_size
);
void
GSS_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
*
start
,
int
*
end
,
int
world_size
);
void
FAC_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
step
,
int
*
start
,
int
*
end
,
int
world_size
,
int
last_chunk
);
void
FSC_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
*
start
,
int
*
end
,
int
world_size
,
int
fixed_chunk
);
void
TSS_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
*
start
,
int
*
end
,
int
world_size
,
int
fixed_decrement
,
int
last_chunk
,
int
minimum_chunk
);
void
WF_sl
(
int
number_of_scheduled_tasks
,
int
total_tasks
,
int
step
,
int
*
start
,
int
*
end
,
int
world_size
,
int
last_chunk
,
double
weight
);
void
calculate_next_chunk_stateful
(
struct
Scheduling_params
params
,
int
*
chunk_size
);
void
STATIC_sf
(
int
total_tasks
,
int
*
chunk_size
,
int
world_size
);
void
SS_sf
(
int
*
chunk_size
);
void
FSC_sf
(
int
*
chunk_size
,
int
c
);
void
GSS_sf
(
int
total_tasks
,
int
step
,
int
*
chunk_size
,
int
world_size
);
void
FAC_sf
(
int
total_tasks
,
int
step
,
int
*
chunk_size
,
int
world_size
);
void
TSS_sf
(
int
total_tasks
,
int
step
,
int
*
chunk_size
,
int
world_size
,
int
c
,
int
initial_chunk
);
void
WF_sf
(
int
total_tasks
,
int
step
,
int
*
chunk_size
,
int
world_size
,
double
my_weight
);
int
helper_FSC
(
int
number_of_workers
,
int
number_of_tasks
,
double
h
,
double
sigmma
);
int
helper_TSS
(
int
number_of_workers
,
int
number_of_tasks
,
int
F
,
int
l
);
double
WF_helper
(
int
knl_count
,
char
name
[],
int
total_number_of_cores
);
#endif
Event Timeline
Log In to Comment