# Running on a single cpu core?

**URL:** <https://pyfr.discourse.group/t/running-on-a-single-cpu-core/113>\
**Category:** Just Starting\
**Created:** [27 July 2016 05:55 UTC](https://pyfr.discourse.group/t/running-on-a-single-cpu-core/113 "2016-07-27T05:55:23Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![fdw](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@fdw](https://pyfr.discourse.group/u/fdw)\
**Post date:** [27 July 2016 18:06 UTC](https://pyfr.discourse.group/t/running-on-a-single-cpu-core/113/2 "2016-07-27T18:06:45Z")

</div>

Hi,

> What's wrong with this case?

Whenever you run PyFR you need to tell it what backend it should use.  
This is why when you do not specify a backend with -b you get an error.

> Also i want to ask the meaning of serial and parallel in PyFR. Does the  
> serial mean PyFR will run in a single CPU with its all core and parallel  
> mean it runs in multi CPU? Can i just run in single core?

Within the context of the OpenMP backend the configuration option:

```auto
[backend-openmp]
cblas-type = <serial or parallel>

```

determine who is responsible for parallelising BLAS calls over multiple  
threads. If the cblas-type is parallel (the default) then we leave it  
up to the BLAS library to determine how to break up the matrix  
multiplication operators. Otherwise, if it is serial then PyFR will  
take care of this. In both cases it is expected that the multiplication  
itself will be done in parallel. The only difference is who is  
responsible for taking care of this. Which value you want depends on  
your choice of BLAS library.

If you want to run PyFR on just a single core you should do:

`$ export OMP\_NUM\_THREADS=1`

although performance will, of course, suffer.

Regards, Freddie.

---

_[View the full topic](https://pyfr.discourse.group/t/running-on-a-single-cpu-core/113)._
