This commit is contained in:
Evghenii
2013-11-15 17:59:04 +01:00
parent 95d6647dce
commit a2d12517e7
3 changed files with 12 additions and 4 deletions

View File

@@ -143,6 +143,7 @@ int main(int argc, char *argv[]) {
// Binomial options, serial implementation
//
double binomial_serial = 1e30;
#if 0
for (int i = 0; i < 3; ++i) {
reset_and_start_timer();
const double t0 = rtc();
@@ -159,6 +160,7 @@ int main(int argc, char *argv[]) {
printf("\t\t\t\t(%.2fx speedup from ISPC, %.2fx speedup from ISPC + tasks)\n",
binomial_serial / binomial_ispc, binomial_serial / binomial_tasks);
#endif
//
// Black-Scholes options pricing model, ispc implementation, 1 thread
@@ -200,6 +202,7 @@ int main(int argc, char *argv[]) {
// Black-Scholes options pricing model, serial implementation
//
double bs_serial = 1e30;
#if 0
for (int i = 0; i < 3; ++i) {
reset_and_start_timer();
const double t0 = rtc();
@@ -216,6 +219,7 @@ int main(int argc, char *argv[]) {
printf("\t\t\t\t(%.2fx speedup from ISPC, %.2fx speedup from ISPC + tasks)\n",
bs_serial / bs_ispc, bs_serial / bs_ispc_tasks);
#endif
return 0;
}

View File

@@ -76,10 +76,12 @@ export void
black_scholes_ispc_tasks(uniform float Sa[], uniform float Xa[], uniform float Ta[],
uniform float ra[], uniform float va[],
uniform float result[], uniform int count) {
uniform int nTasks = max((int)64, (int)count/16384);
uniform int nTasks = 2048; //count/16384; //max((int)64, (int)count/16384);
launch[nTasks] bs_task(Sa, Xa, Ta, ra, va, result, count);
}
/********/
export void
black_scholes_ispc(uniform float Sa[], uniform float Xa[], uniform float Ta[],
@@ -149,6 +151,6 @@ binomial_put_ispc_tasks(uniform float Sa[], uniform float Xa[],
uniform float Ta[], uniform float ra[],
uniform float va[], uniform float result[],
uniform int count) {
uniform int nTasks = max((int)64, (int)count/16384);
uniform int nTasks = 2048; //count/16384; //max((int)64, (int)count/16384);
launch[nTasks] binomial_task(Sa, Xa, Ta, ra, va, result, count);
}