Sponsored Content
Top Forums Programming Need help with counting within parallelized block - OpenMP/C-Programming Post 302920617 by Corona688 on Friday 10th of October 2014 12:44:07 PM
Old 10-10-2014
I don't understand this multithreading library in particular, just multithreading in general, so I can't give you OMP code, but I can show you the concept of what I mean:

Code:
int flag=-1;

while(flag < 0) {
        function(count, &flag);
        count++;
}

void parallel_function(int count, int *flag) {
        char str[10];
        int c=count;

        if( (*flag) >= 0) return;

        memset(str, 0, sizeof(str));

        // Compute the string from the value of 'c'.  Each different
        // count will give a unique solution.
        int length=(c%5)+1;
        c /= 5;

        for(int n=0; n<length; n++)
        {
                str[n]=Literals[c%Nliterals];
                c /= Nliterals;
        }

        // If and only if we have the correct solution, store the value.
        if(string_matches)
                (*flag)=count;
}

You can run that in parallel and not have 5000 "wrong" threads upsetting the value of 'flag', since it only gets set on success. And order is irrelevant since each thread is told exactly what its number is.

The size of an integer limits the number of unique digit strings you can create, but that was also true before. (i.e. a 30-digit string has 10^30 possibilities, an integer only holds up to 2^31) You could use more complicated things than a single int -- like an array of integers, one for each digit -- but the principle remains the same.

Last edited by Corona688; 10-10-2014 at 01:54 PM..
This User Gave Thanks to Corona688 For This Post:
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Carreer:Networking Programming in Unix (C programming Language)

Hello, I am trying to learn Networking Programming in C in unix enviorment. I want to know how good it is to become a network programmer. i am crazy about Network programming but i also want to opt for the best carreer options. Anybody experienced Network Programmer, please tell me is my... (5 Replies)
Discussion started by: vibhory2j
5 Replies

2. UNIX for Dummies Questions & Answers

gzip parallelized

Hello everyone, I've got a question regarding the gzip command. I regulary use gzip to pack huge ammounts of files. Is it ok to start 'gzip *' several times in the same directory to parallelize the packing process or can this result in problems, e.g. broken or unpacked files? My tests... (7 Replies)
Discussion started by: Basch
7 Replies

3. Shell Programming and Scripting

Counting lines in each block file

hello im new here so i want to say hi everybody :) i have to write a script and im newbie :/ i hope that in this forum are many ppl who knows subject :) i have hundrets folders. in each folder is a file name trace.txt. each trace.txt has a lot of tracert's results separates with "-----" it... (6 Replies)
Discussion started by: michael8484
6 Replies

4. HP-UX

Spawn more than 8 threads OpenMP & HPUX

Hi folks, I am trying to run more than 8 threads in OpenMP team on my HP-UX 11i v3 system (without root access), but NO success. Compiler: aCC A.06.26 I tried to setup: OMP_NUM_THREADS, omp_set_num_threads(), max_thread_proc=1000, nkthread=8416, set_dynamic=0 Machine has 2 processors... (1 Reply)
Discussion started by: ATveretinov
1 Replies

5. Programming

Building Block style programming Book

Hello to all, Here is my situation. Some time in the mid-80's I stumbled across a small white programming book - can't remember the name but it was unique in that it started right out giving instructions on creating building blocks in code as a foundation for a complete system. The book was... (2 Replies)
Discussion started by: jozefn
2 Replies

6. Programming

Gcc openmp programming problem

Dear Linux users, I'm a noob at openmp, gcc and c programming. I can run my own openmp code in terminal with no problem, eg. gcc -fopenmp program.c -o program. But now I'm trying to compile and run another person's code, it contains a makefile and multiple .c and .h files. I don't know how to... (2 Replies)
Discussion started by: pigeon151
2 Replies

7. Programming

Undefined reference to omp_get_thread_num using OpenMP?

I am using a large code-base that compiled successfully before using make with a makefile and cmake. However, now that I'm trying to use openmp with it, I'm now getting the errors undefined reference to `omp_get_thread_num' undefined reference to `omp_get_num_threads'I don't think this... (0 Replies)
Discussion started by: larry burns
0 Replies

8. Programming

OpenMP and MPI hybrid thread numbers

hi, I have two basic questions, I will be really grateful if I receive any comment from you, I have an MPI code where I am trying to implement OpenMP directives. The machine where I run the code has 16 cores. I run the code with export OMP_NUM_THREADS=2 mpirun -np 4 ./exec If I... (0 Replies)
Discussion started by: armando_2011
0 Replies
HTML::FormHandler::Blocks(3pm)				User Contributed Perl Documentation			    HTML::FormHandler::Blocks(3pm)

NAME
HTML::FormHandler::Blocks - arrange form layout using blocks VERSION
version 0.40013 SYNOPSIS
This is a role which provides the ability to render your form in arbitrary 'blocks', instead of by fields. This role is included by default in HTML::FormHandler. package MyApp::Form; use HTML::FormHandler::Moose; extends 'HTML::FormHandler'; sub build_render_list {[ 'foo', 'fset' ]} has_field 'foo'; has_field 'bar'; has_field 'nox'; has_block 'fset' => ( tag => 'fieldset', render_list => ['bar', 'nox'] );; .... $form->render; Blocks live in the HTML::FormHandler::Widget::Block:: namespace. The default, non-typed block is HTML::FormHandler::Widget::Block. Provide a type for custom blocks: has_block 'my_block' => ( type => 'CustomBlock', render_list => [...] ); You can also build blocks with a 'block_list' attribute, or the builder for it, 'build_block_list'. Rendering with blocks is supported by the rendering widgets. Render::Simple doesn't do it, though it would be possible to make your own custom renderer. AUTHOR
FormHandler Contributors - see HTML::FormHandler COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Gerda Shank. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-06-25 HTML::FormHandler::Blocks(3pm)
All times are GMT -4. The time now is 06:03 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy