- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一系列对几个独立函数的调用。
func1(arg);
func2(arg);
func3(arg);
#pragma omp parallel
{
func1(arg);
func2(arg);
func3(arg)
}
function(arg, value)
{
switch(value)
{
case 1: // code of func1
case 2: // code of func2
case 3 :// code of func3
}
}
#pragma omp parallel for
for(j=0; j<3; j++)
function(arg, j);
1 Câu trả lời
您正在寻找 OpenMP tasks ,在 OpenMP 3 中添加:
#include
#include
void func1(int arg) {
int tid = omp_get_thread_num();
printf("Thread %d in func1: got arg %d\n", tid, arg);
}
void func2(int arg) {
int tid = omp_get_thread_num();
printf("Thread %d in func2: got arg %d\n", tid, arg);
}
void func3(int arg) {
int tid = omp_get_thread_num();
printf("Thread %d in func3: got arg %d\n", tid, arg);
}
int main(int argc, char **argv) {
int arg=173;
#pragma omp parallel default(none) shared(arg)
#pragma omp single
{
#pragma omp task
func1(arg);
#pragma omp task
func2(arg);
#pragma omp task
func3(arg);
#pragma omp taskwait
/* if you have something that needs all the results above
* but needs to be in the parallel reason it would go here;
* otherwise the task wait is not needed */
}
trả về 0;
}
$ export OMP_NUM_THREADS=3
$ ./tasks
Thread 1 in func3: got arg 173
Thread 0 in func2: got arg 173
Thread 2 in func1: got arg 173
int main(int argc, char **argv) {
int arg=173;
#pragma omp parallel sections default(none) shared(arg)
{
func1(arg);
#pragma omp section
func2(arg);
#pragma omp section
func3(arg);
}
trả về 0;
}
关于openmp - 使用 openmp 并行执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25431821/
Hàm sscanf() trong ngôn ngữ C: đọc tệp tiêu đề dữ liệu theo định dạng được chỉ định từ một chuỗi: ?
Gần đây, tôi gặp phải vấn đề với việc đánh giá trước công việc mà tôi không biết cách giải quyết ngay cả sau khi đã tìm hiểu cách thức hoạt động của từng chức năng. Sau đây là một mã giả. Dưới đây là một hàm có tên là foo() sẽ được truyền một giá trị và trả về một giá trị. Nếu bạn truyền giá trị sau vào hàm foo,
Hàm CStr trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Chuỗi. CStr(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể
Hàm CSng trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Đơn. CSng(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường,
Hàm CreateObject tạo và trả về tham chiếu đến đối tượng Automation. CreateObject(servername.typename [, location]) Tham số serv
Hàm Cos trả về cosin của một góc. Cos(số) Đối số số có thể là bất kỳ biểu thức số hợp lệ nào thể hiện góc tính bằng radian. Mô tả Hàm Cos lấy một góc và trả về tỷ số giữa hai cạnh của một tam giác vuông. Tỷ lệ này là
Hàm CLng trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con Long. CLng(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể sử dụng
Hàm CInt trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Số nguyên. CInt(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường,
Hàm Chr trả về ký tự tương ứng với mã ký tự ANSI đã chỉ định. Chr(charcode) Tham số charcode là một số xác định một ký tự. Mô tả Các số từ 0 đến 31 biểu thị tiêu chuẩn không in được
Hàm CDbl trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Double. CDbl(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể
Hàm CDate trả về một biểu thức đã được chuyển đổi thành Biến thể của kiểu con Date. CDate(date) Tham số ngày là bất kỳ biểu thức ngày hợp lệ nào. Mô tả Hàm IsDate được sử dụng để xác định d
Hàm CCur trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Currency. CCur(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường,
Hàm CByte trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Byte. CByte(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể
Hàm CBool trả về một biểu thức được chuyển đổi thành một Biến thể có kiểu con Boolean. CBool(expression) expression là bất kỳ biểu thức hợp lệ nào. Nếu cũ
Hàm Atn trả về cung tan của một số. Atn(số) Tham số số có thể là bất kỳ biểu thức số hợp lệ nào. Mô tả Hàm Atn tính tỉ số hai cạnh của một tam giác vuông (số) và trả về cung của góc tương ứng.
Hàm Asc trả về mã ký tự ANSI tương ứng với chữ cái đầu tiên của chuỗi. Asc(chuỗi) Tham số chuỗi là bất kỳ biểu thức chuỗi hợp lệ nào. Nếu đối số chuỗi không chứa ký tự, lỗi thời gian chạy sẽ xảy ra.
Hàm Array trả về một Biến thể chứa một mảng. Mảng(arglist) Đối số arglist là danh sách các giá trị được phân tách bằng dấu phẩy để gán cho các phần tử của mảng có trong Biến thể. Nếu tham số này không được chỉ định,
Hàm Abs trả về giá trị tuyệt đối của một số. Abs(số) Tham số số có thể là bất kỳ biểu thức số hợp lệ nào. Nếu number chứa Null, nó sẽ trả về Null; nếu đó là biến chưa được khởi tạo, nó sẽ trả về 0.
Hàm FormatPercent trả về một biểu thức được định dạng dưới dạng phần trăm (nhân với 100) với dấu % theo sau. Định dạngPhần trăm(biểu thức[,NumDigitsAfterD
Hàm FormatNumber trả về một biểu thức được định dạng dưới dạng số. Định dạngSố(biểu thức [,NumDigitsAfterDecimal [,Inc
Tôi là một lập trình viên xuất sắc, rất giỏi!