org.nd4j.linalg.factory.Nd4j.getAffinityManager()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(6.6k)|赞(0)|评价(0)|浏览(198)

本文整理了Java中org.nd4j.linalg.factory.Nd4j.getAffinityManager()方法的一些代码示例,展示了Nd4j.getAffinityManager()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Nd4j.getAffinityManager()方法的具体详情如下:
包路径:org.nd4j.linalg.factory.Nd4j
类名称:Nd4j
方法名:getAffinityManager

Nd4j.getAffinityManager介绍

暂无

代码示例

代码示例来源:origin: deeplearning4j/nd4j

  1. public DeviceLocal() {
  2. int numDevices = Nd4j.getAffinityManager().getNumberOfDevices();
  3. for (int i = 0; i < numDevices; i++) {
  4. locksMap.add(new ReentrantReadWriteLock());
  5. }
  6. }

代码示例来源:origin: deeplearning4j/nd4j

  1. /**
  2. * This method removes object stored for current device
  3. *
  4. */
  5. public void clear() {
  6. int deviceId = Nd4j.getAffinityManager().getDeviceForCurrentThread();
  7. try {
  8. locksMap.get(deviceId).writeLock().lock();
  9. backingMap.remove(deviceId);
  10. } finally {
  11. locksMap.get(deviceId).writeLock().unlock();
  12. }
  13. }
  14. }

代码示例来源:origin: deeplearning4j/nd4j

  1. private PerformanceTracker() {
  2. // we put in initial holders, one per device
  3. val nd = Nd4j.getAffinityManager().getNumberOfDevices();
  4. for (int e = 0; e < nd; e++) {
  5. bandwidth.put(e, new AveragingTransactionsHolder());
  6. operations.put(e, new AveragingTransactionsHolder());
  7. }
  8. }

代码示例来源:origin: deeplearning4j/nd4j

  1. /**
  2. * This method sets object for current device
  3. *
  4. * @param object
  5. */
  6. public void set(T object) {
  7. set(Nd4j.getAffinityManager().getDeviceForCurrentThread(), object);
  8. }

代码示例来源:origin: deeplearning4j/nd4j

  1. /**
  2. * This method duplicates array, and stores it to all devices
  3. *
  4. * @param array
  5. */
  6. public void broadcast(INDArray array) {
  7. if (array == null)
  8. return;
  9. Nd4j.getExecutioner().commit();
  10. int numDevices = Nd4j.getAffinityManager().getNumberOfDevices();
  11. for (int i = 0; i < numDevices; i++) {
  12. // if current thread equal to this device - we just save it, without duplication
  13. if (Nd4j.getAffinityManager().getDeviceForCurrentThread() == i) {
  14. set(i, array);
  15. } else {
  16. set(i, Nd4j.getAffinityManager().replicateToDevice(i, array));
  17. }
  18. }
  19. }
  20. }

代码示例来源:origin: deeplearning4j/nd4j

  1. /**
  2. * This method returns object local to current deviceId
  3. *
  4. * @return
  5. */
  6. @Nullable
  7. public T get() {
  8. return get(Nd4j.getAffinityManager().getDeviceForCurrentThread());
  9. }

代码示例来源:origin: deeplearning4j/dl4j-examples

  1. public DataSet convertDataSet(int num) {
  2. int batchNumCount = 0;
  3. List<DataSet> dataSets = new ArrayList();
  4. FileSystem fs = CommonUtils.openHdfsConnect();
  5. try {
  6. while (batchNumCount != num && fileIterator.hasNext()) {
  7. ++ batchNumCount;
  8. String fullPath = fileIterator.next();
  9. Writable labelText = new Text(FilenameUtils.getBaseName((new File(fullPath)).getParent()));
  10. INDArray features = null;
  11. INDArray label = Nd4j.zeros(1, labels.size()).putScalar(new int[]{0, labels.indexOf(labelText)}, 1);
  12. InputStream imageios = fs.open(new Path(fullPath));
  13. features = asMatrix(imageios);
  14. imageios.close();
  15. Nd4j.getAffinityManager().tagLocation(features, AffinityManager.Location.HOST);
  16. dataSets.add(new DataSet(features, label));
  17. }
  18. } catch (Exception e) {
  19. throw new RuntimeException(e.getCause());
  20. } finally {
  21. CommonUtils.closeHdfsConnect(fs);
  22. }
  23. if (dataSets.size() == 0) {
  24. return new DataSet();
  25. } else {
  26. DataSet result = DataSet.merge( dataSets );
  27. return result;
  28. }
  29. }

代码示例来源:origin: deeplearning4j/nd4j

  1. if (isDebug.get())
  2. log.info("Workspace [{}] device_{}, current cycle: {}; max cycle: {}", id,
  3. Nd4j.getAffinityManager().getDeviceForCurrentThread(), cycleAllocations.get(),
  4. maxCycle.get());

