Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 25
1

Intel tbb, вычисление числа Пи

02.12.2015, 17:45. Просмотров 378. Ответов 4
Метки нет (Все метки)

доброго времени,
продолжаю изучать intel tbb
программа считает число пи
выдает много ошибок , связаны с вызовом PiTbb и Reduce, не понимаю в чем проблема, вроде делаю по лекциям
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iomanip>
#include <iostream>
#include <limits>
#include <time.h>
#include "tbb/tick_count.h"
#include "tbb/task_scheduler_init.h"
#include <tbb/parallel_reduce.h>
#include "tbb/blocked_range.h"
#include "tbb/parallel_for.h"
using namespace tbb;
using namespace std; 
 
class PiTbb{
    double x, h, s;
    int n;
public:
    void operator () (const blocked_range<int>& r)  //const
    {
        int begin = r.begin();
        int end = r.end();
        h = 1.0/n;
        for (int i = begin; i < end; i++)   
            s += sqrt(1.0-i * h) + sqrt(1.0-(i+1) * h); 
        s *= 2.0 * h;
    }
    void join (PiTbb &p){
        s +=p.s;
    }
    PiTbb(PiTbb &p, tbb::split)   {  
        s = 0.0;     
        n = p.n;  
        h = p.h;  
    } 
    //PiCalculation(long h) 
    //{     
    //  pi = 0.0;   
    //  n = h;    
    //  h = 1./(double)n;  
    //} 
    DotPi(int pn): n(pn)
    {}
 
};
 
 
double Pi(int n, double s){
    int i;
    double x, h = 0.0;  
    h = 1.0/n;
    for (i = 0; i < n; i++) 
        s += sqrt(1.0-i * h) + sqrt(1.0-(i+1) * h); 
    s *= 2.0 * h;   
    return s;
}
int main (){
 
    int i, n = 10000000;
    double pi, s = 0.0;
    
    s=Pi(n, s); 
    
    pi = atan(1.0) * 4.0;//точное значение пи
    printf("%f\t%f\n", pi, s);  
 
    //паралельная часть 
 
    tbb::task_scheduler_init init;  
    PiTbb p (n);
    parallel_reduce(blocked_range<long>(0, n, 1)DotPi(n));  
    printf ("Pi is %3.20f\n", pi.s);  
        
    return (0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2015, 17:45
Ответы с готовыми решениями:

Число пи intel TBB
доброго времени не могу понять как исправить ошибки #include &lt;iomanip&gt; #include &lt;iostream&gt;...

Ищу литературу по Intel tbb
скачал библиотеки с сайта, не могу подключить и запустить какой нибудь пример, хотя и примеры то...

Скалярное произведение векторов и Intel TBB
Добрый день. Требуется распараллелить программу вычисления скалярного произведения векторов с...

Не могу заставить работать библиотеку Intel TBB
Все пути прописал по официальному гайду, но при компиляции стандартного...

4
124 / 116 / 67
Регистрация: 07.11.2014
Сообщений: 788
02.12.2015, 17:52 2
Во вложения отправьте следующее:
C++
1
2
3
4
5
#include "tbb/tick_count.h"
#include "tbb/task_scheduler_init.h"
#include <tbb/parallel_reduce.h>
#include "tbb/blocked_range.h"
#include "tbb/parallel_for.h"
0
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 25
02.12.2015, 18:15  [ТС] 3
как это сделать, я просто не силен еще?
0
124 / 116 / 67
Регистрация: 07.11.2014
Сообщений: 788
02.12.2015, 18:18 4
Цитата Сообщение от ildariys Посмотреть сообщение
как это сделать, я просто не силен еще?
У меня просто нет таких инклюд-файлов. Снизу есть мультизагрузка вложений, отправьте мне инклюд-файлы.
0
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 25
02.12.2015, 20:16  [ТС] 5
https://www.threadingbuildingb... ss_win.zip
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2015, 20:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Intel TBB and VS 2015
Зарегистрировался здесь:...

Intel 8080 (КР580ВМ80А). Вычисление модуля числа
Помогите пожалуста,нужно сложить програму вычесления модуля числа, что находится в памяти за...

Вычисление arcsin на Intel и GNU Fortran
Добрый день Имеется задача вычисления arcsin (из книги Рыжикова &quot;Современный Фортран&quot;) Вот...

БД *.TBB
день добрый, никто не подскажет что это за БД с таким расширением, и через что с ними работать,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.