Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


ssh://git@git.iter.org/imas/uda.git

* UDA and UDA-plugins have to be installed

...

If we are using the thin-client set-up then only the UDA client needs to be installed – though a UDA server will need to be running somewhere accessible with the UDA plugins running on that server.

* UDA is IMAS/DD independent

- Yes.

UDA is completely DD & AL independent.

A common uda server can be used for all imas versions to date and the imas backend calls this in fat mode. I don’t know if this fat-mode configuration is subject to change. There is a dependency of some of the mapping plugins on the imas library (I think both imas_mapping and exp2imas also do depend on it too), but the result is that the uda plugins library needs to be recompiled for every new access layer version deployed. 

* UDA-plugins is IMAS LL dependent

- Yes.

The UDA plugin required for remote IMAS access is currently compiled against the IMAS lowlevel library and so will need to be recompiled if the library .so version changes. It should be DD independent though. The other plugins (IMAS_MAPPING, EXP2IMAS, etc.) are DD & AL independent.The plugins do depend on the server they are compiled against but the server is completely independent of IMAS.



 

* to install I have to use a proper script

- You can install without running the scripts, they are just there to make life easier for commonly installed machines.

The configure script  exists for the plugins repo too and can be edited to specify the imasenv module and compilers for each new build. An additional command is required after building and installing the plugins which is to execute the script at build/scripts/activate_plugins.sh which will register the compiled plugins in a configuration file for the uda-server to be aware of

There are scripts in the UDA repository in the ‘scripts’ directory with names such as ‘cmake-freia.sh’. These files give an overview of how to configure the build before running make. It should be a case of running:

./scripts/cmake-itm-marconi-gcc-4.sh

make -C build

make -C build install

* Are UDA-plugins based on specific version of UDA? or any version of UDA can be loaded?

- Plugins should be independent of UDA version. There was a renaming of a variable in the server between 2.4.1 and 2.5.0 which has unfortunately meant plugins need to be tweaked to compile against the new version, but we try to avoid this.

* Are UDA-plugins bound to specific version of IMAS? (I see module load IMAS/3.24.0/AL/4.1.5 in 'marconi' script)?- Most of the plugins are not bound to IMAS but a few of them (IMAS_REMOTE,  IMAS_PARTIAL, etc.) compile against the IMAS lowlevel so pick up the “so” version of that library (i.e. libimas.so.3)
 * Should module files be created manually?

...

To reiterate there is no run-time dependency on the data-dictionary (only access layer), but where mapping files exist I don’t think they have been updated since 3.28 or similar. Just to say that I don’t think the plugin version control tracks the DD version they are consistent with in any way. This means that we can compile today against 3.32 or whatever version we are at, (and the code will run without seg faulting or stack smashing or other library-mismatch errors you may see) but the data retrieval will fail as the mappings do not yet comply with the latest DD updates. Procedurally, perhaps there should be a step to confirm DD compliance of the mappings at each release too.

...


UDA

Dependencies

UDA is completely DD & AL independent.

A common uda server can be used for all imas versions to date and the imas backend calls this in fat mode. I don’t know if this fat-mode configuration is subject to change. There is a dependency of some of the mapping plugins on the imas library (I think both imas_mapping and exp2imas also do depend on it too), but the result is that the uda plugins library needs to be recompiled for every new access layer version deployed. 

Installation

Info

Installation described below uses system compiler (GCC 4.8.5), because of its advantage - it can be used by both: higher GCC versions and Intel compiled libraries

...

  1. Cloning repository
    1. git clone ssh://git@git.iter.org/imas/uda.git 
    2. cd uda
    3. git checkout tags/<tag_number> 
  2. Building 
    1. env INSTALL=/gw/swimas/extra/uda/<tag_number>/gcc/4.8.5   ./scripts/cmake-itm-marconi-gcc-4.sh
    2. make -C build-gcc-4 

  3. Installation

    1. make -C build-gcc-4 install

  4. Setting system module (has to be done manually)

    1. copy existing module (e.g.  cp -r /gw/modules/lib/itm-boost/1.78.0   /gw/modules/lib/itm-boost/<installed version>)
    2. update versions etc
  5. Setting pkg-config (has to be done manually)
    1. copy existing files (e.g.  cp -r /gw/switm/boost/1.78.0/gcc/4.8/lib/pkgconfig   /gw/swimas/extra/uda/<tag_number>/gcc/4.8.5/lib)
    2. update versions etc


UDA Plugins

Dependencies

* UDA-plugins is IMAS LL dependent

The UDA plugin required for remote IMAS access is currently compiled against the IMAS lowlevel library and so will need to be recompiled if the library .so version changes. It should be DD independent though. The other plugins (IMAS_MAPPING, EXP2IMAS, etc.) are DD & AL independent.

The plugins do depend on the server they are compiled against but the server is completely independent of IMAS. 


* Are UDA-plugins based on specific version of UDA? or any version of UDA can be loaded?

- Plugins should be independent of UDA version. There was a renaming of a variable in the server between 2.4.1 and 2.5.0 which has unfortunately meant plugins need to be tweaked to compile against the new version, but we try to avoid this.

* Are UDA-plugins bound to specific version of IMAS? (I see module load IMAS/3.24.0/AL/4.1.5 in 'marconi' script)?

- Most of the plugins are not bound to IMAS but a few of them (IMAS_REMOTE,  IMAS_PARTIAL, etc.) compile against the IMAS lowlevel so pick up the “so” version of that library (i.e. libimas.so.3)


  1. Cloning repository
    1. git clone ssh://git@git.iter.org/imas/uda-plugins.git
    2. cd uda-plugins
    3. git checkout tags/<tag numer>
  2. Building

An additional command is required after building and installing the plugins which is to execute the script at build/scripts/activate_plugins.sh which will register the compiled plugins in a configuration file for the uda-server to be aware of