代码示例来源:origin: deeplearning4j/nd4j

  1. /**
  2. * Setup the given byte buffer
  3. * for serialization (note that this is for uncompressed INDArrays)
  4. * 4 bytes int for rank
  5. * 4 bytes for data opType
  6. * shape buffer
  7. * data buffer
  8. *
  9. * @param arr the array to setup
  10. * @param allocated the byte buffer to setup
  11. * @param rewind whether to rewind the byte buffer or nt
  12. */
  13. public static void doByteBufferPutUnCompressed(INDArray arr, ByteBuffer allocated, boolean rewind) {
  14. // ensure we send data to host memory
  15. Nd4j.getExecutioner().commit();
  16. Nd4j.getAffinityManager().ensureLocation(arr, AffinityManager.Location.HOST);
  17. ByteBuffer buffer = arr.data().pointer().asByteBuffer().order(ByteOrder.nativeOrder());
  18. ByteBuffer shapeBuffer = arr.shapeInfoDataBuffer().pointer().asByteBuffer().order(ByteOrder.nativeOrder());
  19. //2 four byte ints at the beginning
  20. allocated.putInt(arr.rank());
  21. //put data opType next so its self describing
  22. allocated.putInt(arr.data().dataType().ordinal());
  23. allocated.put(shapeBuffer);
  24. allocated.put(buffer);
  25. if (rewind)
  26. allocated.rewind();
  27. }

代码示例来源:origin: deeplearning4j/nd4j

  1. this.guid = Nd4j.getWorkspaceManager().getUUID();
  2. this.memoryManager = Nd4j.getMemoryManager();
  3. this.deviceId = Nd4j.getAffinityManager().getDeviceForCurrentThread();

代码示例来源:origin: deeplearning4j/dl4j-examples

  1. .workers(Nd4j.getAffinityManager().getNumberOfDevices())

代码示例来源:origin: deeplearning4j/dl4j-examples

  1. .prefetchBuffer(16 * Nd4j.getAffinityManager().getNumberOfDevices())
  2. .reportScoreAfterAveraging(true)
  3. .averagingFrequency(10)
  4. .workers(Nd4j.getAffinityManager().getNumberOfDevices())
  5. .build();

代码示例来源:origin: deeplearning4j/dl4j-examples

  1. .workers(Nd4j.getAffinityManager().getNumberOfDevices())

代码示例来源:origin: org.deeplearning4j/deeplearning4j-parallel-wrapper_2.11

  1. @Override
  2. public Thread newThread(@NotNull Runnable r) {
  3. Thread t = Executors.defaultThreadFactory().newThread(r);
  4. int cThread = workerCounter.getAndIncrement();
  5. t.setName("ParallelWrapper training thread " + cThread);
  6. t.setDaemon(true);
  7. t.setUncaughtExceptionHandler(handler);
  8. Nd4j.getAffinityManager().attachThreadToDevice(t,
  9. cThread % Nd4j.getAffinityManager().getNumberOfDevices());
  10. return t;
  11. }
  12. });

代码示例来源:origin: org.nd4j/nd4j-cuda-7.5

  1. public void init() {
  2. int numDevices = Nd4j.getAffinityManager().getNumberOfDevices();
  3. deviceCachedAmount = new ArrayList<>();
  4. for (int i = 0; i < numDevices; i++) {
  5. deviceCachedAmount.add(new AtomicLong());
  6. }
  7. }

代码示例来源:origin: org.nd4j/nd4j-cuda-10.0

  1. public DeviceTADManager() {
  2. int numDevices = Nd4j.getAffinityManager().getNumberOfDevices();
  3. for (int i = 0; i < numDevices; i++) {
  4. tadCache.add(i, new ConcurrentHashMap<TadDescriptor, Pair<DataBuffer, DataBuffer>>());
  5. }
  6. }

代码示例来源:origin: org.deeplearning4j/deeplearning4j-parallel-wrapper

  1. @Override
  2. public Thread newThread(@NotNull Runnable r) {
  3. Thread t = Executors.defaultThreadFactory().newThread(r);
  4. int cThread = workerCounter.getAndIncrement();
  5. t.setName("ParallelWrapper training thread " + cThread);
  6. t.setDaemon(true);
  7. t.setUncaughtExceptionHandler(handler);
  8. Nd4j.getAffinityManager().attachThreadToDevice(t,
  9. cThread % Nd4j.getAffinityManager().getNumberOfDevices());
  10. return t;
  11. }
  12. });

代码示例来源:origin: org.nd4j/nd4j-cuda-7.5

  1. public EventsProvider() {
  2. int numDev = Nd4j.getAffinityManager().getNumberOfDevices();
  3. for (int i = 0; i < numDev; i++) {
  4. queue.add(new ConcurrentLinkedQueue<cudaEvent_t>());
  5. }
  6. }

代码示例来源:origin: org.deeplearning4j/deeplearning4j-core

  1. public MagicQueue build() {
  2. if (numberOfBuckets < 1)
  3. numberOfBuckets = Nd4j.getAffinityManager().getNumberOfDevices();
  4. MagicQueue queue = new MagicQueue(numberOfBuckets, capacity, type);
  5. queue.mode = this.mode;
  6. return queue;
  7. }
  8. }

代码示例来源:origin: org.nd4j/nd4j-api

  1. /**
  2. * This method returns object local to current deviceId
  3. *
  4. * @return
  5. */
  6. @Nullable
  7. public T get() {
  8. return get(Nd4j.getAffinityManager().getDeviceForCurrentThread());
  9. }

相关文章