- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近对英特尔线程构建模块产生了兴趣。我想利用 tbb::task_group
类来管理线程池。
我的第一次尝试是构建一个测试,其中一个 vector 复制到另一个 vector 中:我创建了第 n 个任务,每个任务负责复制 vector 的连续切片。
但是,性能会随着线程数的增加而降低。我对另一个线程池实现有相同的结果。使用 TBB 2018 Update 5,gcc 6.3 on debian strecth on 8 i7 core box,我得到以下数字来复制 1'000'000 个元素的 vector :
第n个真实用户
1 0.808s 0.807s
2 1.068s 2.105s
4 1.109s 4.282s
也许你们中的一些人会帮助理解这个问题。这是代码:
#include
#include
#include
#include
#include "tbb/task_group.h"
#include "tbb/task_scheduler_init.h"
namespace mgis{
using real = double;
using size_type = size_t;
}
void my_copy(std::vector& d,
const std::vector& s,
const mgis::size_type b,
const mgis::size_type e){
const auto pb = s.begin()+b;
const auto pe = s.begin()+e;
const auto po = d.begin()+b;
std::copy(pb,pe,po);
}
int main(const int argc, const char* const* argv) {
using namespace mgis;
if (argc != 3) {
std::cerr << "invalid number of arguments\n";
std::exit(-1);
}
const auto ng = std::stoi(argv[1]);
const auto nth = std::stoi(argv[2]);
tbb::task_scheduler_init init(nth);
tbb::task_group g;
std::vector v(ng,0);
std::vector v2(ng);
for(auto i =0; i!=2000;++i){
const auto d = ng / nth;
const auto r = ng % nth;
size_type b = 0;
for (size_type i = 0; i != r; ++i) {
g.run([&v2, &v, b, d] { my_copy(v2, v, b, b + d + 1); });
b += d+1;
}
for (size_type i = r; i != nth; ++i) {
g.run([&v2, &v, b, d] { my_copy(v2, v, b, b + d); });
b += d ;
}
g.wait();
}
return EXIT_SUCCESS;
}
1 Câu trả lời
tbb::parallel_for
,那里不需要task_group
。而且,一个一个调用任务是线性复杂度,parallel_for
是对数复杂度。
关于c++ - 使用 task_group(新用户)的 Intel Threading Building Blocks 性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52076777/
Lệnh sau có tác dụng gì trong Xcode 4? Xây dựng để thử nghiệm Xây dựng để chạy Xây dựng để phân tích Xây dựng để lưu trữ Tôi không chắc khi nào nên sử dụng những điều này (hoặc liệu có nên sử dụng bất kỳ điều nào trong số chúng không). Câu trả lời hay nhất: Running được sử dụng để chạy ứng dụng của bạn (trên Ma
Công cụ: Jenkins phiên bản 1.470 Môi trường Maven 2 Subversion Giả sử bản dựng của tôi có nhiều dự án AD. Như đã trình bày, có một đồ thị phụ thuộc. Nghĩa là: B phụ thuộc vào lớp trong A, C phụ thuộc vào lớp trong B và D phụ thuộc vào lớp trong A.
Tôi đang tạo một dự án phần mềm và tôi muốn sử dụng autotools để tạo makefiles, v.v. cho tôi. Tôi đã tự tay tạo các tệp Makefile.am và configure.in và tôi đang sử dụng tập lệnh autogen.sh để tạo makefiles cho tôi.
Lệnh yarn build có tác dụng gì? Yarn build và npm build có giống nhau không? Nếu không thì sự khác biệt là gì? Câu trả lời hàng đầu yarn build và npm build không phải là những lệnh hiện có theo mặc định. Tôi nghĩ bạn có ý nói
Nếu tôi có một cơ sở mã lớn với nhiều dự án phụ thuộc lẫn nhau, ví dụ, projects/A, projects/B và projects/C, trong đó A yêu cầu B và B yêu cầu C, và mỗi dự án đều có một tập lệnh xây dựng Cake như
Tôi đang cố gắng sử dụng Wix/Detox để kiểm tra ứng dụng react-native của mình (phiên bản iOS). Tôi đã thực hiện thành công https://github.com/wix/detox/blob/master/do
Chúng tôi có một số tập lệnh Nant để biên dịch mã .NET. Những bản dựng này mất khoảng 5-10 phút để chạy và tôi muốn tìm cách tăng tốc chúng. Kịch bản Nant của chúng ta sẽ trông như thế này
Xin chào, khi tôi xây dựng ffmpeg-3.4.1 với gnu trên windows, có ai có thể giúp tôi giải quyết lỗi này không: /tmp/9747a756ee05ef34cc3fcf51eabde826/sysroot/u
Xây dựng giải pháp/dự án/chương trình có nghĩa là gì? Tôi muốn chắc chắn rằng mình đã định nghĩa đúng (để tôi không có vẻ ngốc nghếch khi trò chuyện). Trong IDE, bạn có thể (sửa cho tôi nếu tôi sai) biên dịch mã nguồn/mã lập trình thành mã máy mà máy tính có thể đọc được. Bạn có thể gỡ lỗi chương trình của bạn
Tại sao Eclipse, khi xây dựng một dự án Android, lại bị kẹt trong vòng lặp vô hạn của việc xây dựng không gian làm việc... rồi (xây dựng lại) không gian làm việc... rồi (xây dựng lại) không gian làm việc... Đây có phải là lỗi đã biết không? Cách đúng đắn để thoát khỏi vòng lặp này là gì?
Dự án Angular của tôi là @Angular4.3.3. ng build -prod mất 77 giây để xây dựng. ng build --prod --build-optimizer=true mất 19 giây để xây dựng.
Vì vậy, tôi vừa tạo một dự án React Native bằng lệnh react-native init "project name" Tôi đã vào cấp ứng dụng build.gradle để kết nối firebase nhưng tôi nhận được lỗi nói rằng
Tôi đang cố gắng tìm hiểu xem có sự khác biệt nào giữa hai biến được xác định trước trong TFS Online 2017 không: $(Build.Repository.LocalPath) và $(Build.SourcesDirectory). Tôi có
Khi biên dịch dự án, tập lệnh này sẽ tăng phiên bản dựng của dự án Xcode lên 1 khi tên người dùng hệ thống khớp. Hãy nhớ rằng, đây chỉ là các tập lệnh trong Target->Build Phases->Run Script trong Xcode (không phải App
Có công cụ nào có thể xây dựng hình ảnh trực quan cho thấy mục tiêu nào sẽ được thực thi khi nào và từ tệp đã nhập nào khi có tệp dự án MS Build không? Với một tệp giải pháp được đưa ra, liệu nó có xây dựng hình ảnh trực quan về thứ tự các dự án sẽ được xây dựng hay không? Câu trả lời tốt nhất là có.
Tôi đang cố gắng sử dụng Bazel để thực hiện thiết lập sau. Bằng cách gọi "bazel build", tập lệnh Python sẽ tạo ra một số lượng tệp *.cc không xác định với tên ngẫu nhiên, sau đó được biên dịch thành một thư viện tĩnh duy nhất (tệp .a), tất cả đều
Tôi đang di chuyển dự án Cmake của mình sang Bazel. Thư mục gốc của dự án của tôi là thư mục build mà tôi sử dụng để chạy Cmake. Khi di chuyển sang Bazel, tôi cần tạo tệp BUILD trong thư mục gốc của dự án. Tuy nhiên, trong ma
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để bạn có thể trả lời bằng thông tin và trích dẫn bằng cách chỉnh sửa bài đăng này. . Đã đóng cửa cách đây 5 năm. Bài viết này đã được xuất bản trên
Khi Dockerfile của tôi trông như bên dưới thì tức là nó chạy tốt. ... CHẠY pip cài đặt git+https://user_name:my_password@github.com/repo_name
Liệu có thể sử dụng bộ tính năng xây dựng tự động hiện tại để thêm thẻ mới từ kho lưu trữ và gắn thẻ cho hình ảnh đã tạo không? Hoặc tôi có cần dịch vụ của bên thứ 3 để tự động đẩy thẻ mới lên Docker Registry không? Câu trả lời tốt nhất vào lúc này là không. Hiện tại (tháng 10 năm 2014) không có Doc
Tôi là một lập trình viên xuất sắc, rất giỏi!