ssh -f -N -o ControlMaster=auto -D 1080 cmsusr.cms
export ALL_PROXY=socks5://localhost:1080
curl http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-rhel7-10-1-local-10.1.243-418.87.00-1.0-1.x86_64.rpm -o cuda-repo-rhel7-10-1-local-10.1.243-418.87.00-1.0-1.x86_64.rpm
#include <cuda_runtime.h> | |
#include "cudaCheck.h" | |
int main(void) { | |
// 3D buffer layout | |
constexpr size_t pitch = 32; | |
constexpr size_t width = 20; | |
static_assert(width <= pitch, "The 3D buffer `width` cannot be larger than the `pitch`."); | |
constexpr size_t height = 8; | |
constexpr size_t slices = 4; |
#! /bin/bash -e | |
CUDA_BASE=/usr/local/cuda | |
SYCL_BASE=$PWD | |
INSTALL_PATH=/opt/llvm | |
mkdir -p $SYCL_BASE/llvm | |
cd $SYCL_BASE/llvm | |
if ! [ -d .git ]; then |
GPU Manager will overwrite the X configuration at each reboot, so the first step is to disable it.
According to various posts it can be disabled adding nogpumanager
to the boot options e.g. in GRUB.
Edit /etc/default/grub
and add nogpumanager
to the GRUB_CMDLINE_LINUX
option.
For example, if /etc/default/grub
had
#include <cstdio> | |
#include <cuda.h> | |
__host__ __device__ | |
void where() { | |
#if defined __CUDA_ARCH__ | |
printf(" on the device"); | |
#else | |
printf(" on the host"); | |
#endif |
Given the diversity and possible complexity of some legacy DQM modules, this guide will likely not address all the required changes. Please consider it more as a set of suggestions than as a strict list of steps to be follwed; for any more information please refer to the migration guide to the DQMAnalyzer
module, or ask the DQM Core team.
A DQMGlobalEDAnalyzer
module is a specialisation of an edm::global::EDanalyzer
module:
- it is a
global
module rather than a legacy module: there is only one copy of it, no matter how many threads or streams the job is configured to use, but it can "see" multiple events being processed at the same time; the advantage is that multiple events can be analised concurrently; on the other hand the module's internal state (the data members) are not allowed to change during theanalyze()
(ordqmAnalyze()
) method, unless in a concurrency-safe way. See [FWMultithreadedFrameworkGlobalModuleInt
A DQMGlobalEDAnalyzer
module is similar to a DQMEDanalyzer
, with few differences:
- it is a
global
module rather than astream
module: there is only one copy of it, no matter how many threads or streams the job is configured to use, and it will "see" all events being processed; the advantage is a significant reduction in memory usage as the number of streams increases; on the other hand this means that its internal state (the data members) are not allowed to change during theanalyze()
(ordqmAnalyze()
) method, unless in a concurrency-safe way. See FWMultithreadedFrameworkGlobalModuleInterface for the details. - it uses
ConcurrentMonitorElement
s rather thanMonitorElement
s to expose a concurrecy-safe interface to theDQMStore
; these objects are also "global": theDQMStore
holds a single copy of the histograms, and there is not me
from FWCore/Framework/bin/cmsRun.cpp#L140
EventProcessorWithSentry proc;
from FWCore/Framework/bin/cmsRun.cpp#L351
EventProcessorWithSentry procTmp(